Ubuntu

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ /*! elementor-pro - v3.2.1 - 21-03-2021 */ (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["form"],{ /***/ "../node_modules/@babel/runtime-corejs2/core-js/parse-int.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/parse-int.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/parse-int */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/fn/parse-int.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/fn/parse-int.js": /*!*******************************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/fn/parse-int.js ***! \*******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! ../modules/es6.parse-int */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/es6.parse-int.js"); module.exports = __webpack_require__(/*! ../modules/_core */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_core.js").parseInt; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_parse-int.js": /*!*************************************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_parse-int.js ***! \*************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var $parseInt = __webpack_require__(/*! ./_global */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_global.js").parseInt; var $trim = __webpack_require__(/*! ./_string-trim */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_string-trim.js").trim; var ws = __webpack_require__(/*! ./_string-ws */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_string-ws.js"); var hex = /^[-+]?0[xX]/; module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { var string = $trim(String(str), 3); return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); } : $parseInt; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_string-trim.js": /*!***************************************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_string-trim.js ***! \***************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var $export = __webpack_require__(/*! ./_export */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_export.js"); var defined = __webpack_require__(/*! ./_defined */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_defined.js"); var fails = __webpack_require__(/*! ./_fails */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_fails.js"); var spaces = __webpack_require__(/*! ./_string-ws */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_string-ws.js"); var space = '[' + spaces + ']'; var non = '\u200b\u0085'; var ltrim = RegExp('^' + space + space + '*'); var rtrim = RegExp(space + space + '*$'); var exporter = function (KEY, exec, ALIAS) { var exp = {}; var FORCE = fails(function () { return !!spaces[KEY]() || non[KEY]() != non; }); var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; if (ALIAS) exp[ALIAS] = fn; $export($export.P + $export.F * FORCE, 'String', exp); }; // 1 -> String#trimLeft // 2 -> String#trimRight // 3 -> String#trim var trim = exporter.trim = function (string, TYPE) { string = String(defined(string)); if (TYPE & 1) string = string.replace(ltrim, ''); if (TYPE & 2) string = string.replace(rtrim, ''); return string; }; module.exports = exporter; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_string-ws.js": /*!*************************************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_string-ws.js ***! \*************************************************************************************************/ /***/ ((module) => { module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/es6.parse-int.js": /*!****************************************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/es6.parse-int.js ***! \****************************************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { var $export = __webpack_require__(/*! ./_export */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_export.js"); var $parseInt = __webpack_require__(/*! ./_parse-int */ "../node_modules/@babel/runtime-corejs2/node_modules/core-js/library/modules/_parse-int.js"); // 18.2.5 parseInt(string, radix) $export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); /***/ }), /***/ "../modules/forms/assets/js/frontend/handlers/fields/data-time-field-base.js": /*!***********************************************************************************!*\ !*** ../modules/forms/assets/js/frontend/handlers/fields/data-time-field-base.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(/*! core-js/modules/es6.array.find */ "../node_modules/core-js/modules/es6.array.find.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _get3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/get */ "../node_modules/@babel/runtime-corejs2/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/getPrototypeOf */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var DataTimeFieldBase = /*#__PURE__*/function (_elementorModules$fro) { (0, _inherits2.default)(DataTimeFieldBase, _elementorModules$fro); var _super = (0, _createSuper2.default)(DataTimeFieldBase); function DataTimeFieldBase() { (0, _classCallCheck2.default)(this, DataTimeFieldBase); return _super.apply(this, arguments); } (0, _createClass2.default)(DataTimeFieldBase, [{ key: "getDefaultSettings", value: function getDefaultSettings() { return { selectors: { fields: this.getFieldsSelector() }, classes: { useNative: 'elementor-use-native' } }; } }, { key: "getDefaultElements", value: function getDefaultElements() { var _this$getDefaultSetti = this.getDefaultSettings(), selectors = _this$getDefaultSetti.selectors; return { $fields: this.$element.find(selectors.fields) }; } }, { key: "addPicker", value: function addPicker(element) { var _this$getDefaultSetti2 = this.getDefaultSettings(), classes = _this$getDefaultSetti2.classes, $element = jQuery(element); if ($element.hasClass(classes.useNative)) { return; } element.flatpickr(this.getPickerOptions(element)); } }, { key: "onInit", value: function onInit() { var _get2, _this = this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } (_get2 = (0, _get3.default)((0, _getPrototypeOf2.default)(DataTimeFieldBase.prototype), "onInit", this)).call.apply(_get2, [this].concat(args)); this.elements.$fields.each(function (index, element) { return _this.addPicker(element); }); } }]); return DataTimeFieldBase; }(elementorModules.frontend.handlers.Base); exports.default = DataTimeFieldBase; /***/ }), /***/ "../modules/forms/assets/js/frontend/handlers/fields/date.js": /*!*******************************************************************!*\ !*** ../modules/forms/assets/js/frontend/handlers/fields/date.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _dataTimeFieldBase = _interopRequireDefault(__webpack_require__(/*! ./data-time-field-base */ "../modules/forms/assets/js/frontend/handlers/fields/data-time-field-base.js")); var DateField = /*#__PURE__*/function (_FieldBase) { (0, _inherits2.default)(DateField, _FieldBase); var _super = (0, _createSuper2.default)(DateField); function DateField() { (0, _classCallCheck2.default)(this, DateField); return _super.apply(this, arguments); } (0, _createClass2.default)(DateField, [{ key: "getFieldsSelector", value: function getFieldsSelector() { return '.elementor-date-field'; } }, { key: "getPickerOptions", value: function getPickerOptions(element) { var $element = jQuery(element); return { minDate: $element.attr('min') || null, maxDate: $element.attr('max') || null, allowInput: true }; } }]); return DateField; }(_dataTimeFieldBase.default); exports.default = DateField; /***/ }), /***/ "../modules/forms/assets/js/frontend/handlers/fields/time.js": /*!*******************************************************************!*\ !*** ../modules/forms/assets/js/frontend/handlers/fields/time.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _dataTimeFieldBase = _interopRequireDefault(__webpack_require__(/*! ./data-time-field-base */ "../modules/forms/assets/js/frontend/handlers/fields/data-time-field-base.js")); var TimeField = /*#__PURE__*/function (_FieldBase) { (0, _inherits2.default)(TimeField, _FieldBase); var _super = (0, _createSuper2.default)(TimeField); function TimeField() { (0, _classCallCheck2.default)(this, TimeField); return _super.apply(this, arguments); } (0, _createClass2.default)(TimeField, [{ key: "getFieldsSelector", value: function getFieldsSelector() { return '.elementor-time-field'; } }, { key: "getPickerOptions", value: function getPickerOptions() { return { noCalendar: true, enableTime: true, allowInput: true }; } }]); return TimeField; }(_dataTimeFieldBase.default); exports.default = TimeField; /***/ }), /***/ "../modules/forms/assets/js/frontend/handlers/form-redirect.js": /*!*********************************************************************!*\ !*** ../modules/forms/assets/js/frontend/handlers/form-redirect.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(/*! core-js/modules/es6.array.find */ "../node_modules/core-js/modules/es6.array.find.js"); var _default = elementorModules.frontend.handlers.Base.extend({ getDefaultSettings: function getDefaultSettings() { return { selectors: { form: '.elementor-form' } }; }, getDefaultElements: function getDefaultElements() { var selectors = this.getSettings('selectors'), elements = {}; elements.$form = this.$element.find(selectors.form); return elements; }, bindEvents: function bindEvents() { this.elements.$form.on('form_destruct', this.handleSubmit); }, handleSubmit: function handleSubmit(event, response) { if ('undefined' !== typeof response.data.redirect_url) { location.href = response.data.redirect_url; } } }); exports.default = _default; /***/ }), /***/ "../modules/forms/assets/js/frontend/handlers/form-sender.js": /*!*******************************************************************!*\ !*** ../modules/forms/assets/js/frontend/handlers/form-sender.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(/*! core-js/modules/es6.regexp.to-string */ "../node_modules/core-js/modules/es6.regexp.to-string.js"); __webpack_require__(/*! core-js/modules/es6.object.to-string */ "../node_modules/core-js/modules/es6.object.to-string.js"); var _parseInt2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/parse-int */ "../node_modules/@babel/runtime-corejs2/core-js/parse-int.js")); __webpack_require__(/*! core-js/modules/es6.array.find */ "../node_modules/core-js/modules/es6.array.find.js"); var _default = elementorModules.frontend.handlers.Base.extend({ getDefaultSettings: function getDefaultSettings() { return { selectors: { form: '.elementor-form', submitButton: '[type="submit"]' }, action: 'elementor_pro_forms_send_form', ajaxUrl: elementorProFrontend.config.ajaxurl }; }, getDefaultElements: function getDefaultElements() { var selectors = this.getSettings('selectors'), elements = {}; elements.$form = this.$element.find(selectors.form); elements.$submitButton = elements.$form.find(selectors.submitButton); return elements; }, bindEvents: function bindEvents() { this.elements.$form.on('submit', this.handleSubmit); var $fileInput = this.elements.$form.find('input[type=file]'); if ($fileInput.length) { $fileInput.on('change', this.validateFileSize); } }, validateFileSize: function validateFileSize(event) { var _this = this; var $field = jQuery(event.currentTarget), files = $field[0].files; if (!files.length) { return; } var maxSize = (0, _parseInt2.default)($field.attr('data-maxsize')) * 1024 * 1024, maxSizeMessage = $field.attr('data-maxsize-message'); var filesArray = Array.prototype.slice.call(files); filesArray.forEach(function (file) { if (maxSize < file.size) { $field.parent().addClass('elementor-error').append('' + maxSizeMessage + '').find(':input').attr('aria-invalid', 'true'); _this.elements.$form.trigger('error'); } }); }, beforeSend: function beforeSend() { var $form = this.elements.$form; $form.animate({ opacity: '0.45' }, 500).addClass('elementor-form-waiting'); $form.find('.elementor-message').remove(); $form.find('.elementor-error').removeClass('elementor-error'); $form.find('div.elementor-field-group').removeClass('error').find('span.elementor-form-help-inline').remove().end().find(':input').attr('aria-invalid', 'false'); this.elements.$submitButton.attr('disabled', 'disabled').find('> span').prepend(' '); }, getFormData: function getFormData() { var formData = new FormData(this.elements.$form[0]); formData.append('action', this.getSettings('action')); formData.append('referrer', location.toString()); return formData; }, onSuccess: function onSuccess(response) { var $form = this.elements.$form; this.elements.$submitButton.removeAttr('disabled').find('.elementor-form-spinner').remove(); $form.animate({ opacity: '1' }, 100).removeClass('elementor-form-waiting'); if (!response.success) { if (response.data.errors) { jQuery.each(response.data.errors, function (key, title) { $form.find('#form-field-' + key).parent().addClass('elementor-error').append('' + title + '').find(':input').attr('aria-invalid', 'true'); }); $form.trigger('error'); } $form.append(''); } else { $form.trigger('submit_success', response.data); // For actions like redirect page $form.trigger('form_destruct', response.data); $form.trigger('reset'); if ('undefined' !== typeof response.data.message && '' !== response.data.message) { $form.append(''); } } }, onError: function onError(xhr, desc) { var $form = this.elements.$form; $form.append(''); this.elements.$submitButton.html(this.elements.$submitButton.text()).removeAttr('disabled'); $form.animate({ opacity: '1' }, 100).removeClass('elementor-form-waiting'); $form.trigger('error'); }, handleSubmit: function handleSubmit(event) { var self = this, $form = this.elements.$form; event.preventDefault(); if ($form.hasClass('elementor-form-waiting')) { return false; } this.beforeSend(); jQuery.ajax({ url: self.getSettings('ajaxUrl'), type: 'POST', dataType: 'json', data: self.getFormData(), processData: false, contentType: false, success: self.onSuccess, error: self.onError }); } }); exports.default = _default; /***/ }), /***/ "../modules/forms/assets/js/frontend/handlers/form-steps.js": /*!******************************************************************!*\ !*** ../modules/forms/assets/js/frontend/handlers/form-steps.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(/*! core-js/modules/es6.regexp.replace */ "../node_modules/core-js/modules/es6.regexp.replace.js"); __webpack_require__(/*! core-js/modules/es6.regexp.match */ "../node_modules/core-js/modules/es6.regexp.match.js"); __webpack_require__(/*! core-js/modules/es7.array.includes */ "../node_modules/core-js/modules/es7.array.includes.js"); __webpack_require__(/*! core-js/modules/es6.string.includes */ "../node_modules/core-js/modules/es6.string.includes.js"); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/objectSpread2 */ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js")); __webpack_require__(/*! core-js/modules/es6.array.find */ "../node_modules/core-js/modules/es6.array.find.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _get3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/get */ "../node_modules/@babel/runtime-corejs2/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/getPrototypeOf */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var FormSteps = /*#__PURE__*/function (_elementorModules$fro) { (0, _inherits2.default)(FormSteps, _elementorModules$fro); var _super = (0, _createSuper2.default)(FormSteps); function FormSteps() { (0, _classCallCheck2.default)(this, FormSteps); return _super.apply(this, arguments); } (0, _createClass2.default)(FormSteps, [{ key: "getDefaultSettings", value: function getDefaultSettings() { return { selectors: { form: '.elementor-form', fieldsWrapper: '.elementor-form-fields-wrapper', fieldGroup: '.elementor-field-group', stepWrapper: '.elementor-field-type-step', stepField: '.e-field-step', submitWrapper: '.elementor-field-type-submit', submitButton: '[type="submit"]', buttons: '.e-form__buttons', buttonWrapper: '.e-form__buttons__wrapper', button: '.e-form__buttons__wrapper__button', indicator: '.e-form__indicators__indicator', indicatorProgress: '.e-form__indicators__indicator__progress', indicatorProgressMeter: '.e-form__indicators__indicator__progress__meter', formHelpInline: '.elementor-form-help-inline' }, classes: { hidden: 'elementor-hidden', column: 'elementor-column', fieldGroup: 'elementor-field-group', elementorButton: 'elementor-button', step: 'e-form__step', buttons: 'e-form__buttons', buttonWrapper: 'e-form__buttons__wrapper', button: 'e-form__buttons__wrapper__button', indicators: 'e-form__indicators', indicator: 'e-form__indicators__indicator', indicatorIcon: 'e-form__indicators__indicator__icon', indicatorNumber: 'e-form__indicators__indicator__number', indicatorLabel: 'e-form__indicators__indicator__label', indicatorProgress: 'e-form__indicators__indicator__progress', indicatorProgressMeter: 'e-form__indicators__indicator__progress__meter', indicatorSeparator: 'e-form__indicators__indicator__separator', indicatorInactive: 'e-form__indicators__indicator--state-inactive', indicatorActive: 'e-form__indicators__indicator--state-active', indicatorCompleted: 'e-form__indicators__indicator--state-completed', indicatorShapeCircle: 'e-form__indicators__indicator--shape-circle', indicatorShapeSquare: 'e-form__indicators__indicator--shape-square', indicatorShapeRounded: 'e-form__indicators__indicator--shape-rounded', indicatorShapeNone: 'e-form__indicators__indicator--shape-none' } }; } }, { key: "getDefaultElements", value: function getDefaultElements() { var _this$getSettings = this.getSettings(), selectors = _this$getSettings.selectors, elements = { $form: this.$element.find(selectors.form) }; elements.$fieldsWrapper = elements.$form.children(selectors.fieldsWrapper); elements.$stepWrapper = elements.$fieldsWrapper.children(selectors.stepWrapper); elements.$stepField = elements.$stepWrapper.children(selectors.stepField); elements.$fieldGroup = elements.$fieldsWrapper.children(selectors.fieldGroup); elements.$submitWrapper = elements.$fieldsWrapper.children(selectors.submitWrapper); elements.$submitButton = elements.$submitWrapper.children(selectors.submitButton); return elements; } }, { key: "onInit", value: function onInit() { var _get2; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } (_get2 = (0, _get3.default)((0, _getPrototypeOf2.default)(FormSteps.prototype), "onInit", this)).call.apply(_get2, [this].concat(args)); if (!this.isStepsExist()) { return; } this.data = { steps: [] }; this.state = { currentStep: 0, stepsType: '', stepsShape: '' }; this.buildSteps(); this.elements = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.elements), this.createStepsIndicators()), this.createStepsButtons()); this.initProgressBar(); this.extractResponsiveSizeFromSubmitWrapper(); } }, { key: "bindEvents", value: function bindEvents() { var _this = this; if (!this.isStepsExist()) { return; } this.elements.$form.on({ submit: function submit() { return _this.resetForm(); }, keydown: function keydown(e) { if (13 === e.keyCode && !_this.isLastStep() && 'textarea' !== e.target.localName) { e.preventDefault(); _this.applyStep('next'); } }, error: function error() { return _this.onFormError(); } }); } }, { key: "isStepsExist", value: function isStepsExist() { return this.elements.$stepWrapper.length; } }, { key: "initProgressBar", value: function initProgressBar() { var stepsSettings = this.getElementSettings(); if ('progress_bar' === stepsSettings.step_type) { this.setProgressBar(); } } }, { key: "buildSteps", value: function buildSteps() { var _this2 = this; this.elements.$stepWrapper.each(function (index, el) { var _this2$getSettings = _this2.getSettings(), selectors = _this2$getSettings.selectors, classes = _this2$getSettings.classes, $currentStep = jQuery(el); $currentStep.addClass(classes.step).removeClass(classes.fieldGroup, classes.column); if (index) { $currentStep.addClass(classes.hidden); } _this2.setStepData($currentStep.children(selectors.stepField)); $currentStep.append($currentStep.nextUntil(_this2.elements.$stepWrapper).not(_this2.elements.$submitWrapper)); }); } }, { key: "setStepData", value: function setStepData($stepElement) { var dataAttributes = ['label', 'previousButton', 'nextButton', 'iconUrl', 'iconLibrary'], stepData = {}; dataAttributes.forEach(function (attr) { var attrValue = $stepElement.attr('data-' + attr); if (attrValue) { stepData[attr] = attrValue; } }); this.data.steps.push(stepData); } }, { key: "createStepsIndicators", value: function createStepsIndicators() { var stepsSettings = this.getElementSettings(), stepsElements = {}; if ('none' !== stepsSettings.step_type) { var _this$getSettings2 = this.getSettings(), selectors = _this$getSettings2.selectors, classes = _this$getSettings2.classes, indicatorsTypeClass = classes.indicators + '--type-' + stepsSettings.step_type, indicatorsClasses = [classes.indicators, indicatorsTypeClass]; stepsElements.$indicatorsWrapper = jQuery('
', { class: indicatorsClasses.join(' ') }); stepsElements.$indicatorsWrapper.append(this.buildIndicators()); this.elements.$fieldsWrapper.before(stepsElements.$indicatorsWrapper); if ('progress_bar' === stepsSettings.step_type) { stepsElements.$progressBar = stepsElements.$indicatorsWrapper.find(selectors.indicatorProgress); stepsElements.$progressBarMeter = stepsElements.$indicatorsWrapper.find(selectors.indicatorProgressMeter); } else { stepsElements.$indicators = stepsElements.$indicatorsWrapper.find(selectors.indicator); stepsElements.$currentIndicator = stepsElements.$indicators.eq(this.state.currentStep); } } this.saveIndicatorsState(); return stepsElements; } }, { key: "buildIndicators", value: function buildIndicators() { var stepsSettings = this.getElementSettings(); return 'progress_bar' === stepsSettings.step_type ? this.buildProgressBar() : this.buildIndicatorsFromStepsData(); } }, { key: "buildProgressBar", value: function buildProgressBar() { var _this$getSettings3 = this.getSettings(), classes = _this$getSettings3.classes, $progressBar = jQuery('
', { class: classes.indicatorProgress }), $progressBarMeter = jQuery('
', { class: classes.indicatorProgressMeter }); $progressBar.append($progressBarMeter); return $progressBar; } }, { key: "getProgressBarValue", value: function getProgressBarValue() { var totalSteps = this.data.steps.length, currentStep = this.state.currentStep, percentage = currentStep ? (currentStep + 1) / totalSteps * 100 : 100 / totalSteps; return Math.floor(percentage) + '%'; } }, { key: "setProgressBar", value: function setProgressBar() { var progressBarValue = this.getProgressBarValue(); this.updateProgressMeterCSSVariable(progressBarValue); this.elements.$progressBarMeter.text(progressBarValue); } }, { key: "updateProgressMeterCSSVariable", value: function updateProgressMeterCSSVariable(value) { this.$element[0].style.setProperty('--e-form-steps-indicator-progress-meter-width', value); } }, { key: "saveIndicatorsState", value: function saveIndicatorsState() { var stepsSettings = this.getElementSettings(); this.state.stepsType = stepsSettings.step_type; if (!['none', 'text', 'progress_bar'].includes(stepsSettings.step_type)) { this.state.stepsShape = stepsSettings.step_icon_shape; } } }, { key: "buildIndicatorsFromStepsData", value: function buildIndicatorsFromStepsData() { var _this3 = this; var indicators = []; this.data.steps.forEach(function (stepObj, index) { if (index) { indicators.push(_this3.getStepSeparator()); } indicators.push(_this3.getStepIndicatorElement(stepObj, index)); }); return indicators; } }, { key: "getStepIndicatorElement", value: function getStepIndicatorElement(stepObj, index) { var _this$getSettings4 = this.getSettings(), classes = _this$getSettings4.classes, stepsSettings = this.getElementSettings(), indicatorStateClass = this.getIndicatorStateClass(index), indicatorClasses = [classes.indicator, indicatorStateClass], $stepIndicator = jQuery('
', { class: indicatorClasses.join(' ') }); if (stepsSettings.step_type.includes('icon')) { $stepIndicator.append(this.getStepIconElement(stepObj)); } if (stepsSettings.step_type.includes('number')) { $stepIndicator.append(this.getStepNumberElement(index)); } if (stepsSettings.step_type.includes('text')) { $stepIndicator.append(this.getStepLabelElement(stepObj.label)); } return $stepIndicator; } }, { key: "getIndicatorStateClass", value: function getIndicatorStateClass(index) { var _this$getSettings5 = this.getSettings(), classes = _this$getSettings5.classes; if (index < this.state.currentStep) { return classes.indicatorCompleted; } else if (index > this.state.currentStep) { return classes.indicatorInactive; } return classes.indicatorActive; } }, { key: "getIndicatorShapeClass", value: function getIndicatorShapeClass() { var stepsSettings = this.getElementSettings(), _this$getSettings6 = this.getSettings(), classes = _this$getSettings6.classes; return classes['indicatorShape' + this.firstLetterToUppercase(stepsSettings.step_icon_shape)]; } }, { key: "firstLetterToUppercase", value: function firstLetterToUppercase(str) { return str.charAt(0).toUpperCase() + str.slice(1); } }, { key: "getStepNumberElement", value: function getStepNumberElement(index) { var _this$getSettings7 = this.getSettings(), classes = _this$getSettings7.classes, numberClasses = [classes.indicatorNumber, this.getIndicatorShapeClass()]; return jQuery('
', { class: numberClasses.join(' '), text: index + 1 }); } }, { key: "getStepIconElement", value: function getStepIconElement(stepObj) { var _this$getSettings8 = this.getSettings(), classes = _this$getSettings8.classes, iconClasses = [classes.indicatorIcon, this.getIndicatorShapeClass()], $icon = jQuery('
', { class: iconClasses.join(' ') }), iconType = stepObj.iconLibrary ? '' : '', iconAttrObj = stepObj.iconLibrary ? { class: stepObj.iconLibrary } : { src: stepObj.iconUrl }; $icon.append(jQuery(iconType, iconAttrObj)); return $icon; } }, { key: "getStepLabelElement", value: function getStepLabelElement(label) { var _this$getSettings9 = this.getSettings(), classes = _this$getSettings9.classes; return jQuery('