1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5828],{5828:function(r,t,e){var o=e(1132),a=e(4692),i=e.n(a);t.default=class extends o.xI{static targets=["productError"];static values={maxProductByOrder:Number,errorMessage:String};static EMAIL_REGEX=/^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i;connect(){let r=new Map;i()(".validators").each(function(){r.set(i()(this).data("element"),{optionaladdress:i()(this).data("optionaladdress"),[i()(this).data("validate").toString()]:i()(this).data("message")})}),this.onsubmitValidator(r),this.onfocusValidator(r),this.scrollToError()}onsubmitValidator(r){let t=this;i()("#form_order_model").submit(function(e){i()(".error").removeClass("error");for(let[a,u]of r){const r=t.validateField(a,u);if(null!==r?(t.showError(a,r),e.preventDefault()):t.clearError(a),void 0!==u.quantityNotEmpty){var o=!0;i()(a).each(function(){i()(this).val()>0&&(o=!1)}),o&&(t.productErrorTarget.innerHTML='<div class="form-group error alert alert-danger">'+u.quantityNotEmpty+"</div>")}}i()("input[data-email-error]").each(function(){const r=i()(this).val().trim(),o=i()(this).data("email-error");""===r||r.match(t.constructor.EMAIL_REGEX)||(t.showError(this,o),e.preventDefault())}),t.scrollToError()})}onfocusValidator(r){let t=this;i()("body").on("focusout","input[data-email-error]",function(){const r=i()(this).val().trim(),e=i()(this).data("email-error");""===r||r.match(t.constructor.EMAIL_REGEX)?t.clearError(this):t.showError(this,e)});for(let[e,o]of r)t.hasValidationRule(o)&&i()(e).on("focusout",function(r){const a=t.validateField(e,o);null!==a?t.showError(e,a):t.clearError(e)})}hideError(){this.productErrorTarget.innerHTML=""}static FOCUSOUT_RULES=["notBlank","length225","regexName","regexMail"];hasValidationRule(r){return this.constructor.FOCUSOUT_RULES.some(t=>void 0!==r[t])}validateField(r,t){if(!(i()("#form_order_model_client_hasAddress").prop("checked")||t.optionaladdress))return null;const e=i()(r).val();let o=null;return void 0!==t.notBlank&&""===e&&(o=t.notBlank),void 0!==t.length225&&(e||"").length<2&&(o=t.length225),void 0!==t.regexName&&(e||"").match(/\d/)&&(o=t.regexName),void 0===t.isChecked||i()(r).prop("checked")||(o=t.isChecked),void 0===t.regexMail||(e||"").match(this.constructor.EMAIL_REGEX)||(o=t.regexMail),o}clearError(r){i()(r).parents(".mb-3").find(".invalid-feedback").remove();const t=i()(r).attr("aria-describedby");if(t){const e=t.split(" ").filter(r=>!r.startsWith("error-"));e.length>0?i()(r).attr("aria-describedby",e.join(" ")):i()(r).removeAttr("aria-describedby")}}showError(r,t){this.clearError(r);const e="error-"+(i()(r).attr("id")||i()(r).attr("name")),o=document.createElement("div");o.className="invalid-feedback d-block",o.id=e,o.textContent=t,i()(r).parents(".mb-3").append(o);const a=i()(r).attr("aria-describedby");a?i()(r).attr("aria-describedby",a+" "+e):i()(r).attr("aria-describedby",e)}scrollToError(){const r=document.querySelectorAll(".invalid-feedback");if(r.length>0)for(let t of r){const r=this.findFieldForError(t);if(r){this.smoothScrollTo(r,2e3),r.focus({preventScroll:!0});break}}}findFieldForError(r){if(r.id){const t=document.querySelector('[aria-describedby~="'+r.id+'"]');if(t)return t}const t=r.closest(".mb-3, .form-group, fieldset");return t?t.querySelector('input:not([type="hidden"]), select, textarea'):null}smoothScrollTo(r,t){const e=window.pageYOffset,o=r.getBoundingClientRect().top+window.pageYOffset-window.innerHeight/2-e;let a=null;requestAnimationFrame(function r(i){null===a&&(a=i);const u=i-a,n=Math.min(u/t,1);var s;window.scrollTo(0,e+o*((s=n)<.5?2*s*s:1-Math.pow(-2*s+2,2)/2)),u<t&&requestAnimationFrame(r)})}errorMessageQuantityMax(r){if(r.detail.quantity>this.maxProductByOrderValue){const r=document.createElement("div");r.classList.add("mb-3","alert","alert-danger"),r.innerHTML=this.errorMessageValue;const t=this.productErrorTarget.querySelector(".alert");t&&this.productErrorTarget.removeChild(t),this.productErrorTarget.appendChild(r)}else{const r=this.productErrorTarget.querySelector(".alert");r&&this.productErrorTarget.removeChild(r)}}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.