Your search "'.concat(t,'" did not match any results.').locale(),n.appendChild(r)):e.classList.remove("no-result")},initializeImageLazyLoad:function(){var t;window.lazySizes||(t=function(e,t){t?e.srcset=e.dataset.srcset:e.src=e.dataset.src||e.src,e.classList.remove("lazyload"),e.classList.add("lazyloaded")},document.querySelectorAll('source[loading="lazy"]').forEach(function(e){return t(e,!0)}),document.querySelectorAll('img[loading="lazy"]').forEach(function(e){return t(e,!1)}))},setLocalStorageWithExpiry:function(e,t){var r=2r.expiry?(localStorage.removeItem(e),null):(t&&localStorage.removeItem(e),r.value):null},init:function(){this.initializeImageLazyLoad(),this.faqCollapse();var e=document.querySelector(".js-filter-input");e&&e.addEventListener("input",this.faqFilter.bind(this))}};

Trusted by over 25 million users

Powerful forms for Salesforce

Automatically integrate your form data with your Salesforce database

Build the perfect form in 2 minutes
Share a prefilled form with your customers
Send data to Salesforce

Build the form you need in minutes

Build Form

Create your ideal form from scratch or customize a free template with our form builder. Send via email, share by copying and pasting a link, or embed the form in your website so users can fill it out anytime.

Dynamically prefill your forms with real-time data

Dynamically Prefill

Effortlessly streamline your data management with Salesforce Dynamic Prefill, ensuring your forms are always up-to-date with the latest Salesforce information. Automatically sync data in real-time, eliminating manual entry and reducing errors. Providing a personalized experience with prefilled forms tailored to each respondent.

Keep your data in Salesforce

Keep your data in Salesforce

Ensure all your data is synchronized and managed within Salesforce, maintaining consistency across your CRM. Simplify your workflow and keep everything in one place, giving you full control over your data.

Use full-suite of products without leaving Salesforce

Create Salesforce Forms

Create pre-integrated Salesforce Forms to collect information about leads. Submissions sync automatically so your Salesforce data is always up to date.

Form Builder

Electronic signatures for sales teams

Collect e-signatures on contracts or invoices from any device. Efficiently manage signed documents and review audit trails directly from your Salesforce account.

E-Signatures

Generate Salesforce documents

Effortlessly create PDF documents based on submission data and easily share them with a single click.

PDF Editor

Turn forms into workflows

Oversee your organization's membership, collect donor gifts, and recruit volunteers to work your upcoming fundraising events.

Workflow

Manage data with Jotform Tables

Easily track, manage, and filter submission data. Invite teammates to collaborate in real time.

Tables

Your data is safe and secure

Your data is safe and secure

Ensuring the privacy and security of your data is a top priority for us. You can rest easy, knowing that we take every precaution to provide an online form service with high grade security.

240+ Integrations & Payment Gateways

Integrations

Jotform Enterprise includes integrations with effective software tools that help you manage your workflow. These integrations include everything from CRMs and cloud storage solutions to payment processors and project management boards! Then, when your employees, customers or partners complete your form, the submission information will automatically appear in your other online accounts based on your integration settings.

Jotform for Salesforce is available on AppExchange!

Jotform for Salesforce is available on AppExchange!

Jotform Reseller Program

Jotform Reseller Program

Interested in becoming a Jotform reseller? Leverage your expertise with Jotform Enterprise and Salesforce to create a new revenue stream! Purchase Jotform Enterprise on behalf of your clients and resell it with your own profit margin — perfect for individual consultants and larger companies across many industries. Our program includes prequalified leads, not-for-resale accounts, market development funds, and other helpful marketing materials to get you started. You’ll also get access to unique reseller partner discounts.

Great for industries like

Professional Services

Get hands-on help from our team

Get hands-on help from our team

Our dedicated team is here to ensure seamless implementation tailored to your organization’s needs. Get expert guidance every step of the way, from form creation to workflow optimization. Let us prepare your enterprise for success.

FAQ

  • What is Jotform for Salesforce?

    Jotform for Salesforce is a powerful online form builder and workflow automation tool that’s available on the Salesforce AppExchange. Jotform for Salesforce can benefit any organization that needs a powerful data-collection tool, no matter its industry or size.

  • How can you benefit from using Jotform within your Salesforce account?

    When you use Jotform within your Salesforce account, all data collected through your forms automatically populates the associated object in Salesforce. Benefits include, but aren’t limited to, seamless data capture, enhanced lead generation, improved data quality, and an integrated user experience.

    Additionally, by using Jotform for Salesforce you’ll gain access to a wide variety of useful features and tools, including ways to build no-code apps and PDFs, collect e-signatures and file uploads, generate reports, and automate your workflows.

  • How can I integrate Salesforce with my form?

    To integrate Salesforce with your form, start by installing Jotform on the Salesforce AppExchange. After installing the app, open it by clicking on the App Launcher icon and searching for “Jotform.”

    Once you’ve launched the app, click Create Salesforce Form, select an object to create a form for, select the object fields you’d like to add to your form, and then click Create Form. Your form will now be ready to collect data and automatically send it to the linked fields in your Salesforce account.

    If you’d like to access Salesforce via Jotform, you can add the legacy Salesforce integration to a form in the Form Builder. To do this, open the Jotform Form Builder and select the form you’d like to connect with Salesforce.

    Click Settings, then go to the Integrations tab and search for “Salesforce.” Click the Authenticate button to link your Salesforce account. If you’ve already linked your Salesforce account, feel free to select it from the dropdown menu.

    After connecting your account, choose either Create or update a record or Find a record. Pick an object from the list and map your form fields to the data fields from your chosen Salesforce object. Once you’re finished, click the Save button and you’re done! Your form data will now be sent to Salesforce every time a submission is received.

  • Can I get notified when an error happens in my Salesforce integration?

    Yes! Integration logs can help you identify and resolve any integration issues — reducing downtime and data discrepancies. Combined with error notifications, integration logs enable you to take immediate action when an error occurs instead of manually checking the logs yourself.

  • How can you access Jotform on Salesforce AppExchange?

    To access Jotform Enterprise on the Salesforce AppExchange, you need to contact sales.

  • How do I set up Jotform Enterprise for Salesforce?

    To set up Jotform Enterprise for Salesforce, you need to first upgrade your plan to include Jotform Enterprise for Salesforce add-on. After the upgrade is completed, Jotform Customers Success Managers will help you setup. If you want to handle it yourself, you will have to search Jotform in Appexchange and click, Get It Now, and follow the setup instructions. After you install the app, you can decide whether to install it for Admins Only, for All Users, or for Specific Profiles.

    You can then open the Jotform Enterprise app by clicking the App Launcher icon and searching for Jotform. Log into your Jotform account, then follow the final instructions to finish setting up the app. You should now be able to access Jotform on Salesforce AppExchange for all your form creation needs.

  • Under which clouds is Jotform served in AppExchange?

    Jotform works on Salesforce’s Sales Cloud — a fully customizable CRM platform that consolidates customer information. Use it to automate administrative tasks, manage leads and client information, close deals, and gain crucial insights into your business.

  • Can I dynamically prefill forms with data from Salesforce?

    Yes! When you add Salesforce Dynamic Prefill to your forms, you can dynamically prefill them with data from Salesforce — meaning the data that automatically pre-populates your forms will always be the most up-to-date information in your Salesforce account. To connect your forms with Salesforce, go to the Publish tab of the Jotform Form Builder. Select Prefill from the menu on the left and then Salesforce Prefill. Complete the integration setup to add Dynamic Prefill to your forms.

  • Does the new Salesforce Dynamic Prefill work with custom objects?

    Yes. With the new Salesforce Dynamic Prefill, you can prefill your forms dynamically from any Salesforce object, including custom objects.

    You can also prefill your form from multiple objects by connecting multiple prefill sources.

  • I have many contacts under my Salesforce account. Is it possible to automate prefill link generation?

    Yes, it is. All you need to do is copy the live prefill link under your prefill settings and paste your lookup field's unique identifier at the end of the URL. You can then use this link in your email templates or custom buttons inside Salesforce, and customize it with merge fields. When combined with Salesforce's automation tools, Jotform's Salesforce Prefill feature allows you to distribute personalized emails at scale, enabling efficient form distribution with minimal effort.

  • How can I create individual prefill links for my selected contacts?

    To create individual prefill links for your selected Salesforce contacts, go to the Publish tab of the Jotform Form Builder. Select Prefill from the menu on the left and then Salesforce Prefill. Configure your prefill settings, then open the Personalized Links tab. Click the Create New Links button and select the records for which you want to create specific form links.

  • How can I send form file attachments to Salesforce?

    With our improved Salesforce integration, you can now send file uploads and form submission PDFs to Salesforce. This option automatically attaches the selected files to the relevant object’s record.

    To send file attachments to Salesforce, in the Form Builder, click Settings, then go to the Integrations tab and search for “Salesforce.” Click the Authenticate button to link your Salesforce account.

    After connecting your account, select Create or update a record. Pick an object from the list, and map the necessary fields. At the bottom of the page, open the Attachments toggle and select the files you want to attach to your record. Once you’re finished, click the Save button. While the form data automatically goes to Salesforce with every new submission, selected files will be sent as attachments to the newly created record and can be reached from the Notes & Attachments section.

")).attr("data-swiper-slide-index")||e.attr("data-swiper-slide-index",t),i.cache&&(a.virtual.cache[t]=e),e)},appendSlide:function(e){if("object"===_typeof(e)&&"length"in e)for(var t=0;tMath.abs(r.pixelY)))return!0;s=r.pixelX*n}else{if(!(Math.abs(r.pixelY)>Math.abs(r.pixelX)))return!0;s=r.pixelY}else s=Math.abs(r.pixelX)>Math.abs(r.pixelY)?-r.pixelX*n:-r.pixelY;if(0===s)return!0;if(i.invert&&(s=-s),a.params.freeMode){var o={time:U.now(),delta:Math.abs(s),direction:Math.sign(s)},n=a.mousewheel.lastEventBeforeSnap,r=n&&o.time=a.minTranslate()?a.minTranslate():n)<=a.maxTranslate()&&(n=a.maxTranslate()),a.setTransition(0),a.setTranslate(n),a.updateProgress(),a.updateActiveIndex(),a.updateSlidesClasses(),(!i&&a.isBeginning||!p&&a.isEnd)&&a.updateSlidesClasses(),a.params.freeModeSticky&&(clearTimeout(a.mousewheel.timeout),a.mousewheel.timeout=void 0,15<=(l=a.mousewheel.recentWheelEvents).length&&l.shift(),i=l.length?l[l.length-1]:void 0,p=l[0],l.push(o),i&&(o.delta>i.delta||o.direction!==i.direction)?l.splice(0):15<=l.length&&o.time-p.time<500&&1<=p.delta-o.delta&&o.delta<=6&&(d=0r.delta||i.time>r.time+150)&&a.mousewheel.animateSlider(i),a.mousewheel.releaseScroll(i))return!0}return t.preventDefault?t.preventDefault():t.returnValue=!1,!1},animateSlider:function(e){var t=this;return 6<=e.delta&&U.now()-t.mousewheel.lastScrollTime<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),t.emit("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),t.emit("scroll",e.raw)),t.mousewheel.lastScrollTime=(new K.Date).getTime(),!1)},releaseScroll:function(e){var t=this,a=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&a.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&a.releaseOnEdges)return!0;return!1},enable:function(){var e=this,t=C.event();if(e.params.cssMode)e.wrapperEl.removeEventListener(t,e.mousewheel.handle);else{if(!t)return!1;if(e.mousewheel.enabled)return!1;var a=e.$el;(a="container"!==e.params.mousewheel.eventsTarged?T(e.params.mousewheel.eventsTarged):a).on("mouseenter",e.mousewheel.handleMouseEnter),a.on("mouseleave",e.mousewheel.handleMouseLeave),a.on(t,e.mousewheel.handle),e.mousewheel.enabled=!0}return!0},disable:function(){var e=this,t=C.event();if(e.params.cssMode)e.wrapperEl.addEventListener(t,e.mousewheel.handle);else{if(!t)return!1;if(!e.mousewheel.enabled)return!1;var a=e.$el;(a="container"!==e.params.mousewheel.eventsTarged?T(e.params.mousewheel.eventsTarged):a).off(t,e.mousewheel.handle),e.mousewheel.enabled=!1}return!0}},M={update:function(){var e,t,a=this,i=a.params.navigation;a.params.loop||(e=(t=a.navigation).$nextEl,(t=t.$prevEl)&&0a-1-2*e.loopedSlides&&(s-=a-2*e.loopedSlides),r-1i.dynamicMainBullets-1?e.pagination.dynamicBulletIndex=i.dynamicMainBullets-1:e.pagination.dynamicBulletIndex<0&&(e.pagination.dynamicBulletIndex=0)),o=s-e.pagination.dynamicBulletIndex,d=((l=o+(Math.min(p.length,i.dynamicMainBullets)-1))+o)/2),p.removeClass(i.bulletActiveClass+" "+i.bulletActiveClass+"-next "+i.bulletActiveClass+"-next-next "+i.bulletActiveClass+"-prev "+i.bulletActiveClass+"-prev-prev "+i.bulletActiveClass+"-main"),1=p.length-i.dynamicMainBullets){for(var m=i.dynamicMainBullets;0<=m;--m)p.eq(p.length-m).addClass(i.bulletActiveClass+"-main");p.eq(p.length-i.dynamicMainBullets-1).addClass(i.bulletActiveClass+"-prev")}else a.prev().addClass(i.bulletActiveClass+"-prev").prev().addClass(i.bulletActiveClass+"-prev-prev"),u.next().addClass(i.bulletActiveClass+"-next").next().addClass(i.bulletActiveClass+"-next-next");else a.prev().addClass(i.bulletActiveClass+"-prev").prev().addClass(i.bulletActiveClass+"-prev-prev"),u.next().addClass(i.bulletActiveClass+"-next").next().addClass(i.bulletActiveClass+"-next-next")}}i.dynamicBullets&&(c=Math.min(p.length,i.dynamicMainBullets+4),a=(e.pagination.bulletSize*c-e.pagination.bulletSize)/2-d*e.pagination.bulletSize,u=t?"right":"left",p.css(e.isHorizontal()?u:"top",a+"px"))}"fraction"===i.type&&(n.find("."+i.currentClass).text(i.formatFractionCurrent(s+1)),n.find("."+i.totalClass).text(i.formatFractionTotal(r))),"progressbar"===i.type&&(c=i.progressbarOpposite?e.isHorizontal()?"vertical":"horizontal":e.isHorizontal()?"horizontal":"vertical",d=(s+1)/r,u=t=1,"horizontal"===c?t=d:u=d,n.find("."+i.progressbarFillClass).transform("translate3d(0,0,0) scaleX("+t+") scaleY("+u+")").transition(e.params.speed)),"custom"===i.type&&i.renderCustom?(n.html(i.renderCustom(e,s+1,r)),e.emit("paginationRender",e,n[0])):e.emit("paginationUpdate",e,n[0]),n[e.params.watchOverflow&&e.isLocked?"addClass":"removeClass"](i.lockClass)}},render:function(){var e=this,t=e.params.pagination;if(t.el&&e.pagination.el&&e.pagination.$el&&0!==e.pagination.$el.length){var a=(e.virtual&&e.params.virtual.enabled?e.virtual:e).slides.length,i=e.pagination.$el,s="";if("bullets"===t.type){for(var n=e.params.loop?Math.ceil((a-2*e.loopedSlides)/e.params.slidesPerGroup):e.snapGrid.length,r=0;r'+t.bulletElement+">";i.html(s),e.pagination.bullets=i.find("."+t.bulletClass)}"fraction"===t.type&&(s=t.renderFraction?t.renderFraction.call(e,t.currentClass,t.totalClass):' / ',i.html(s)),"progressbar"===t.type&&(s=t.renderProgressbar?t.renderProgressbar.call(e,t.progressbarFillClass):'',i.html(s)),"custom"!==t.type&&e.emit("paginationRender",e.pagination.$el[0])}},init:function(){var e,t=this,a=t.params.pagination;!a.el||0!==(e=T(a.el)).length&&(t.params.uniqueNavElements&&"string"==typeof a.el&&1'),a.append(i)),U.extend(e,{$el:a,el:a[0],$dragEl:i,dragEl:i[0]}),t.draggable&&e.enableDraggable())},destroy:function(){this.scrollbar.disableDraggable()}},Q={setTransform:function(e,t){var a=this.rtl,e=T(e),a=a?-1:1,i=e.attr("data-swiper-parallax")||"0",s=e.attr("data-swiper-parallax-x"),n=e.attr("data-swiper-parallax-y"),r=e.attr("data-swiper-parallax-scale"),o=e.attr("data-swiper-parallax-opacity");s||n?(s=s||"0",n=n||"0"):this.isHorizontal()?(s=i,n="0"):(n=i,s="0"),s=0<=s.indexOf("%")?parseInt(s,10)*t*a+"%":s*t*a+"px",n=0<=n.indexOf("%")?parseInt(n,10)*t+"%":n*t+"px",null!=o&&(i=o-(o-1)*(1-Math.abs(t)),e[0].style.opacity=i),null==r?e.transform("translate3d("+s+", "+n+", 0px)"):(a=r-(r-1)*(1-Math.abs(t)),e.transform("translate3d("+s+", "+n+", 0px) scale("+a+")"))},setTranslate:function(){var i=this,e=i.$el,t=i.slides,s=i.progress,n=i.snapGrid;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each(function(e,t){i.parallax.setTransform(t,s)}),t.each(function(e,t){var a=t.progress;1i.maxRatio&&(a.scale=i.maxRatio-1+Math.pow(a.scale-i.maxRatio+1,.5)),a.scales.touchesStart.x))return void(s.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.ys.touchesStart.y))return void(s.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentXs.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentYs.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),n.prevPositionX||(n.prevPositionX=s.touchesCurrent.x),n.prevPositionY||(n.prevPositionY=s.touchesCurrent.y),n.prevTime||(n.prevTime=Date.now()),n.x=(s.touchesCurrent.x-n.prevPositionX)/(Date.now()-n.prevTime)/2,n.y=(s.touchesCurrent.y-n.prevPositionY)/(Date.now()-n.prevTime)/2,Math.abs(s.touchesCurrent.x-n.prevPositionX)<2&&(n.x=0),Math.abs(s.touchesCurrent.y-n.prevPositionY)<2&&(n.y=0),n.prevPositionX=s.touchesCurrent.x,n.prevPositionY=s.touchesCurrent.y,n.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e,t,a,i,s=this.zoom,n=s.gesture,r=s.image,o=s.velocity;n.$imageEl&&0!==n.$imageEl.length&&(r.isTouched&&r.isMoved?(r.isTouched=!1,r.isMoved=!1,e=o.x*(a=300),e=r.currentX+e,t=o.y*(i=300),t=r.currentY+t,0!==o.x&&(a=Math.abs((e-r.currentX)/o.x)),0!==o.y&&(i=Math.abs((t-r.currentY)/o.y)),o=Math.max(a,i),r.currentX=e,r.currentY=t,a=r.width*s.scale,i=r.height*s.scale,r.minX=Math.min(n.slideWidth/2-a/2,0),r.maxX=-r.minX,r.minY=Math.min(n.slideHeight/2-i/2,0),r.maxY=-r.minY,r.currentX=Math.max(Math.min(r.currentX,r.maxX),r.minX),r.currentY=Math.max(Math.min(r.currentY,r.maxY),r.minY),n.$imageWrapEl.transition(o).transform("translate3d("+r.currentX+"px, "+r.currentY+"px,0)")):(r.isTouched=!1,r.isMoved=!1))},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl&&t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl&&t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,a,i,s=this,n=s.zoom,r=s.params.zoom,o=n.gesture,l=n.image;o.$slideEl||(s.params.virtual&&s.params.virtual.enabled&&s.virtual?o.$slideEl=s.$wrapperEl.children("."+s.params.slideActiveClass):o.$slideEl=s.slides.eq(s.activeIndex),o.$imageEl=o.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),o.$imageWrapEl=o.$imageEl.parent("."+r.containerClass)),o.$imageEl&&0!==o.$imageEl.length&&(o.$slideEl.addClass(""+r.zoomedSlideClass),s=void 0===l.touchesStart.x&&e?(t=("touchend"===e.type?e.changedTouches[0]:e).pageX,("touchend"===e.type?e.changedTouches[0]:e).pageY):(t=l.touchesStart.x,l.touchesStart.y),n.scale=o.$imageWrapEl.attr("data-swiper-zoom")||r.maxRatio,n.currentScale=o.$imageWrapEl.attr("data-swiper-zoom")||r.maxRatio,e?(l=o.$slideEl[0].offsetWidth,r=o.$slideEl[0].offsetHeight,e=o.$slideEl.offset().left+l/2-t,t=o.$slideEl.offset().top+r/2-s,s=o.$imageEl[0].offsetWidth,i=o.$imageEl[0].offsetHeight,s=s*n.scale,i=i*n.scale,l=Math.min(l/2-s/2,0),s=Math.min(r/2-i/2,0),(r=-l)<(i=(i=e*n.scale)>1]<=t?i=s:a=s;return a};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(r=o(this.x,e),n=r-1,(e-this.x[n])*(this.y[r]-this.y[n])/(this.x[r]-this.x[n])+this.y[n]):0},this},getInterpolateFunction:function(e){var t=this;t.controller.spline||(t.controller.spline=t.params.loop?new k.LinearSpline(t.slidesGrid,e.slidesGrid):new k.LinearSpline(t.snapGrid,e.snapGrid))},setTranslate:function(e,t){var a,i,s=this,n=s.controller.control;function r(e){var t=s.rtlTranslate?-s.translate:s.translate;"slide"===s.params.controller.by&&(s.controller.getInterpolateFunction(e),i=-s.controller.spline.interpolate(-t)),i&&"container"!==s.params.controller.by||(a=(e.maxTranslate()-e.minTranslate())/(s.maxTranslate()-s.minTranslate()),i=(t-s.minTranslate())*a+e.minTranslate()),s.params.controller.inverse&&(i=e.maxTranslate()-i),e.updateProgress(i),e.setTranslate(i,s),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(n))for(var o=0;o'),i.append(e)),e.css({height:n+"px"})):0===(e=a.find(".swiper-cube-shadow")).length&&(e=T('
'),a.append(e)));for(var h,m=0;m'),v.append(g)),0===y.length&&(y=T('
'),v.append(y)),g.length&&(g[0].style.opacity=Math.max(-w,0)),y.length&&(y[0].style.opacity=Math.max(w,0)))}i.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),d.shadow&&(p?e.transform("translate3d(0px, "+(n/2+d.shadowOffset)+"px, "+-n/2+"px) rotateX(90deg) rotateZ(0deg) scale("+d.shadowScale+")"):(a=Math.abs(u)-90*Math.floor(Math.abs(u)/90),n=1.5-(Math.sin(2*a*Math.PI/360)/2+Math.cos(2*a*Math.PI/360)/2),a=d.shadowScale,n=d.shadowScale/n,h=d.shadowOffset,e.transform("scale3d("+a+", 1, "+n+") translate3d(0px, "+(r/2+h)+"px, "+-r/2/n+"px) rotateX(-90deg)"))),i.transform("translate3d(0px,0,"+(S.isSafari||S.isUiWebView?-l/2:0)+"px) rotateX("+(t.isHorizontal()?0:u)+"deg) rotateY("+(t.isHorizontal()?-u:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},se={setTranslate:function(){for(var e=this,t=e.slides,a=e.rtlTranslate,i=0;i'),r.append(s)),0===n.length&&(n=T('
'),r.append(n)),s.length&&(s[0].style.opacity=Math.max(-o,0)),n.length&&(n[0].style.opacity=Math.max(o,0))),r.transform("translate3d("+l+"px, "+c+"px, 0px) rotateX("+p+"deg) rotateY("+d+"deg)")}},setTransition:function(e){var a,i=this,t=i.slides,s=i.activeIndex,n=i.$wrapperEl;t.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),i.params.virtualTranslate&&0!==e&&(a=!1,t.eq(s).transitionEnd(function(){if(!a&&i&&!i.destroyed){a=!0,i.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],t=0;t'),h.append(m)),0===b.length&&(b=T('
'),h.append(b)),m.length&&(m[0].style.opacity=0t.previousIndex?"next":"prev"):(s=t.realIndex)>t.previousIndex?"next":"prev",l&&(s+="next"===n?o:-1*o),a.visibleSlidesIndexes&&a.visibleSlidesIndexes.indexOf(s)<0&&(a.params.centeredSlides?s=i')}}),Object.keys(te).forEach(function(e){t.a11y[e]=te[e].bind(t)})},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){var e=this;U.extend(e,{history:{init:$.init.bind(e),setHistory:$.setHistory.bind(e),setHistoryPopState:$.setHistoryPopState.bind(e),scrollToSlide:$.scrollToSlide.bind(e),destroy:$.destroy.bind(e)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)},slideChange:function(){var e=this;e.history.initialized&&e.params.cssMode&&e.history.setHistory(e.params.history.key,e.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){var e=this;U.extend(e,{hashNavigation:{initialized:!1,init:L.init.bind(e),destroy:L.destroy.bind(e),setHash:L.setHash.bind(e),onHashCange:L.onHashCange.bind(e)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()},slideChange:function(){this.hashNavigation.initialized&&this.params.cssMode&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var t=this;U.extend(t,{autoplay:{running:!1,paused:!1,run:I.run.bind(t),start:I.start.bind(t),stop:I.stop.bind(t),pause:I.pause.bind(t),onVisibilityChange:function(){"hidden"===document.visibilityState&&t.autoplay.running&&t.autoplay.pause(),"visible"===document.visibilityState&&t.autoplay.paused&&(t.autoplay.run(),t.autoplay.paused=!1)},onTransitionEnd:function(e){t&&!t.destroyed&&t.$wrapperEl&&e.target===this&&(t.$wrapperEl[0].removeEventListener("transitionend",t.autoplay.onTransitionEnd),t.$wrapperEl[0].removeEventListener("webkitTransitionEnd",t.autoplay.onTransitionEnd),t.autoplay.paused=!1,t.autoplay.running?t.autoplay.run():t.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&(this.autoplay.start(),document.addEventListener("visibilitychange",this.autoplay.onVisibilityChange))},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},touchEnd:function(){this.params.cssMode&&this.autoplay.paused&&!this.params.autoplay.disableOnInteraction&&this.autoplay.run()},destroy:function(){this.autoplay.running&&this.autoplay.stop(),document.removeEventListener("visibilitychange",this.autoplay.onVisibilityChange)}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){U.extend(this,{fadeEffect:{setTranslate:ae.setTranslate.bind(this),setTransition:ae.setTransition.bind(this)}})},on:{beforeInit:function(){var e,t=this;"fade"===t.params.effect&&(t.classNames.push(t.params.containerModifierClass+"fade"),U.extend(t.params,e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0}),U.extend(t.originalParams,e))},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){U.extend(this,{cubeEffect:{setTranslate:ie.setTranslate.bind(this),setTransition:ie.setTransition.bind(this)}})},on:{beforeInit:function(){var e,t=this;"cube"===t.params.effect&&(t.classNames.push(t.params.containerModifierClass+"cube"),t.classNames.push(t.params.containerModifierClass+"3d"),U.extend(t.params,e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0}),U.extend(t.originalParams,e))},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){U.extend(this,{flipEffect:{setTranslate:se.setTranslate.bind(this),setTransition:se.setTransition.bind(this)}})},on:{beforeInit:function(){var e,t=this;"flip"===t.params.effect&&(t.classNames.push(t.params.containerModifierClass+"flip"),t.classNames.push(t.params.containerModifierClass+"3d"),U.extend(t.params,e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0}),U.extend(t.originalParams,e))},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0}},create:function(){U.extend(this,{coverflowEffect:{setTranslate:ne.setTranslate.bind(this),setTransition:ne.setTransition.bind(this)}})},on:{beforeInit:function(){var e=this;"coverflow"===e.params.effect&&(e.classNames.push(e.params.containerModifierClass+"coverflow"),e.classNames.push(e.params.containerModifierClass+"3d"),e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){U.extend(this,{thumbs:{swiper:null,init:re.init.bind(this),update:re.update.bind(this),onThumbClick:re.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===m.use&&(m.use=m.Class.use,m.installModule=m.Class.installModule),m.use(O),m});