', {
class: classes.indicatorSeparator
});
}
}, {
key: "createStepsButtons",
value: function createStepsButtons() {
var _this$getSettings11 = this.getSettings(),
selectors = _this$getSettings11.selectors,
stepsElements = {};
this.injectButtonsToSteps(stepsElements);
stepsElements.$buttonsContainer = this.elements.$stepWrapper.find(selectors.buttons);
stepsElements.$buttonsWrappers = stepsElements.$buttonsContainer.children(selectors.buttonWrapper);
return stepsElements;
}
}, {
key: "injectButtonsToSteps",
value: function injectButtonsToSteps() {
var _this4 = this;
var totalSteps = this.elements.$stepWrapper.length;
this.elements.$stepWrapper.each(function (index, el) {
var $el = jQuery(el),
$container = _this4.getButtonsContainer();
var $nextButton;
if (index) {
$container.append(_this4.getStepButton('previous', index));
$nextButton = index === totalSteps - 1 ? _this4.getSubmitButton() : _this4.getStepButton('next', index);
} else {
$nextButton = _this4.getStepButton('next', index);
}
$container.append($nextButton);
$el.append($container);
});
}
}, {
key: "getButtonsContainer",
value: function getButtonsContainer() {
var _this$getSettings12 = this.getSettings(),
classes = _this$getSettings12.classes,
stepsSettings = this.getElementSettings(),
buttonColumnWidthClasses = [classes.buttons, classes.column, 'elementor-col-' + stepsSettings.button_width];
return jQuery('
', {
class: buttonColumnWidthClasses.join(' ')
});
}
}, {
key: "extractResponsiveSizeFromSubmitWrapper",
value: function extractResponsiveSizeFromSubmitWrapper() {
var sizeClasses = [];
this.elements.$submitWrapper.removeClass(function (index, className) {
var _className$match;
sizeClasses = (_className$match = className.match(/elementor-(sm|md)-[0-9]+/g)) === null || _className$match === void 0 ? void 0 : _className$match.join(' ');
return sizeClasses;
});
this.elements.$buttonsContainer.addClass(sizeClasses);
}
}, {
key: "getStepButton",
value: function getStepButton(buttonType, index) {
var _this5 = this;
var _this$getSettings13 = this.getSettings(),
classes = _this$getSettings13.classes,
$button = this.getButton(buttonType, index).on('click', function () {
return _this5.applyStep(buttonType);
}),
buttonWrapperClasses = [classes.fieldGroup, classes.buttonWrapper, 'elementor-field-type-' + buttonType];
return jQuery('
', {
class: buttonWrapperClasses.join(' ')
}).append($button);
}
}, {
key: "getSubmitButton",
value: function getSubmitButton() {
var _this6 = this;
var _this$getSettings14 = this.getSettings(),
classes = _this$getSettings14.classes;
this.elements.$submitButton.addClass(classes.button); // TODO: When a solution for the conditions will be found, check if can remove the elementor-col-x manipulation.
return this.elements.$submitWrapper.attr('class', function (index, className) {
return _this6.replaceClassNameColSize(className, '');
}).removeClass(classes.column).removeClass(classes.buttons).addClass(classes.buttonWrapper);
}
}, {
key: "replaceClassNameColSize",
value: function replaceClassNameColSize(className, value) {
return className.replace(/elementor-col-([0-9]+)/g, value);
}
}, {
key: "getButton",
value: function getButton(buttonType, index) {
var _this$getSettings15 = this.getSettings(),
classes = _this$getSettings15.classes,
submitSizeClass = this.elements.$submitButton.attr('class').match(/elementor-size-([^\W\d]+)/g),
buttonClasses = [classes.elementorButton, submitSizeClass, classes.button, classes.button + '-' + buttonType];
return jQuery('