merchi_checkout
Version:
Merchi's custom checkout step form
49 lines (48 loc) • 6.43 kB
JavaScript
'use client';
import React from 'react';
import { useMerchiCheckboutContext } from '../MerchiCheckoutProvider';
import { CgSpinner } from 'react-icons/cg';
import { FaArrowRight } from 'react-icons/fa';
import { jsx as _jsx } from "react/jsx-runtime";
import { jsxs as _jsxs } from "react/jsx-runtime";
function ButtonNext(_ref) {
var _ref$buttonText = _ref.buttonText,
buttonText = _ref$buttonText === void 0 ? 'Next' : _ref$buttonText,
formId = _ref.formId,
forceDisabled = _ref.forceDisabled,
loading = _ref.loading,
onClick = _ref.onClick;
var _useMerchiCheckboutCo = useMerchiCheckboutContext(),
activeTabIndex = _useMerchiCheckboutCo.activeTabIndex,
classNameMerchiCheckoutButtonPrimary = _useMerchiCheckboutCo.classNameMerchiCheckoutButtonPrimary,
next = _useMerchiCheckboutCo.nextTab,
tabs = _useMerchiCheckboutCo.tabs;
var nextTab = tabs[(activeTabIndex || 0) + 1];
var handleButtonClick = onClick ? onClick : next;
var disabled = nextTab && nextTab.disabled;
if (![null, undefined].includes(forceDisabled)) {
disabled = forceDisabled;
}
return /*#__PURE__*/_jsxs("button", {
type: formId ? 'submit' : 'button' // Set type to "submit" if formId is provided
,
form: formId // Associate this button with the form using formId
,
className: classNameMerchiCheckoutButtonPrimary + ' btn-lg',
disabled: disabled || loading,
onClick: !formId ? handleButtonClick : undefined,
children: [/*#__PURE__*/_jsx("span", {
style: {
marginRight: '0.5rem'
},
children: buttonText
}), loading ? /*#__PURE__*/_jsx(CgSpinner, {
fontSize: "1.1rem",
className: "animate_spin"
}) : /*#__PURE__*/_jsx(FaArrowRight, {
fontSize: "1.1rem"
})]
});
}
export default ButtonNext;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQiLCJDZ1NwaW5uZXIiLCJGYUFycm93UmlnaHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQnV0dG9uTmV4dCIsIl9yZWYiLCJfcmVmJGJ1dHRvblRleHQiLCJidXR0b25UZXh0IiwiZm9ybUlkIiwiZm9yY2VEaXNhYmxlZCIsImxvYWRpbmciLCJvbkNsaWNrIiwiX3VzZU1lcmNoaUNoZWNrYm91dENvIiwiYWN0aXZlVGFiSW5kZXgiLCJjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvblByaW1hcnkiLCJuZXh0IiwibmV4dFRhYiIsInRhYnMiLCJoYW5kbGVCdXR0b25DbGljayIsImRpc2FibGVkIiwidW5kZWZpbmVkIiwiaW5jbHVkZXMiLCJ0eXBlIiwiZm9ybSIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwic3R5bGUiLCJtYXJnaW5SaWdodCIsImZvbnRTaXplIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYnV0dG9ucy9CdXR0b25OZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCB9IGZyb20gJy4uL01lcmNoaUNoZWNrb3V0UHJvdmlkZXInO1xuaW1wb3J0IHsgQ2dTcGlubmVyIH0gZnJvbSAncmVhY3QtaWNvbnMvY2cnO1xuaW1wb3J0IHsgRmFBcnJvd1JpZ2h0IH0gZnJvbSAncmVhY3QtaWNvbnMvZmEnO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBidXR0b25UZXh0Pzogc3RyaW5nO1xuICBmb3JtSWQ/OiBzdHJpbmc7XG4gIGZvcmNlRGlzYWJsZWQ/OiBib29sZWFuO1xuICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgb25DbGljaz86ICgpID0+IHZvaWQ7XG59XG5cbmZ1bmN0aW9uIEJ1dHRvbk5leHQoeyBidXR0b25UZXh0ID0gJ05leHQnLCBmb3JtSWQsIGZvcmNlRGlzYWJsZWQsIGxvYWRpbmcsIG9uQ2xpY2sgfTogUHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIGFjdGl2ZVRhYkluZGV4LFxuICAgIGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0QnV0dG9uUHJpbWFyeSxcbiAgICBuZXh0VGFiOiBuZXh0LFxuICAgIHRhYnMsXG4gIH0gPSB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0KCk7XG5cbiAgY29uc3QgbmV4dFRhYiA9IHRhYnNbKGFjdGl2ZVRhYkluZGV4IHx8IDApICsgMV07XG5cbiAgY29uc3QgaGFuZGxlQnV0dG9uQ2xpY2sgPSBvbkNsaWNrID8gb25DbGljayA6IG5leHQ7XG4gIGxldCBkaXNhYmxlZCA9IG5leHRUYWIgJiYgbmV4dFRhYi5kaXNhYmxlZDtcbiAgaWYgKCFbbnVsbCwgdW5kZWZpbmVkXS5pbmNsdWRlcyhmb3JjZURpc2FibGVkIGFzIGFueSkpIHtcbiAgICBkaXNhYmxlZCA9IGZvcmNlRGlzYWJsZWQgYXMgYm9vbGVhbjtcbiAgfVxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9e2Zvcm1JZCA/ICdzdWJtaXQnIDogJ2J1dHRvbid9IC8vIFNldCB0eXBlIHRvIFwic3VibWl0XCIgaWYgZm9ybUlkIGlzIHByb3ZpZGVkXG4gICAgICBmb3JtPXtmb3JtSWR9IC8vIEFzc29jaWF0ZSB0aGlzIGJ1dHRvbiB3aXRoIHRoZSBmb3JtIHVzaW5nIGZvcm1JZFxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVNZXJjaGlDaGVja291dEJ1dHRvblByaW1hcnkgKyAnIGJ0bi1sZyd9XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgfHwgbG9hZGluZ31cbiAgICAgIG9uQ2xpY2s9eyFmb3JtSWQgPyBoYW5kbGVCdXR0b25DbGljayA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICA8c3BhbiBzdHlsZT17eyBtYXJnaW5SaWdodDogJzAuNXJlbScgfX0+e2J1dHRvblRleHR9PC9zcGFuPlxuICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgIDxDZ1NwaW5uZXIgZm9udFNpemU9JzEuMXJlbScgY2xhc3NOYW1lPSdhbmltYXRlX3NwaW4nIC8+XG4gICAgICApIDogKFxuICAgICAgICA8RmFBcnJvd1JpZ2h0IGZvbnRTaXplPScxLjFyZW0nIC8+XG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBCdXR0b25OZXh0O1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUNaLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVNDLHlCQUF5QixRQUFRLDJCQUEyQjtBQUNyRSxTQUFTQyxTQUFTLFFBQVEsZ0JBQWdCO0FBQzFDLFNBQVNDLFlBQVksUUFBUSxnQkFBZ0I7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFBQSxTQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFVOUMsU0FBU0MsVUFBVUEsQ0FBQUMsSUFBQSxFQUEwRTtFQUFBLElBQUFDLGVBQUEsR0FBQUQsSUFBQSxDQUF2RUUsVUFBVTtJQUFWQSxVQUFVLEdBQUFELGVBQUEsY0FBRyxNQUFNLEdBQUFBLGVBQUE7SUFBRUUsTUFBTSxHQUFBSCxJQUFBLENBQU5HLE1BQU07SUFBRUMsYUFBYSxHQUFBSixJQUFBLENBQWJJLGFBQWE7SUFBRUMsT0FBTyxHQUFBTCxJQUFBLENBQVBLLE9BQU87SUFBRUMsT0FBTyxHQUFBTixJQUFBLENBQVBNLE9BQU87RUFDaEYsSUFBQUMscUJBQUEsR0FLSWYseUJBQXlCLENBQUMsQ0FBQztJQUo3QmdCLGNBQWMsR0FBQUQscUJBQUEsQ0FBZEMsY0FBYztJQUNkQyxvQ0FBb0MsR0FBQUYscUJBQUEsQ0FBcENFLG9DQUFvQztJQUMzQkMsSUFBSSxHQUFBSCxxQkFBQSxDQUFiSSxPQUFPO0lBQ1BDLElBQUksR0FBQUwscUJBQUEsQ0FBSkssSUFBSTtFQUdOLElBQU1ELE9BQU8sR0FBR0MsSUFBSSxDQUFDLENBQUNKLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0VBRS9DLElBQU1LLGlCQUFpQixHQUFHUCxPQUFPLEdBQUdBLE9BQU8sR0FBR0ksSUFBSTtFQUNsRCxJQUFJSSxRQUFRLEdBQUdILE9BQU8sSUFBSUEsT0FBTyxDQUFDRyxRQUFRO0VBQzFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRUMsU0FBUyxDQUFDLENBQUNDLFFBQVEsQ0FBQ1osYUFBb0IsQ0FBQyxFQUFFO0lBQ3JEVSxRQUFRLEdBQUdWLGFBQXdCO0VBQ3JDO0VBQ0Esb0JBQ0VOLEtBQUE7SUFDRW1CLElBQUksRUFBRWQsTUFBTSxHQUFHLFFBQVEsR0FBRyxRQUFTLENBQUM7SUFBQTtJQUNwQ2UsSUFBSSxFQUFFZixNQUFPLENBQUM7SUFBQTtJQUNkZ0IsU0FBUyxFQUFFVixvQ0FBb0MsR0FBRyxTQUFVO0lBQzVESyxRQUFRLEVBQUVBLFFBQVEsSUFBSVQsT0FBUTtJQUM5QkMsT0FBTyxFQUFFLENBQUNILE1BQU0sR0FBR1UsaUJBQWlCLEdBQUdFLFNBQVU7SUFBQUssUUFBQSxnQkFFakR4QixJQUFBO01BQU15QixLQUFLLEVBQUU7UUFBRUMsV0FBVyxFQUFFO01BQVMsQ0FBRTtNQUFBRixRQUFBLEVBQUVsQjtJQUFVLENBQU8sQ0FBQyxFQUMxREcsT0FBTyxnQkFDTlQsSUFBQSxDQUFDSCxTQUFTO01BQUM4QixRQUFRLEVBQUMsUUFBUTtNQUFDSixTQUFTLEVBQUM7SUFBYyxDQUFFLENBQUMsZ0JBRXhEdkIsSUFBQSxDQUFDRixZQUFZO01BQUM2QixRQUFRLEVBQUM7SUFBUSxDQUFFLENBQ2xDO0VBQUEsQ0FDSyxDQUFDO0FBRWI7QUFFQSxlQUFleEIsVUFBVSJ9