@designcrowd/fe-shared-lib 1.5.23 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +23 -1
- package/.storybook/main.ts +5 -2
- package/.storybook-static/assets/Auth-DT64t5h-.css +1 -0
- package/.storybook-static/assets/Auth.stories-C6eXcTSu.js +490 -0
- package/.storybook-static/assets/AuthCrazyDomains.stories-DGvEoWCa.js +73 -0
- package/.storybook-static/assets/Button-5UzSGUF6.css +1 -0
- package/.storybook-static/assets/Button-DKdQT6Fq.js +1 -0
- package/.storybook-static/assets/ButtonGroup-DDPXuhxR.css +1 -0
- package/.storybook-static/assets/ButtonGroup.stories-DlrYMRSk.js +504 -0
- package/.storybook-static/assets/ButtonPrimary-Bu6bXb_c.css +1 -0
- package/.storybook-static/assets/ButtonPrimary-BvWW6Duz.js +1 -0
- package/.storybook-static/assets/Buttons.stories-CKmd6hkZ.js +761 -0
- package/.storybook-static/assets/ButtonsCrazyDomains.stories-DdEuOUrn.js +199 -0
- package/.storybook-static/assets/Checkbox.mixin-DkHpdvGa.js +1 -0
- package/.storybook-static/assets/Checkbox.stories-DPBUC2Mx.js +246 -0
- package/.storybook-static/assets/Checktile.stories-ByaFwplD.js +88 -0
- package/.storybook-static/assets/CollapsiblePanel.stories-Y6q3gP9j.js +56 -0
- package/.storybook-static/assets/ColorPicker.stories-DdxPUB_R.js +73 -0
- package/.storybook-static/assets/CopyToClipboardText.stories-J9qndWxd.js +32 -0
- package/.storybook-static/assets/Dropdown.stories-1zKPATii.js +159 -0
- package/.storybook-static/assets/DropdownItem-BV-BdThU.css +1 -0
- package/.storybook-static/assets/DropdownItem-DA6TdpDb.js +1 -0
- package/.storybook-static/assets/FormControl.mixin-DcEBwrV3.js +1 -0
- package/.storybook-static/assets/HashRouteModal.stories-BGxvqE22.js +60 -0
- package/.storybook-static/assets/HelloBar-CYEZR2kQ.js +1 -0
- package/.storybook-static/assets/HelloBar.stories-597Kxj0W.js +342 -0
- package/.storybook-static/assets/Icon-C17LFvsP.js +145 -0
- package/.storybook-static/assets/Icon.stories-B9iAmcTU.js +151 -0
- package/.storybook-static/assets/Icon.stories-CR5vT9H7.js +791 -0
- package/.storybook-static/assets/Loader-BWGoT_xC.js +1 -0
- package/.storybook-static/assets/LogoBusinessBrandColours-CExzox1Z.js +1 -0
- package/.storybook-static/assets/LogoBusinessBrandColours-CeAaMKke.css +1 -0
- package/.storybook-static/assets/LogoBusinessBrandColours.stories-kuxAH8B8.js +36 -0
- package/.storybook-static/assets/Masonry-C2MNiGg0.css +1 -0
- package/.storybook-static/assets/Masonry.stories-CTXJLQ_i.js +71 -0
- package/.storybook-static/assets/Modal-CGwEIF5R.css +1 -0
- package/.storybook-static/assets/Modal-CydTNprT.js +1 -0
- package/.storybook-static/assets/Modal.stories-DZiG5NGM.js +345 -0
- package/.storybook-static/assets/Notice.stories-ChOj8CWm.js +222 -0
- package/.storybook-static/assets/NumberStepper-Blffv09R.css +1 -0
- package/.storybook-static/assets/NumberStepper.stories-CVbKJ_oJ.js +64 -0
- package/.storybook-static/assets/PaymentConfigList-BpUMV6cp.css +1 -0
- package/.storybook-static/assets/PaymentConfigList.stories-DUD7OZBS.js +130 -0
- package/.storybook-static/assets/Picture-B8m1I9xN.js +1 -0
- package/.storybook-static/assets/Picture.stories-MMzybhJ6.js +119 -0
- package/.storybook-static/assets/Pill-DLXZ_TL8.js +1 -0
- package/.storybook-static/assets/Pill.stories-DCP7szJm.js +18 -0
- package/.storybook-static/assets/PillBar-os4mJV3M.css +1 -0
- package/.storybook-static/assets/PillBar.stories-Bry-zQ6f.js +41 -0
- package/.storybook-static/assets/Price-C4GZbDSa.js +1 -0
- package/.storybook-static/assets/Price.stories-CMHly9V0.js +337 -0
- package/.storybook-static/assets/PromoCard.stories-xsbFtADE.js +299 -0
- package/.storybook-static/assets/PublishBrandPageModal-Q9-mNG1q.css +1 -0
- package/.storybook-static/assets/PublishBrandPageModal.stories-C9XzW_1m.js +324 -0
- package/.storybook-static/assets/SearchBar.stories-DaIneOSz.js +12 -0
- package/.storybook-static/assets/Select-DnioWQmi.css +1 -0
- package/.storybook-static/assets/Select.stories-BmGYB4pw.js +108 -0
- package/.storybook-static/assets/SellDomainNameList.fixtures-LC6fjr_b.js +1 -0
- package/.storybook-static/assets/SellDomainNameListModal-DH6khE10.css +1 -0
- package/.storybook-static/assets/SellDomainNameListModal-ymtVclFP.js +1 -0
- package/.storybook-static/assets/SellDomainNameListModal.stories-DvGvylgx.js +71 -0
- package/.storybook-static/assets/SellDomainNameListSearchResult-Cpxq0jDA.css +1 -0
- package/.storybook-static/assets/SellDomainNameListSearchResult-D-1CrQyf.js +1 -0
- package/.storybook-static/assets/SellDomainNameSearchWithResults-bX--zu97.js +1 -0
- package/.storybook-static/assets/SellDomainNameSearchWithResults.stories-DRUJjSdH.js +37 -0
- package/.storybook-static/assets/SellDomainNameWidget.stories-CC3LX10s.js +36 -0
- package/.storybook-static/assets/SignIn-CPjf8_2O.css +1 -0
- package/.storybook-static/assets/SignIn-DI0DSDFe.js +1 -0
- package/.storybook-static/assets/Slider-Cog2FFdj.css +1 -0
- package/.storybook-static/assets/Slider.stories-B2KGwnJy.js +141 -0
- package/.storybook-static/assets/SparkleIcon.stories-Dk904hVE.js +547 -0
- package/.storybook-static/assets/StarRating-BtKh7pzm.css +1 -0
- package/.storybook-static/assets/StarRating.stories-d2mgOuo2.js +45 -0
- package/.storybook-static/assets/TabMenu.stories-Cg2yenqj.js +47 -0
- package/.storybook-static/assets/TextCopyField-B66NKTk_.js +1 -0
- package/.storybook-static/assets/TextCopyField.stories-B4_ZlfLU.js +47 -0
- package/.storybook-static/assets/TextInput-CMoUjT_5.js +1 -0
- package/.storybook-static/assets/TextInput.stories-oyyxxf3j.js +233 -0
- package/.storybook-static/assets/Textarea.stories-BvhZR6K2.js +207 -0
- package/.storybook-static/assets/Toggle.stories-yT5-rL2k.js +161 -0
- package/.storybook-static/assets/Tooltip-DyXIgFQH.css +1 -0
- package/.storybook-static/assets/Tooltip-ZukyujG5.js +1 -0
- package/.storybook-static/assets/Tooltip.stories-sJFylRS_.js +953 -0
- package/.storybook-static/assets/UploadYourLogoApplication-Dmw8QcH3.css +1 -0
- package/.storybook-static/assets/UploadYourLogoApplication.stories-C9AvzHO_.js +186 -0
- package/.storybook-static/assets/UploadYourLogoDropzone-B1ffcicv.js +24 -0
- package/.storybook-static/assets/UploadYourLogoDropzone-DQqACf-e.css +1 -0
- package/.storybook-static/assets/UploadYourLogoDropzone.stories-D1Dt2ord.js +55 -0
- package/.storybook-static/assets/UploadedLogoSearchResultCard.stories-D8oF1Yrx.js +79 -0
- package/.storybook-static/assets/WebsiteContextualUpgradeModal-8u1zOZrW.css +1 -0
- package/.storybook-static/assets/WebsiteContextualUpgradeModal.stories-mtcvWOAg.js +211 -0
- package/.storybook-static/assets/_commonjsHelpers-CE1G-McA.js +1 -0
- package/.storybook-static/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
- package/.storybook-static/assets/api-lSJGRrF2.js +1 -0
- package/.storybook-static/assets/axe-DrS73Vi2.js +20 -0
- package/.storybook-static/assets/brand-crowd-api.client-D45NKshX.js +1 -0
- package/.storybook-static/assets/bundled-translations-BoWhEDU_.js +1 -0
- package/.storybook-static/assets/bundled-translations.de-DE-C4lqla4O.js +1 -0
- package/.storybook-static/assets/bundled-translations.es-ES-BxMIllUH.js +1 -0
- package/.storybook-static/assets/bundled-translations.fr-CA-MxZpyz0w.js +1 -0
- package/.storybook-static/assets/bundled-translations.fr-FR-N7UPCZVr.js +1 -0
- package/.storybook-static/assets/bundled-translations.pt-BR-C8tscYuG.js +1 -0
- package/.storybook-static/assets/bundled-translations.pt-PT-Dszj5Xfa.js +1 -0
- package/.storybook-static/assets/carousel-BelyIYOK.css +1 -0
- package/.storybook-static/assets/carousel.stories-CJw3-Iy6.js +668 -0
- package/.storybook-static/assets/event-constants-CMO9VQVu.js +1 -0
- package/.storybook-static/assets/iframe-B3A6OXQU.js +1104 -0
- package/.storybook-static/assets/index-B-eiLVzF.js +7 -0
- package/.storybook-static/assets/index-QquxUozE.js +6 -0
- package/.storybook-static/assets/matchers-5TDFFDYO-HJu_DfWo.js +14 -0
- package/.storybook-static/assets/mediaQueryMixin-CISNqd93.js +1 -0
- package/.storybook-static/assets/preload-helper-PPVm8Dsz.js +1 -0
- package/.storybook-static/assets/tracking-ATsLLehC.js +1 -0
- package/.storybook-static/css/tailwind-brandCrowd.css +2508 -0
- package/.storybook-static/css/tailwind-brandPage.css +2188 -0
- package/.storybook-static/css/tailwind-crazyDomains.css +2508 -0
- package/.storybook-static/css/tailwind-designCom.css +2508 -0
- package/.storybook-static/css/tailwind-designCrowd.css +2508 -0
- package/.storybook-static/favicon-wrapper.svg +46 -0
- package/.storybook-static/favicon.svg +1 -0
- package/.storybook-static/iframe.html +713 -0
- package/.storybook-static/index.html +148 -0
- package/.storybook-static/index.json +1 -0
- package/.storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/.storybook-static/nunito-sans-bold.woff2 +0 -0
- package/.storybook-static/nunito-sans-italic.woff2 +0 -0
- package/.storybook-static/nunito-sans-regular.woff2 +0 -0
- package/.storybook-static/project.json +1 -0
- package/.storybook-static/sb-addons/a11y-1/manager-bundle.js +57 -0
- package/.storybook-static/sb-addons/links-2/manager-bundle.js +3 -0
- package/.storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +628 -0
- package/.storybook-static/sb-addons/themes-3/manager-bundle.js +3 -0
- package/.storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
- package/.storybook-static/sb-common-assets/favicon.svg +1 -0
- package/.storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/.storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/.storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/.storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/.storybook-static/sb-manager/globals-runtime.js +77935 -0
- package/.storybook-static/sb-manager/globals.js +24 -0
- package/.storybook-static/sb-manager/manager-stores.js +23 -0
- package/.storybook-static/sb-manager/runtime.js +20404 -0
- package/.storybook-static/vite-inject-mocker-entry.js +2 -0
- package/CLAUDE.md +2 -4
- package/Dockerfile +1 -1
- package/dist/css/tailwind-brandCrowd.css +2599 -0
- package/dist/css/tailwind-brandPage.css +2279 -0
- package/dist/css/tailwind-crazyDomains.css +2599 -0
- package/dist/css/tailwind-designCom.css +2599 -0
- package/dist/css/tailwind-designCrowd.css +2599 -0
- package/docs/plans/2026-01-30-upgrade-vite7-storybook10-design.md +177 -0
- package/docs/plans/2026-01-30-upgrade-vite7-storybook10.md +388 -0
- package/package.json +32 -36
- package/public/css/tailwind-brandCrowd.css +2508 -0
- package/public/css/tailwind-brandPage.css +2188 -0
- package/public/css/tailwind-crazyDomains.css +2508 -0
- package/public/css/tailwind-designCom.css +2508 -0
- package/public/css/tailwind-designCrowd.css +2508 -0
- package/src/experiences/components/WebsitesContextualUpgradeModal/WebsiteContextualUpgradeModal.vue +2 -2
- package/vite.config.ts +0 -4
|
@@ -0,0 +1,668 @@
|
|
|
1
|
+
import{I as Ye}from"./Icon-C17LFvsP.js";import{i as Xe,j as pt,k as Ke,l as Ze,p as j,w as ft,q as k,s as mt,u as wt,v as Je,c as Te,e as U,f as Ce,g as Ee,h as ee,x as Re,b as W,a as Pe,o as ne,F as gt,r as ht,y as vt,n as bt}from"./iframe-B3A6OXQU.js";import{_ as yt}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./preload-helper-PPVm8Dsz.js";const N=[{editorUrl:"#",imageUrl:"https://bcassetcdn.com/assets/images/carousel/carousel-logo.png",name:"Logo design",pluralName:"Logo Designs"},{editorUrl:"#",imageUrl:"https://bcassetcdn.com/assets/images/carousel/carousel-business-card.png",name:"Business card",pluralName:"Business Cards"},{editorUrl:"#",imageUrl:"https://bcassetcdn.com/assets/images/carousel/carousel-facebook-cover.png",name:"Facebook cover",pluralName:"Facebook Covers"},{editorUrl:"#",imageUrl:"https://bcassetcdn.com/assets/images/carousel/carousel-logo.png",name:"Logo design",pluralName:"Logo Designs"},{editorUrl:"#",imageUrl:"https://bcassetcdn.com/assets/images/carousel/carousel-business-card.png",name:"Business card",pluralName:"Business Cards"},{editorUrl:"#",imageUrl:"https://bcassetcdn.com/assets/images/carousel/carousel-facebook-cover.png",name:"Facebook cover",pluralName:"Facebook Covers"}];function Fe(t){return t!==null&&typeof t=="object"&&"constructor"in t&&t.constructor===Object}function Ge(t,e){t===void 0&&(t={}),e===void 0&&(e={}),Object.keys(e).forEach(s=>{typeof t[s]>"u"?t[s]=e[s]:Fe(e[s])&&Fe(t[s])&&Object.keys(e[s]).length>0&&Ge(t[s],e[s])})}const Qe={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector(){return null},querySelectorAll(){return[]},getElementById(){return null},createEvent(){return{initEvent(){}}},createElement(){return{children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName(){return[]}}},createElementNS(){return{}},importNode(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function R(){const t=typeof document<"u"?document:{};return Ge(t,Qe),t}const St={document:Qe,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle(){return{getPropertyValue(){return""}}},Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia(){return{}},requestAnimationFrame(t){return typeof setTimeout>"u"?(t(),null):setTimeout(t,0)},cancelAnimationFrame(t){typeof setTimeout>"u"||clearTimeout(t)}};function D(){const t=typeof window<"u"?window:{};return Ge(t,St),t}function xt(t){return t===void 0&&(t=""),t.trim().split(" ").filter(e=>!!e.trim())}function Tt(t){const e=t;Object.keys(e).forEach(s=>{try{e[s]=null}catch{}try{delete e[s]}catch{}})}function De(t,e){return e===void 0&&(e=0),setTimeout(t,e)}function K(){return Date.now()}function Ct(t){const e=D();let s;return e.getComputedStyle&&(s=e.getComputedStyle(t,null)),!s&&t.currentStyle&&(s=t.currentStyle),s||(s=t.style),s}function Et(t,e){e===void 0&&(e="x");const s=D();let i,r,n;const l=Ct(t);return s.WebKitCSSMatrix?(r=l.transform||l.webkitTransform,r.split(",").length>6&&(r=r.split(", ").map(o=>o.replace(",",".")).join(", ")),n=new s.WebKitCSSMatrix(r==="none"?"":r)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=n.toString().split(",")),e==="x"&&(s.WebKitCSSMatrix?r=n.m41:i.length===16?r=parseFloat(i[12]):r=parseFloat(i[4])),e==="y"&&(s.WebKitCSSMatrix?r=n.m42:i.length===16?r=parseFloat(i[13]):r=parseFloat(i[5])),r||0}function re(t){return typeof t=="object"&&t!==null&&t.constructor&&Object.prototype.toString.call(t).slice(8,-1)==="Object"}function Pt(t){return typeof window<"u"&&typeof window.HTMLElement<"u"?t instanceof HTMLElement:t&&(t.nodeType===1||t.nodeType===11)}function V(){const t=Object(arguments.length<=0?void 0:arguments[0]),e=["__proto__","constructor","prototype"];for(let s=1;s<arguments.length;s+=1){const i=s<0||arguments.length<=s?void 0:arguments[s];if(i!=null&&!Pt(i)){const r=Object.keys(Object(i)).filter(n=>e.indexOf(n)<0);for(let n=0,l=r.length;n<l;n+=1){const o=r[n],a=Object.getOwnPropertyDescriptor(i,o);a!==void 0&&a.enumerable&&(re(t[o])&&re(i[o])?i[o].__swiper__?t[o]=i[o]:V(t[o],i[o]):!re(t[o])&&re(i[o])?(t[o]={},i[o].__swiper__?t[o]=i[o]:V(t[o],i[o])):t[o]=i[o])}}}return t}function ae(t,e,s){t.style.setProperty(e,s)}function et(t){let{swiper:e,targetPosition:s,side:i}=t;const r=D(),n=-e.translate;let l=null,o;const a=e.params.speed;e.wrapperEl.style.scrollSnapType="none",r.cancelAnimationFrame(e.cssModeFrameID);const p=s>n?"next":"prev",d=(h,w)=>p==="next"&&h>=w||p==="prev"&&h<=w,c=()=>{o=new Date().getTime(),l===null&&(l=o);const h=Math.max(Math.min((o-l)/a,1),0),w=.5-Math.cos(h*Math.PI)/2;let g=n+w*(s-n);if(d(g,s)&&(g=s),e.wrapperEl.scrollTo({[i]:g}),d(g,s)){e.wrapperEl.style.overflow="hidden",e.wrapperEl.style.scrollSnapType="",setTimeout(()=>{e.wrapperEl.style.overflow="",e.wrapperEl.scrollTo({[i]:g})}),r.cancelAnimationFrame(e.cssModeFrameID);return}e.cssModeFrameID=r.requestAnimationFrame(c)};c()}function q(t,e){return e===void 0&&(e=""),[...t.children].filter(s=>s.matches(e))}function he(t){try{console.warn(t);return}catch{}}function ve(t,e){e===void 0&&(e=[]);const s=document.createElement(t);return s.classList.add(...Array.isArray(e)?e:xt(e)),s}function Mt(t){const e=D(),s=R(),i=t.getBoundingClientRect(),r=s.body,n=t.clientTop||r.clientTop||0,l=t.clientLeft||r.clientLeft||0,o=t===e?e.scrollY:t.scrollTop,a=t===e?e.scrollX:t.scrollLeft;return{top:i.top+o-n,left:i.left+a-l}}function It(t,e){const s=[];for(;t.previousElementSibling;){const i=t.previousElementSibling;e?i.matches(e)&&s.push(i):s.push(i),t=i}return s}function Ot(t,e){const s=[];for(;t.nextElementSibling;){const i=t.nextElementSibling;e?i.matches(e)&&s.push(i):s.push(i),t=i}return s}function Y(t,e){return D().getComputedStyle(t,null).getPropertyValue(e)}function be(t){let e=t,s;if(e){for(s=0;(e=e.previousSibling)!==null;)e.nodeType===1&&(s+=1);return s}}function ye(t,e){const s=[];let i=t.parentElement;for(;i;)e?i.matches(e)&&s.push(i):s.push(i),i=i.parentElement;return s}function Me(t,e){function s(i){i.target===t&&(e.call(t,i),t.removeEventListener("transitionend",s))}e&&t.addEventListener("transitionend",s)}function ke(t,e,s){const i=D();return t[e==="width"?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(t,null).getPropertyValue(e==="width"?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(t,null).getPropertyValue(e==="width"?"margin-left":"margin-bottom"))}function A(t){return(Array.isArray(t)?t:[t]).filter(e=>!!e)}let Ie;function Lt(){const t=D(),e=R();return{smoothScroll:e.documentElement&&e.documentElement.style&&"scrollBehavior"in e.documentElement.style,touch:!!("ontouchstart"in t||t.DocumentTouch&&e instanceof t.DocumentTouch)}}function tt(){return Ie||(Ie=Lt()),Ie}let Oe;function Bt(t){let{userAgent:e}=t===void 0?{}:t;const s=tt(),i=D(),r=i.navigator.platform,n=e||i.navigator.userAgent,l={ios:!1,android:!1},o=i.screen.width,a=i.screen.height,p=n.match(/(Android);?[\s\/]+([\d.]+)?/);let d=n.match(/(iPad).*OS\s([\d_]+)/);const c=n.match(/(iPod)(.*OS\s([\d_]+))?/),h=!d&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),w=r==="Win32";let g=r==="MacIntel";const v=["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"];return!d&&g&&s.touch&&v.indexOf(`${o}x${a}`)>=0&&(d=n.match(/(Version)\/([\d.]+)/),d||(d=[0,1,"13_0_0"]),g=!1),p&&!w&&(l.os="android",l.android=!0),(d||h||c)&&(l.os="ios",l.ios=!0),l}function st(t){return t===void 0&&(t={}),Oe||(Oe=Bt(t)),Oe}let Le;function zt(){const t=D(),e=st();let s=!1;function i(){const o=t.navigator.userAgent.toLowerCase();return o.indexOf("safari")>=0&&o.indexOf("chrome")<0&&o.indexOf("android")<0}if(i()){const o=String(t.navigator.userAgent);if(o.includes("Version/")){const[a,p]=o.split("Version/")[1].split(" ")[0].split(".").map(d=>Number(d));s=a<16||a===16&&p<2}}const r=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent),n=i(),l=n||r&&e.ios;return{isSafari:s||n,needPerspectiveFix:s,need3dFix:l,isWebView:r}}function At(){return Le||(Le=zt()),Le}function _t(t){let{swiper:e,on:s,emit:i}=t;const r=D();let n=null,l=null;const o=()=>{!e||e.destroyed||!e.initialized||(i("beforeResize"),i("resize"))},a=()=>{!e||e.destroyed||!e.initialized||(n=new ResizeObserver(c=>{l=r.requestAnimationFrame(()=>{const{width:h,height:w}=e;let g=h,v=w;c.forEach(x=>{let{contentBoxSize:u,contentRect:f,target:m}=x;m&&m!==e.el||(g=f?f.width:(u[0]||u).inlineSize,v=f?f.height:(u[0]||u).blockSize)}),(g!==h||v!==w)&&o()})}),n.observe(e.el))},p=()=>{l&&r.cancelAnimationFrame(l),n&&n.unobserve&&e.el&&(n.unobserve(e.el),n=null)},d=()=>{!e||e.destroyed||!e.initialized||i("orientationchange")};s("init",()=>{if(e.params.resizeObserver&&typeof r.ResizeObserver<"u"){a();return}r.addEventListener("resize",o),r.addEventListener("orientationchange",d)}),s("destroy",()=>{p(),r.removeEventListener("resize",o),r.removeEventListener("orientationchange",d)})}function Dt(t){let{swiper:e,extendParams:s,on:i,emit:r}=t;const n=[],l=D(),o=function(d,c){c===void 0&&(c={});const h=l.MutationObserver||l.WebkitMutationObserver,w=new h(g=>{if(e.__preventObserver__)return;if(g.length===1){r("observerUpdate",g[0]);return}const v=function(){r("observerUpdate",g[0])};l.requestAnimationFrame?l.requestAnimationFrame(v):l.setTimeout(v,0)});w.observe(d,{attributes:typeof c.attributes>"u"?!0:c.attributes,childList:typeof c.childList>"u"?!0:c.childList,characterData:typeof c.characterData>"u"?!0:c.characterData}),n.push(w)},a=()=>{if(e.params.observer){if(e.params.observeParents){const d=ye(e.hostEl);for(let c=0;c<d.length;c+=1)o(d[c])}o(e.hostEl,{childList:e.params.observeSlideChildren}),o(e.wrapperEl,{attributes:!1})}},p=()=>{n.forEach(d=>{d.disconnect()}),n.splice(0,n.length)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),i("init",a),i("destroy",p)}var kt={on(t,e,s){const i=this;if(!i.eventsListeners||i.destroyed||typeof e!="function")return i;const r=s?"unshift":"push";return t.split(" ").forEach(n=>{i.eventsListeners[n]||(i.eventsListeners[n]=[]),i.eventsListeners[n][r](e)}),i},once(t,e,s){const i=this;if(!i.eventsListeners||i.destroyed||typeof e!="function")return i;function r(){i.off(t,r),r.__emitterProxy&&delete r.__emitterProxy;for(var n=arguments.length,l=new Array(n),o=0;o<n;o++)l[o]=arguments[o];e.apply(i,l)}return r.__emitterProxy=e,i.on(t,r,s)},onAny(t,e){const s=this;if(!s.eventsListeners||s.destroyed||typeof t!="function")return s;const i=e?"unshift":"push";return s.eventsAnyListeners.indexOf(t)<0&&s.eventsAnyListeners[i](t),s},offAny(t){const e=this;if(!e.eventsListeners||e.destroyed||!e.eventsAnyListeners)return e;const s=e.eventsAnyListeners.indexOf(t);return s>=0&&e.eventsAnyListeners.splice(s,1),e},off(t,e){const s=this;return!s.eventsListeners||s.destroyed||!s.eventsListeners||t.split(" ").forEach(i=>{typeof e>"u"?s.eventsListeners[i]=[]:s.eventsListeners[i]&&s.eventsListeners[i].forEach((r,n)=>{(r===e||r.__emitterProxy&&r.__emitterProxy===e)&&s.eventsListeners[i].splice(n,1)})}),s},emit(){const t=this;if(!t.eventsListeners||t.destroyed||!t.eventsListeners)return t;let e,s,i;for(var r=arguments.length,n=new Array(r),l=0;l<r;l++)n[l]=arguments[l];return typeof n[0]=="string"||Array.isArray(n[0])?(e=n[0],s=n.slice(1,n.length),i=t):(e=n[0].events,s=n[0].data,i=n[0].context||t),s.unshift(i),(Array.isArray(e)?e:e.split(" ")).forEach(a=>{t.eventsAnyListeners&&t.eventsAnyListeners.length&&t.eventsAnyListeners.forEach(p=>{p.apply(i,[a,...s])}),t.eventsListeners&&t.eventsListeners[a]&&t.eventsListeners[a].forEach(p=>{p.apply(i,s)})}),t}};function Vt(){const t=this;let e,s;const i=t.el;typeof t.params.width<"u"&&t.params.width!==null?e=t.params.width:e=i.clientWidth,typeof t.params.height<"u"&&t.params.height!==null?s=t.params.height:s=i.clientHeight,!(e===0&&t.isHorizontal()||s===0&&t.isVertical())&&(e=e-parseInt(Y(i,"padding-left")||0,10)-parseInt(Y(i,"padding-right")||0,10),s=s-parseInt(Y(i,"padding-top")||0,10)-parseInt(Y(i,"padding-bottom")||0,10),Number.isNaN(e)&&(e=0),Number.isNaN(s)&&(s=0),Object.assign(t,{width:e,height:s,size:t.isHorizontal()?e:s}))}function Nt(){const t=this;function e(b,E){return parseFloat(b.getPropertyValue(t.getDirectionLabel(E))||0)}const s=t.params,{wrapperEl:i,slidesEl:r,size:n,rtlTranslate:l,wrongRTL:o}=t,a=t.virtual&&s.virtual.enabled,p=a?t.virtual.slides.length:t.slides.length,d=q(r,`.${t.params.slideClass}, swiper-slide`),c=a?t.virtual.slides.length:d.length;let h=[];const w=[],g=[];let v=s.slidesOffsetBefore;typeof v=="function"&&(v=s.slidesOffsetBefore.call(t));let x=s.slidesOffsetAfter;typeof x=="function"&&(x=s.slidesOffsetAfter.call(t));const u=t.snapGrid.length,f=t.slidesGrid.length;let m=s.spaceBetween,y=-v,C=0,I=0;if(typeof n>"u")return;typeof m=="string"&&m.indexOf("%")>=0?m=parseFloat(m.replace("%",""))/100*n:typeof m=="string"&&(m=parseFloat(m)),t.virtualSize=-m,d.forEach(b=>{l?b.style.marginLeft="":b.style.marginRight="",b.style.marginBottom="",b.style.marginTop=""}),s.centeredSlides&&s.cssMode&&(ae(i,"--swiper-centered-offset-before",""),ae(i,"--swiper-centered-offset-after",""));const B=s.grid&&s.grid.rows>1&&t.grid;B?t.grid.initSlides(d):t.grid&&t.grid.unsetSlides();let T;const S=s.slidesPerView==="auto"&&s.breakpoints&&Object.keys(s.breakpoints).filter(b=>typeof s.breakpoints[b].slidesPerView<"u").length>0;for(let b=0;b<c;b+=1){T=0;let E;if(d[b]&&(E=d[b]),B&&t.grid.updateSlide(b,E,d),!(d[b]&&Y(E,"display")==="none")){if(s.slidesPerView==="auto"){S&&(d[b].style[t.getDirectionLabel("width")]="");const M=getComputedStyle(E),P=E.style.transform,O=E.style.webkitTransform;if(P&&(E.style.transform="none"),O&&(E.style.webkitTransform="none"),s.roundLengths)T=t.isHorizontal()?ke(E,"width"):ke(E,"height");else{const z=e(M,"width"),F=e(M,"padding-left"),xe=e(M,"padding-right"),L=e(M,"margin-left"),G=e(M,"margin-right"),_=M.getPropertyValue("box-sizing");if(_&&_==="border-box")T=z+L+G;else{const{clientWidth:X,offsetWidth:ie}=E;T=z+F+xe+L+G+(ie-X)}}P&&(E.style.transform=P),O&&(E.style.webkitTransform=O),s.roundLengths&&(T=Math.floor(T))}else T=(n-(s.slidesPerView-1)*m)/s.slidesPerView,s.roundLengths&&(T=Math.floor(T)),d[b]&&(d[b].style[t.getDirectionLabel("width")]=`${T}px`);d[b]&&(d[b].swiperSlideSize=T),g.push(T),s.centeredSlides?(y=y+T/2+C/2+m,C===0&&b!==0&&(y=y-n/2-m),b===0&&(y=y-n/2-m),Math.abs(y)<1/1e3&&(y=0),s.roundLengths&&(y=Math.floor(y)),I%s.slidesPerGroup===0&&h.push(y),w.push(y)):(s.roundLengths&&(y=Math.floor(y)),(I-Math.min(t.params.slidesPerGroupSkip,I))%t.params.slidesPerGroup===0&&h.push(y),w.push(y),y=y+T+m),t.virtualSize+=T+m,C=T,I+=1}}if(t.virtualSize=Math.max(t.virtualSize,n)+x,l&&o&&(s.effect==="slide"||s.effect==="coverflow")&&(i.style.width=`${t.virtualSize+m}px`),s.setWrapperSize&&(i.style[t.getDirectionLabel("width")]=`${t.virtualSize+m}px`),B&&t.grid.updateWrapperSize(T,h),!s.centeredSlides){const b=[];for(let E=0;E<h.length;E+=1){let M=h[E];s.roundLengths&&(M=Math.floor(M)),h[E]<=t.virtualSize-n&&b.push(M)}h=b,Math.floor(t.virtualSize-n)-Math.floor(h[h.length-1])>1&&h.push(t.virtualSize-n)}if(a&&s.loop){const b=g[0]+m;if(s.slidesPerGroup>1){const E=Math.ceil((t.virtual.slidesBefore+t.virtual.slidesAfter)/s.slidesPerGroup),M=b*s.slidesPerGroup;for(let P=0;P<E;P+=1)h.push(h[h.length-1]+M)}for(let E=0;E<t.virtual.slidesBefore+t.virtual.slidesAfter;E+=1)s.slidesPerGroup===1&&h.push(h[h.length-1]+b),w.push(w[w.length-1]+b),t.virtualSize+=b}if(h.length===0&&(h=[0]),m!==0){const b=t.isHorizontal()&&l?"marginLeft":t.getDirectionLabel("marginRight");d.filter((E,M)=>!s.cssMode||s.loop?!0:M!==d.length-1).forEach(E=>{E.style[b]=`${m}px`})}if(s.centeredSlides&&s.centeredSlidesBounds){let b=0;g.forEach(M=>{b+=M+(m||0)}),b-=m;const E=b-n;h=h.map(M=>M<=0?-v:M>E?E+x:M)}if(s.centerInsufficientSlides){let b=0;if(g.forEach(E=>{b+=E+(m||0)}),b-=m,b<n){const E=(n-b)/2;h.forEach((M,P)=>{h[P]=M-E}),w.forEach((M,P)=>{w[P]=M+E})}}if(Object.assign(t,{slides:d,snapGrid:h,slidesGrid:w,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){ae(i,"--swiper-centered-offset-before",`${-h[0]}px`),ae(i,"--swiper-centered-offset-after",`${t.size/2-g[g.length-1]/2}px`);const b=-t.snapGrid[0],E=-t.slidesGrid[0];t.snapGrid=t.snapGrid.map(M=>M+b),t.slidesGrid=t.slidesGrid.map(M=>M+E)}if(c!==p&&t.emit("slidesLengthChange"),h.length!==u&&(t.params.watchOverflow&&t.checkOverflow(),t.emit("snapGridLengthChange")),w.length!==f&&t.emit("slidesGridLengthChange"),s.watchSlidesProgress&&t.updateSlidesOffset(),t.emit("slidesUpdated"),!a&&!s.cssMode&&(s.effect==="slide"||s.effect==="fade")){const b=`${s.containerModifierClass}backface-hidden`,E=t.el.classList.contains(b);c<=s.maxBackfaceHiddenSlides?E||t.el.classList.add(b):E&&t.el.classList.remove(b)}}function Gt(t){const e=this,s=[],i=e.virtual&&e.params.virtual.enabled;let r=0,n;typeof t=="number"?e.setTransition(t):t===!0&&e.setTransition(e.params.speed);const l=o=>i?e.slides[e.getSlideIndexByData(o)]:e.slides[o];if(e.params.slidesPerView!=="auto"&&e.params.slidesPerView>1)if(e.params.centeredSlides)(e.visibleSlides||[]).forEach(o=>{s.push(o)});else for(n=0;n<Math.ceil(e.params.slidesPerView);n+=1){const o=e.activeIndex+n;if(o>e.slides.length&&!i)break;s.push(l(o))}else s.push(l(e.activeIndex));for(n=0;n<s.length;n+=1)if(typeof s[n]<"u"){const o=s[n].offsetHeight;r=o>r?o:r}(r||r===0)&&(e.wrapperEl.style.height=`${r}px`)}function jt(){const t=this,e=t.slides,s=t.isElement?t.isHorizontal()?t.wrapperEl.offsetLeft:t.wrapperEl.offsetTop:0;for(let i=0;i<e.length;i+=1)e[i].swiperSlideOffset=(t.isHorizontal()?e[i].offsetLeft:e[i].offsetTop)-s-t.cssOverflowAdjustment()}function Rt(t){t===void 0&&(t=this&&this.translate||0);const e=this,s=e.params,{slides:i,rtlTranslate:r,snapGrid:n}=e;if(i.length===0)return;typeof i[0].swiperSlideOffset>"u"&&e.updateSlidesOffset();let l=-t;r&&(l=t),i.forEach(a=>{a.classList.remove(s.slideVisibleClass,s.slideFullyVisibleClass)}),e.visibleSlidesIndexes=[],e.visibleSlides=[];let o=s.spaceBetween;typeof o=="string"&&o.indexOf("%")>=0?o=parseFloat(o.replace("%",""))/100*e.size:typeof o=="string"&&(o=parseFloat(o));for(let a=0;a<i.length;a+=1){const p=i[a];let d=p.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(d-=i[0].swiperSlideOffset);const c=(l+(s.centeredSlides?e.minTranslate():0)-d)/(p.swiperSlideSize+o),h=(l-n[0]+(s.centeredSlides?e.minTranslate():0)-d)/(p.swiperSlideSize+o),w=-(l-d),g=w+e.slidesSizesGrid[a],v=w>=0&&w<=e.size-e.slidesSizesGrid[a];(w>=0&&w<e.size-1||g>1&&g<=e.size||w<=0&&g>=e.size)&&(e.visibleSlides.push(p),e.visibleSlidesIndexes.push(a),i[a].classList.add(s.slideVisibleClass)),v&&i[a].classList.add(s.slideFullyVisibleClass),p.progress=r?-c:c,p.originalProgress=r?-h:h}}function Ft(t){const e=this;if(typeof t>"u"){const d=e.rtlTranslate?-1:1;t=e&&e.translate&&e.translate*d||0}const s=e.params,i=e.maxTranslate()-e.minTranslate();let{progress:r,isBeginning:n,isEnd:l,progressLoop:o}=e;const a=n,p=l;if(i===0)r=0,n=!0,l=!0;else{r=(t-e.minTranslate())/i;const d=Math.abs(t-e.minTranslate())<1,c=Math.abs(t-e.maxTranslate())<1;n=d||r<=0,l=c||r>=1,d&&(r=0),c&&(r=1)}if(s.loop){const d=e.getSlideIndexByData(0),c=e.getSlideIndexByData(e.slides.length-1),h=e.slidesGrid[d],w=e.slidesGrid[c],g=e.slidesGrid[e.slidesGrid.length-1],v=Math.abs(t);v>=h?o=(v-h)/g:o=(v+g-w)/g,o>1&&(o-=1)}Object.assign(e,{progress:r,progressLoop:o,isBeginning:n,isEnd:l}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&e.updateSlidesProgress(t),n&&!a&&e.emit("reachBeginning toEdge"),l&&!p&&e.emit("reachEnd toEdge"),(a&&!n||p&&!l)&&e.emit("fromEdge"),e.emit("progress",r)}function qt(){const t=this,{slides:e,params:s,slidesEl:i,activeIndex:r}=t,n=t.virtual&&s.virtual.enabled,l=t.grid&&s.grid&&s.grid.rows>1,o=c=>q(i,`.${s.slideClass}${c}, swiper-slide${c}`)[0];e.forEach(c=>{c.classList.remove(s.slideActiveClass,s.slideNextClass,s.slidePrevClass)});let a,p,d;if(n)if(s.loop){let c=r-t.virtual.slidesBefore;c<0&&(c=t.virtual.slides.length+c),c>=t.virtual.slides.length&&(c-=t.virtual.slides.length),a=o(`[data-swiper-slide-index="${c}"]`)}else a=o(`[data-swiper-slide-index="${r}"]`);else l?(a=e.filter(c=>c.column===r)[0],d=e.filter(c=>c.column===r+1)[0],p=e.filter(c=>c.column===r-1)[0]):a=e[r];a&&(a.classList.add(s.slideActiveClass),l?(d&&d.classList.add(s.slideNextClass),p&&p.classList.add(s.slidePrevClass)):(d=Ot(a,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!d&&(d=e[0]),d&&d.classList.add(s.slideNextClass),p=It(a,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!p===0&&(p=e[e.length-1]),p&&p.classList.add(s.slidePrevClass))),t.emitSlidesClasses()}const ge=(t,e)=>{if(!t||t.destroyed||!t.params)return;const s=()=>t.isElement?"swiper-slide":`.${t.params.slideClass}`,i=e.closest(s());if(i){let r=i.querySelector(`.${t.params.lazyPreloaderClass}`);!r&&t.isElement&&(i.shadowRoot?r=i.shadowRoot.querySelector(`.${t.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{i.shadowRoot&&(r=i.shadowRoot.querySelector(`.${t.params.lazyPreloaderClass}`),r&&r.remove())})),r&&r.remove()}},Be=(t,e)=>{if(!t.slides[e])return;const s=t.slides[e].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},Ve=t=>{if(!t||t.destroyed||!t.params)return;let e=t.params.lazyPreloadPrevNext;const s=t.slides.length;if(!s||!e||e<0)return;e=Math.min(e,s);const i=t.params.slidesPerView==="auto"?t.slidesPerViewDynamic():Math.ceil(t.params.slidesPerView),r=t.activeIndex;if(t.params.grid&&t.params.grid.rows>1){const l=r,o=[l-e];o.push(...Array.from({length:e}).map((a,p)=>l+i+p)),t.slides.forEach((a,p)=>{o.includes(a.column)&&Be(t,p)});return}const n=r+i-1;if(t.params.rewind||t.params.loop)for(let l=r-e;l<=n+e;l+=1){const o=(l%s+s)%s;(o<r||o>n)&&Be(t,o)}else for(let l=Math.max(r-e,0);l<=Math.min(n+e,s-1);l+=1)l!==r&&(l>n||l<r)&&Be(t,l)};function $t(t){const{slidesGrid:e,params:s}=t,i=t.rtlTranslate?t.translate:-t.translate;let r;for(let n=0;n<e.length;n+=1)typeof e[n+1]<"u"?i>=e[n]&&i<e[n+1]-(e[n+1]-e[n])/2?r=n:i>=e[n]&&i<e[n+1]&&(r=n+1):i>=e[n]&&(r=n);return s.normalizeSlideIndex&&(r<0||typeof r>"u")&&(r=0),r}function Ht(t){const e=this,s=e.rtlTranslate?e.translate:-e.translate,{snapGrid:i,params:r,activeIndex:n,realIndex:l,snapIndex:o}=e;let a=t,p;const d=w=>{let g=w-e.virtual.slidesBefore;return g<0&&(g=e.virtual.slides.length+g),g>=e.virtual.slides.length&&(g-=e.virtual.slides.length),g};if(typeof a>"u"&&(a=$t(e)),i.indexOf(s)>=0)p=i.indexOf(s);else{const w=Math.min(r.slidesPerGroupSkip,a);p=w+Math.floor((a-w)/r.slidesPerGroup)}if(p>=i.length&&(p=i.length-1),a===n&&!e.params.loop){p!==o&&(e.snapIndex=p,e.emit("snapIndexChange"));return}if(a===n&&e.params.loop&&e.virtual&&e.params.virtual.enabled){e.realIndex=d(a);return}const c=e.grid&&r.grid&&r.grid.rows>1;let h;if(e.virtual&&r.virtual.enabled&&r.loop)h=d(a);else if(c){const w=e.slides.filter(v=>v.column===a)[0];let g=parseInt(w.getAttribute("data-swiper-slide-index"),10);Number.isNaN(g)&&(g=Math.max(e.slides.indexOf(w),0)),h=Math.floor(g/r.grid.rows)}else if(e.slides[a]){const w=e.slides[a].getAttribute("data-swiper-slide-index");w?h=parseInt(w,10):h=a}else h=a;Object.assign(e,{previousSnapIndex:o,snapIndex:p,previousRealIndex:l,realIndex:h,previousIndex:n,activeIndex:a}),e.initialized&&Ve(e),e.emit("activeIndexChange"),e.emit("snapIndexChange"),(e.initialized||e.params.runCallbacksOnInit)&&(l!==h&&e.emit("realIndexChange"),e.emit("slideChange"))}function Ut(t,e){const s=this,i=s.params;let r=t.closest(`.${i.slideClass}, swiper-slide`);!r&&s.isElement&&e&&e.length>1&&e.includes(t)&&[...e.slice(e.indexOf(t)+1,e.length)].forEach(o=>{!r&&o.matches&&o.matches(`.${i.slideClass}, swiper-slide`)&&(r=o)});let n=!1,l;if(r){for(let o=0;o<s.slides.length;o+=1)if(s.slides[o]===r){n=!0,l=o;break}}if(r&&n)s.clickedSlide=r,s.virtual&&s.params.virtual.enabled?s.clickedIndex=parseInt(r.getAttribute("data-swiper-slide-index"),10):s.clickedIndex=l;else{s.clickedSlide=void 0,s.clickedIndex=void 0;return}i.slideToClickedSlide&&s.clickedIndex!==void 0&&s.clickedIndex!==s.activeIndex&&s.slideToClickedSlide()}var Wt={updateSize:Vt,updateSlides:Nt,updateAutoHeight:Gt,updateSlidesOffset:jt,updateSlidesProgress:Rt,updateProgress:Ft,updateSlidesClasses:qt,updateActiveIndex:Ht,updateClickedSlide:Ut};function Yt(t){t===void 0&&(t=this.isHorizontal()?"x":"y");const e=this,{params:s,rtlTranslate:i,translate:r,wrapperEl:n}=e;if(s.virtualTranslate)return i?-r:r;if(s.cssMode)return r;let l=Et(n,t);return l+=e.cssOverflowAdjustment(),i&&(l=-l),l||0}function Xt(t,e){const s=this,{rtlTranslate:i,params:r,wrapperEl:n,progress:l}=s;let o=0,a=0;const p=0;s.isHorizontal()?o=i?-t:t:a=t,r.roundLengths&&(o=Math.floor(o),a=Math.floor(a)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:a,r.cssMode?n[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-a:r.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():a-=s.cssOverflowAdjustment(),n.style.transform=`translate3d(${o}px, ${a}px, ${p}px)`);let d;const c=s.maxTranslate()-s.minTranslate();c===0?d=0:d=(t-s.minTranslate())/c,d!==l&&s.updateProgress(t),s.emit("setTranslate",s.translate,e)}function Kt(){return-this.snapGrid[0]}function Zt(){return-this.snapGrid[this.snapGrid.length-1]}function Jt(t,e,s,i,r){t===void 0&&(t=0),e===void 0&&(e=this.params.speed),s===void 0&&(s=!0),i===void 0&&(i=!0);const n=this,{params:l,wrapperEl:o}=n;if(n.animating&&l.preventInteractionOnTransition)return!1;const a=n.minTranslate(),p=n.maxTranslate();let d;if(i&&t>a?d=a:i&&t<p?d=p:d=t,n.updateProgress(d),l.cssMode){const c=n.isHorizontal();if(e===0)o[c?"scrollLeft":"scrollTop"]=-d;else{if(!n.support.smoothScroll)return et({swiper:n,targetPosition:-d,side:c?"left":"top"}),!0;o.scrollTo({[c?"left":"top"]:-d,behavior:"smooth"})}return!0}return e===0?(n.setTransition(0),n.setTranslate(d),s&&(n.emit("beforeTransitionStart",e,r),n.emit("transitionEnd"))):(n.setTransition(e),n.setTranslate(d),s&&(n.emit("beforeTransitionStart",e,r),n.emit("transitionStart")),n.animating||(n.animating=!0,n.onTranslateToWrapperTransitionEnd||(n.onTranslateToWrapperTransitionEnd=function(h){!n||n.destroyed||h.target===this&&(n.wrapperEl.removeEventListener("transitionend",n.onTranslateToWrapperTransitionEnd),n.onTranslateToWrapperTransitionEnd=null,delete n.onTranslateToWrapperTransitionEnd,s&&n.emit("transitionEnd"))}),n.wrapperEl.addEventListener("transitionend",n.onTranslateToWrapperTransitionEnd))),!0}var Qt={getTranslate:Yt,setTranslate:Xt,minTranslate:Kt,maxTranslate:Zt,translateTo:Jt};function es(t,e){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${t}ms`,s.wrapperEl.style.transitionDelay=t===0?"0ms":""),s.emit("setTransition",t,e)}function it(t){let{swiper:e,runCallbacks:s,direction:i,step:r}=t;const{activeIndex:n,previousIndex:l}=e;let o=i;if(o||(n>l?o="next":n<l?o="prev":o="reset"),e.emit(`transition${r}`),s&&n!==l){if(o==="reset"){e.emit(`slideResetTransition${r}`);return}e.emit(`slideChangeTransition${r}`),o==="next"?e.emit(`slideNextTransition${r}`):e.emit(`slidePrevTransition${r}`)}}function ts(t,e){t===void 0&&(t=!0);const s=this,{params:i}=s;i.cssMode||(i.autoHeight&&s.updateAutoHeight(),it({swiper:s,runCallbacks:t,direction:e,step:"Start"}))}function ss(t,e){t===void 0&&(t=!0);const s=this,{params:i}=s;s.animating=!1,!i.cssMode&&(s.setTransition(0),it({swiper:s,runCallbacks:t,direction:e,step:"End"}))}var is={setTransition:es,transitionStart:ts,transitionEnd:ss};function ns(t,e,s,i,r){t===void 0&&(t=0),e===void 0&&(e=this.params.speed),s===void 0&&(s=!0),typeof t=="string"&&(t=parseInt(t,10));const n=this;let l=t;l<0&&(l=0);const{params:o,snapGrid:a,slidesGrid:p,previousIndex:d,activeIndex:c,rtlTranslate:h,wrapperEl:w,enabled:g}=n;if(n.animating&&o.preventInteractionOnTransition||!g&&!i&&!r||n.destroyed)return!1;const v=Math.min(n.params.slidesPerGroupSkip,l);let x=v+Math.floor((l-v)/n.params.slidesPerGroup);x>=a.length&&(x=a.length-1);const u=-a[x];if(o.normalizeSlideIndex)for(let m=0;m<p.length;m+=1){const y=-Math.floor(u*100),C=Math.floor(p[m]*100),I=Math.floor(p[m+1]*100);typeof p[m+1]<"u"?y>=C&&y<I-(I-C)/2?l=m:y>=C&&y<I&&(l=m+1):y>=C&&(l=m)}if(n.initialized&&l!==c&&(!n.allowSlideNext&&(h?u>n.translate&&u>n.minTranslate():u<n.translate&&u<n.minTranslate())||!n.allowSlidePrev&&u>n.translate&&u>n.maxTranslate()&&(c||0)!==l))return!1;l!==(d||0)&&s&&n.emit("beforeSlideChangeStart"),n.updateProgress(u);let f;if(l>c?f="next":l<c?f="prev":f="reset",h&&-u===n.translate||!h&&u===n.translate)return n.updateActiveIndex(l),o.autoHeight&&n.updateAutoHeight(),n.updateSlidesClasses(),o.effect!=="slide"&&n.setTranslate(u),f!=="reset"&&(n.transitionStart(s,f),n.transitionEnd(s,f)),!1;if(o.cssMode){const m=n.isHorizontal(),y=h?u:-u;if(e===0){const C=n.virtual&&n.params.virtual.enabled;C&&(n.wrapperEl.style.scrollSnapType="none",n._immediateVirtual=!0),C&&!n._cssModeVirtualInitialSet&&n.params.initialSlide>0?(n._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{w[m?"scrollLeft":"scrollTop"]=y})):w[m?"scrollLeft":"scrollTop"]=y,C&&requestAnimationFrame(()=>{n.wrapperEl.style.scrollSnapType="",n._immediateVirtual=!1})}else{if(!n.support.smoothScroll)return et({swiper:n,targetPosition:y,side:m?"left":"top"}),!0;w.scrollTo({[m?"left":"top"]:y,behavior:"smooth"})}return!0}return n.setTransition(e),n.setTranslate(u),n.updateActiveIndex(l),n.updateSlidesClasses(),n.emit("beforeTransitionStart",e,i),n.transitionStart(s,f),e===0?n.transitionEnd(s,f):n.animating||(n.animating=!0,n.onSlideToWrapperTransitionEnd||(n.onSlideToWrapperTransitionEnd=function(y){!n||n.destroyed||y.target===this&&(n.wrapperEl.removeEventListener("transitionend",n.onSlideToWrapperTransitionEnd),n.onSlideToWrapperTransitionEnd=null,delete n.onSlideToWrapperTransitionEnd,n.transitionEnd(s,f))}),n.wrapperEl.addEventListener("transitionend",n.onSlideToWrapperTransitionEnd)),!0}function rs(t,e,s,i){t===void 0&&(t=0),e===void 0&&(e=this.params.speed),s===void 0&&(s=!0),typeof t=="string"&&(t=parseInt(t,10));const r=this;if(r.destroyed)return;const n=r.grid&&r.params.grid&&r.params.grid.rows>1;let l=t;if(r.params.loop)if(r.virtual&&r.params.virtual.enabled)l=l+r.virtual.slidesBefore;else{let o;if(n){const h=l*r.params.grid.rows;o=r.slides.filter(w=>w.getAttribute("data-swiper-slide-index")*1===h)[0].column}else o=r.getSlideIndexByData(l);const a=n?Math.ceil(r.slides.length/r.params.grid.rows):r.slides.length,{centeredSlides:p}=r.params;let d=r.params.slidesPerView;d==="auto"?d=r.slidesPerViewDynamic():(d=Math.ceil(parseFloat(r.params.slidesPerView,10)),p&&d%2===0&&(d=d+1));let c=a-o<d;if(p&&(c=c||o<Math.ceil(d/2)),c){const h=p?o<r.activeIndex?"prev":"next":o-r.activeIndex-1<r.params.slidesPerView?"next":"prev";r.loopFix({direction:h,slideTo:!0,activeSlideIndex:h==="next"?o+1:o-a+1,slideRealIndex:h==="next"?r.realIndex:void 0})}if(n){const h=l*r.params.grid.rows;l=r.slides.filter(w=>w.getAttribute("data-swiper-slide-index")*1===h)[0].column}else l=r.getSlideIndexByData(l)}return requestAnimationFrame(()=>{r.slideTo(l,e,s,i)}),r}function as(t,e,s){t===void 0&&(t=this.params.speed),e===void 0&&(e=!0);const i=this,{enabled:r,params:n,animating:l}=i;if(!r||i.destroyed)return i;let o=n.slidesPerGroup;n.slidesPerView==="auto"&&n.slidesPerGroup===1&&n.slidesPerGroupAuto&&(o=Math.max(i.slidesPerViewDynamic("current",!0),1));const a=i.activeIndex<n.slidesPerGroupSkip?1:o,p=i.virtual&&n.virtual.enabled;if(n.loop){if(l&&!p&&n.loopPreventsSliding)return!1;if(i.loopFix({direction:"next"}),i._clientLeft=i.wrapperEl.clientLeft,i.activeIndex===i.slides.length-1&&n.cssMode)return requestAnimationFrame(()=>{i.slideTo(i.activeIndex+a,t,e,s)}),!0}return n.rewind&&i.isEnd?i.slideTo(0,t,e,s):i.slideTo(i.activeIndex+a,t,e,s)}function ls(t,e,s){t===void 0&&(t=this.params.speed),e===void 0&&(e=!0);const i=this,{params:r,snapGrid:n,slidesGrid:l,rtlTranslate:o,enabled:a,animating:p}=i;if(!a||i.destroyed)return i;const d=i.virtual&&r.virtual.enabled;if(r.loop){if(p&&!d&&r.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}const c=o?i.translate:-i.translate;function h(u){return u<0?-Math.floor(Math.abs(u)):Math.floor(u)}const w=h(c),g=n.map(u=>h(u));let v=n[g.indexOf(w)-1];if(typeof v>"u"&&r.cssMode){let u;n.forEach((f,m)=>{w>=f&&(u=m)}),typeof u<"u"&&(v=n[u>0?u-1:u])}let x=0;if(typeof v<"u"&&(x=l.indexOf(v),x<0&&(x=i.activeIndex-1),r.slidesPerView==="auto"&&r.slidesPerGroup===1&&r.slidesPerGroupAuto&&(x=x-i.slidesPerViewDynamic("previous",!0)+1,x=Math.max(x,0))),r.rewind&&i.isBeginning){const u=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(u,t,e,s)}else if(r.loop&&i.activeIndex===0&&r.cssMode)return requestAnimationFrame(()=>{i.slideTo(x,t,e,s)}),!0;return i.slideTo(x,t,e,s)}function os(t,e,s){t===void 0&&(t=this.params.speed),e===void 0&&(e=!0);const i=this;if(!i.destroyed)return i.slideTo(i.activeIndex,t,e,s)}function ds(t,e,s,i){t===void 0&&(t=this.params.speed),e===void 0&&(e=!0),i===void 0&&(i=.5);const r=this;if(r.destroyed)return;let n=r.activeIndex;const l=Math.min(r.params.slidesPerGroupSkip,n),o=l+Math.floor((n-l)/r.params.slidesPerGroup),a=r.rtlTranslate?r.translate:-r.translate;if(a>=r.snapGrid[o]){const p=r.snapGrid[o],d=r.snapGrid[o+1];a-p>(d-p)*i&&(n+=r.params.slidesPerGroup)}else{const p=r.snapGrid[o-1],d=r.snapGrid[o];a-p<=(d-p)*i&&(n-=r.params.slidesPerGroup)}return n=Math.max(n,0),n=Math.min(n,r.slidesGrid.length-1),r.slideTo(n,t,e,s)}function us(){const t=this;if(t.destroyed)return;const{params:e,slidesEl:s}=t,i=e.slidesPerView==="auto"?t.slidesPerViewDynamic():e.slidesPerView;let r=t.clickedIndex,n;const l=t.isElement?"swiper-slide":`.${e.slideClass}`;if(e.loop){if(t.animating)return;n=parseInt(t.clickedSlide.getAttribute("data-swiper-slide-index"),10),e.centeredSlides?r<t.loopedSlides-i/2||r>t.slides.length-t.loopedSlides+i/2?(t.loopFix(),r=t.getSlideIndex(q(s,`${l}[data-swiper-slide-index="${n}"]`)[0]),De(()=>{t.slideTo(r)})):t.slideTo(r):r>t.slides.length-i?(t.loopFix(),r=t.getSlideIndex(q(s,`${l}[data-swiper-slide-index="${n}"]`)[0]),De(()=>{t.slideTo(r)})):t.slideTo(r)}else t.slideTo(r)}var cs={slideTo:ns,slideToLoop:rs,slideNext:as,slidePrev:ls,slideReset:os,slideToClosest:ds,slideToClickedSlide:us};function ps(t){const e=this,{params:s,slidesEl:i}=e;if(!s.loop||e.virtual&&e.params.virtual.enabled)return;const r=()=>{q(i,`.${s.slideClass}, swiper-slide`).forEach((c,h)=>{c.setAttribute("data-swiper-slide-index",h)})},n=e.grid&&s.grid&&s.grid.rows>1,l=s.slidesPerGroup*(n?s.grid.rows:1),o=e.slides.length%l!==0,a=n&&e.slides.length%s.grid.rows!==0,p=d=>{for(let c=0;c<d;c+=1){const h=e.isElement?ve("swiper-slide",[s.slideBlankClass]):ve("div",[s.slideClass,s.slideBlankClass]);e.slidesEl.append(h)}};if(o){if(s.loopAddBlankSlides){const d=l-e.slides.length%l;p(d),e.recalcSlides(),e.updateSlides()}else he("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");r()}else if(a){if(s.loopAddBlankSlides){const d=s.grid.rows-e.slides.length%s.grid.rows;p(d),e.recalcSlides(),e.updateSlides()}else he("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");r()}else r();e.loopFix({slideRealIndex:t,direction:s.centeredSlides?void 0:"next"})}function fs(t){let{slideRealIndex:e,slideTo:s=!0,direction:i,setTranslate:r,activeSlideIndex:n,byController:l,byMousewheel:o}=t===void 0?{}:t;const a=this;if(!a.params.loop)return;a.emit("beforeLoopFix");const{slides:p,allowSlidePrev:d,allowSlideNext:c,slidesEl:h,params:w}=a,{centeredSlides:g}=w;if(a.allowSlidePrev=!0,a.allowSlideNext=!0,a.virtual&&w.virtual.enabled){s&&(!w.centeredSlides&&a.snapIndex===0?a.slideTo(a.virtual.slides.length,0,!1,!0):w.centeredSlides&&a.snapIndex<w.slidesPerView?a.slideTo(a.virtual.slides.length+a.snapIndex,0,!1,!0):a.snapIndex===a.snapGrid.length-1&&a.slideTo(a.virtual.slidesBefore,0,!1,!0)),a.allowSlidePrev=d,a.allowSlideNext=c,a.emit("loopFix");return}let v=w.slidesPerView;v==="auto"?v=a.slidesPerViewDynamic():(v=Math.ceil(parseFloat(w.slidesPerView,10)),g&&v%2===0&&(v=v+1));const x=w.slidesPerGroupAuto?v:w.slidesPerGroup;let u=x;u%x!==0&&(u+=x-u%x),u+=w.loopAdditionalSlides,a.loopedSlides=u;const f=a.grid&&w.grid&&w.grid.rows>1;p.length<v+u?he("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):f&&w.grid.fill==="row"&&he("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const m=[],y=[];let C=a.activeIndex;typeof n>"u"?n=a.getSlideIndex(p.filter(P=>P.classList.contains(w.slideActiveClass))[0]):C=n;const I=i==="next"||!i,B=i==="prev"||!i;let T=0,S=0;const b=f?Math.ceil(p.length/w.grid.rows):p.length,M=(f?p[n].column:n)+(g&&typeof r>"u"?-v/2+.5:0);if(M<u){T=Math.max(u-M,x);for(let P=0;P<u-M;P+=1){const O=P-Math.floor(P/b)*b;if(f){const z=b-O-1;for(let F=p.length-1;F>=0;F-=1)p[F].column===z&&m.push(F)}else m.push(b-O-1)}}else if(M+v>b-u){S=Math.max(M-(b-u*2),x);for(let P=0;P<S;P+=1){const O=P-Math.floor(P/b)*b;f?p.forEach((z,F)=>{z.column===O&&y.push(F)}):y.push(O)}}if(a.__preventObserver__=!0,requestAnimationFrame(()=>{a.__preventObserver__=!1}),B&&m.forEach(P=>{p[P].swiperLoopMoveDOM=!0,h.prepend(p[P]),p[P].swiperLoopMoveDOM=!1}),I&&y.forEach(P=>{p[P].swiperLoopMoveDOM=!0,h.append(p[P]),p[P].swiperLoopMoveDOM=!1}),a.recalcSlides(),w.slidesPerView==="auto"?a.updateSlides():f&&(m.length>0&&B||y.length>0&&I)&&a.slides.forEach((P,O)=>{a.grid.updateSlide(O,P,a.slides)}),w.watchSlidesProgress&&a.updateSlidesOffset(),s){if(m.length>0&&B){if(typeof e>"u"){const P=a.slidesGrid[C],z=a.slidesGrid[C+T]-P;o?a.setTranslate(a.translate-z):(a.slideTo(C+T,0,!1,!0),r&&(a.touchEventsData.startTranslate=a.touchEventsData.startTranslate-z,a.touchEventsData.currentTranslate=a.touchEventsData.currentTranslate-z))}else if(r){const P=f?m.length/w.grid.rows:m.length;a.slideTo(a.activeIndex+P,0,!1,!0),a.touchEventsData.currentTranslate=a.translate}}else if(y.length>0&&I)if(typeof e>"u"){const P=a.slidesGrid[C],z=a.slidesGrid[C-S]-P;o?a.setTranslate(a.translate-z):(a.slideTo(C-S,0,!1,!0),r&&(a.touchEventsData.startTranslate=a.touchEventsData.startTranslate-z,a.touchEventsData.currentTranslate=a.touchEventsData.currentTranslate-z))}else{const P=f?y.length/w.grid.rows:y.length;a.slideTo(a.activeIndex-P,0,!1,!0)}}if(a.allowSlidePrev=d,a.allowSlideNext=c,a.controller&&a.controller.control&&!l){const P={slideRealIndex:e,direction:i,setTranslate:r,activeSlideIndex:n,byController:!0};Array.isArray(a.controller.control)?a.controller.control.forEach(O=>{!O.destroyed&&O.params.loop&&O.loopFix({...P,slideTo:O.params.slidesPerView===w.slidesPerView?s:!1})}):a.controller.control instanceof a.constructor&&a.controller.control.params.loop&&a.controller.control.loopFix({...P,slideTo:a.controller.control.params.slidesPerView===w.slidesPerView?s:!1})}a.emit("loopFix")}function ms(){const t=this,{params:e,slidesEl:s}=t;if(!e.loop||t.virtual&&t.params.virtual.enabled)return;t.recalcSlides();const i=[];t.slides.forEach(r=>{const n=typeof r.swiperSlideIndex>"u"?r.getAttribute("data-swiper-slide-index")*1:r.swiperSlideIndex;i[n]=r}),t.slides.forEach(r=>{r.removeAttribute("data-swiper-slide-index")}),i.forEach(r=>{s.append(r)}),t.recalcSlides(),t.slideTo(t.realIndex,0)}var ws={loopCreate:ps,loopFix:fs,loopDestroy:ms};function gs(t){const e=this;if(!e.params.simulateTouch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)return;const s=e.params.touchEventsTarget==="container"?e.el:e.wrapperEl;e.isElement&&(e.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=t?"grabbing":"grab",e.isElement&&requestAnimationFrame(()=>{e.__preventObserver__=!1})}function hs(){const t=this;t.params.watchOverflow&&t.isLocked||t.params.cssMode||(t.isElement&&(t.__preventObserver__=!0),t[t.params.touchEventsTarget==="container"?"el":"wrapperEl"].style.cursor="",t.isElement&&requestAnimationFrame(()=>{t.__preventObserver__=!1}))}var vs={setGrabCursor:gs,unsetGrabCursor:hs};function bs(t,e){e===void 0&&(e=this);function s(i){if(!i||i===R()||i===D())return null;i.assignedSlot&&(i=i.assignedSlot);const r=i.closest(t);return!r&&!i.getRootNode?null:r||s(i.getRootNode().host)}return s(e)}function qe(t,e,s){const i=D(),{params:r}=t,n=r.edgeSwipeDetection,l=r.edgeSwipeThreshold;return n&&(s<=l||s>=i.innerWidth-l)?n==="prevent"?(e.preventDefault(),!0):!1:!0}function ys(t){const e=this,s=R();let i=t;i.originalEvent&&(i=i.originalEvent);const r=e.touchEventsData;if(i.type==="pointerdown"){if(r.pointerId!==null&&r.pointerId!==i.pointerId)return;r.pointerId=i.pointerId}else i.type==="touchstart"&&i.targetTouches.length===1&&(r.touchId=i.targetTouches[0].identifier);if(i.type==="touchstart"){qe(e,i,i.targetTouches[0].pageX);return}const{params:n,touches:l,enabled:o}=e;if(!o||!n.simulateTouch&&i.pointerType==="mouse"||e.animating&&n.preventInteractionOnTransition)return;!e.animating&&n.cssMode&&n.loop&&e.loopFix();let a=i.target;if(n.touchEventsTarget==="wrapper"&&!e.wrapperEl.contains(a)||"which"in i&&i.which===3||"button"in i&&i.button>0||r.isTouched&&r.isMoved)return;const p=!!n.noSwipingClass&&n.noSwipingClass!=="",d=i.composedPath?i.composedPath():i.path;p&&i.target&&i.target.shadowRoot&&d&&(a=d[0]);const c=n.noSwipingSelector?n.noSwipingSelector:`.${n.noSwipingClass}`,h=!!(i.target&&i.target.shadowRoot);if(n.noSwiping&&(h?bs(c,a):a.closest(c))){e.allowClick=!0;return}if(n.swipeHandler&&!a.closest(n.swipeHandler))return;l.currentX=i.pageX,l.currentY=i.pageY;const w=l.currentX,g=l.currentY;if(!qe(e,i,w))return;Object.assign(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),l.startX=w,l.startY=g,r.touchStartTime=K(),e.allowClick=!0,e.updateSize(),e.swipeDirection=void 0,n.threshold>0&&(r.allowThresholdMove=!1);let v=!0;a.matches(r.focusableElements)&&(v=!1,a.nodeName==="SELECT"&&(r.isTouched=!1)),s.activeElement&&s.activeElement.matches(r.focusableElements)&&s.activeElement!==a&&s.activeElement.blur();const x=v&&e.allowTouchMove&&n.touchStartPreventDefault;(n.touchStartForcePreventDefault||x)&&!a.isContentEditable&&i.preventDefault(),n.freeMode&&n.freeMode.enabled&&e.freeMode&&e.animating&&!n.cssMode&&e.freeMode.onTouchStart(),e.emit("touchStart",i)}function Ss(t){const e=R(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:o}=s;if(!o||!r.simulateTouch&&t.pointerType==="mouse")return;let a=t;if(a.originalEvent&&(a=a.originalEvent),a.type==="pointermove"&&(i.touchId!==null||a.pointerId!==i.pointerId))return;let p;if(a.type==="touchmove"){if(p=[...a.changedTouches].filter(C=>C.identifier===i.touchId)[0],!p||p.identifier!==i.touchId)return}else p=a;if(!i.isTouched){i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",a);return}const d=p.pageX,c=p.pageY;if(a.preventedByNestedSwiper){n.startX=d,n.startY=c;return}if(!s.allowTouchMove){a.target.matches(i.focusableElements)||(s.allowClick=!1),i.isTouched&&(Object.assign(n,{startX:d,startY:c,currentX:d,currentY:c}),i.touchStartTime=K());return}if(r.touchReleaseOnEdges&&!r.loop){if(s.isVertical()){if(c<n.startY&&s.translate<=s.maxTranslate()||c>n.startY&&s.translate>=s.minTranslate()){i.isTouched=!1,i.isMoved=!1;return}}else if(d<n.startX&&s.translate<=s.maxTranslate()||d>n.startX&&s.translate>=s.minTranslate())return}if(e.activeElement&&a.target===e.activeElement&&a.target.matches(i.focusableElements)){i.isMoved=!0,s.allowClick=!1;return}i.allowTouchCallbacks&&s.emit("touchMove",a),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=d,n.currentY=c;const h=n.currentX-n.startX,w=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+w**2)<s.params.threshold)return;if(typeof i.isScrolling>"u"){let C;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?i.isScrolling=!1:h*h+w*w>=25&&(C=Math.atan2(Math.abs(w),Math.abs(h))*180/Math.PI,i.isScrolling=s.isHorizontal()?C>r.touchAngle:90-C>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",a),typeof i.startMoving>"u"&&(n.currentX!==n.startX||n.currentY!==n.startY)&&(i.startMoving=!0),i.isScrolling){i.isTouched=!1;return}if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&a.cancelable&&a.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&a.stopPropagation();let g=s.isHorizontal()?h:w,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(l?1:-1),v=Math.abs(v)*(l?1:-1)),n.diff=g,g*=r.touchRatio,l&&(g=-g,v=-v);const x=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const u=s.params.loop&&!r.cssMode,f=s.touchesDirection==="next"&&s.allowSlideNext||s.touchesDirection==="prev"&&s.allowSlidePrev;if(!i.isMoved){if(u&&f&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const C=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});s.wrapperEl.dispatchEvent(C)}i.allowMomentumBounce=!1,r.grabCursor&&(s.allowSlideNext===!0||s.allowSlidePrev===!0)&&s.setGrabCursor(!0),s.emit("sliderFirstMove",a)}if(new Date().getTime(),i.isMoved&&i.allowThresholdMove&&x!==s.touchesDirection&&u&&f&&Math.abs(g)>=1){Object.assign(n,{startX:d,startY:c,currentX:d,currentY:c,startTranslate:i.currentTranslate}),i.loopSwapReset=!0,i.startTranslate=i.currentTranslate;return}s.emit("sliderMove",a),i.isMoved=!0,i.currentTranslate=g+i.startTranslate;let m=!0,y=r.resistanceRatio;if(r.touchReleaseOnEdges&&(y=0),g>0?(u&&f&&i.allowThresholdMove&&i.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),i.currentTranslate>s.minTranslate()&&(m=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+g)**y))):g<0&&(u&&f&&i.allowThresholdMove&&i.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]:s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-(r.slidesPerView==="auto"?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslate<s.maxTranslate()&&(m=!1,r.resistance&&(i.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-i.startTranslate-g)**y))),m&&(a.preventedByNestedSwiper=!0),!s.allowSlideNext&&s.swipeDirection==="next"&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!s.allowSlidePrev&&s.swipeDirection==="prev"&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),!s.allowSlidePrev&&!s.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0)if(Math.abs(g)>r.threshold||i.allowThresholdMove){if(!i.allowThresholdMove){i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY;return}}else{i.currentTranslate=i.startTranslate;return}!r.followFinger||r.cssMode||((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function xs(t){const e=this,s=e.touchEventsData;let i=t;i.originalEvent&&(i=i.originalEvent);let r;if(i.type==="touchend"||i.type==="touchcancel"){if(r=[...i.changedTouches].filter(C=>C.identifier===s.touchId)[0],!r||r.identifier!==s.touchId)return}else{if(s.touchId!==null||i.pointerId!==s.pointerId)return;r=i}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(i.type)&&!(["pointercancel","contextmenu"].includes(i.type)&&(e.browser.isSafari||e.browser.isWebView)))return;s.pointerId=null,s.touchId=null;const{params:l,touches:o,rtlTranslate:a,slidesGrid:p,enabled:d}=e;if(!d||!l.simulateTouch&&i.pointerType==="mouse")return;if(s.allowTouchCallbacks&&e.emit("touchEnd",i),s.allowTouchCallbacks=!1,!s.isTouched){s.isMoved&&l.grabCursor&&e.setGrabCursor(!1),s.isMoved=!1,s.startMoving=!1;return}l.grabCursor&&s.isMoved&&s.isTouched&&(e.allowSlideNext===!0||e.allowSlidePrev===!0)&&e.setGrabCursor(!1);const c=K(),h=c-s.touchStartTime;if(e.allowClick){const C=i.path||i.composedPath&&i.composedPath();e.updateClickedSlide(C&&C[0]||i.target,C),e.emit("tap click",i),h<300&&c-s.lastClickTime<300&&e.emit("doubleTap doubleClick",i)}if(s.lastClickTime=K(),De(()=>{e.destroyed||(e.allowClick=!0)}),!s.isTouched||!s.isMoved||!e.swipeDirection||o.diff===0&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset){s.isTouched=!1,s.isMoved=!1,s.startMoving=!1;return}s.isTouched=!1,s.isMoved=!1,s.startMoving=!1;let w;if(l.followFinger?w=a?e.translate:-e.translate:w=-s.currentTranslate,l.cssMode)return;if(l.freeMode&&l.freeMode.enabled){e.freeMode.onTouchEnd({currentPos:w});return}const g=w>=-e.maxTranslate()&&!e.params.loop;let v=0,x=e.slidesSizesGrid[0];for(let C=0;C<p.length;C+=C<l.slidesPerGroupSkip?1:l.slidesPerGroup){const I=C<l.slidesPerGroupSkip-1?1:l.slidesPerGroup;typeof p[C+I]<"u"?(g||w>=p[C]&&w<p[C+I])&&(v=C,x=p[C+I]-p[C]):(g||w>=p[C])&&(v=C,x=p[p.length-1]-p[p.length-2])}let u=null,f=null;l.rewind&&(e.isBeginning?f=l.virtual&&l.virtual.enabled&&e.virtual?e.virtual.slides.length-1:e.slides.length-1:e.isEnd&&(u=0));const m=(w-p[v])/x,y=v<l.slidesPerGroupSkip-1?1:l.slidesPerGroup;if(h>l.longSwipesMs){if(!l.longSwipes){e.slideTo(e.activeIndex);return}e.swipeDirection==="next"&&(m>=l.longSwipesRatio?e.slideTo(l.rewind&&e.isEnd?u:v+y):e.slideTo(v)),e.swipeDirection==="prev"&&(m>1-l.longSwipesRatio?e.slideTo(v+y):f!==null&&m<0&&Math.abs(m)>l.longSwipesRatio?e.slideTo(f):e.slideTo(v))}else{if(!l.shortSwipes){e.slideTo(e.activeIndex);return}e.navigation&&(i.target===e.navigation.nextEl||i.target===e.navigation.prevEl)?i.target===e.navigation.nextEl?e.slideTo(v+y):e.slideTo(v):(e.swipeDirection==="next"&&e.slideTo(u!==null?u:v+y),e.swipeDirection==="prev"&&e.slideTo(f!==null?f:v))}}function $e(){const t=this,{params:e,el:s}=t;if(s&&s.offsetWidth===0)return;e.breakpoints&&t.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:r,snapGrid:n}=t,l=t.virtual&&t.params.virtual.enabled;t.allowSlideNext=!0,t.allowSlidePrev=!0,t.updateSize(),t.updateSlides(),t.updateSlidesClasses();const o=l&&e.loop;(e.slidesPerView==="auto"||e.slidesPerView>1)&&t.isEnd&&!t.isBeginning&&!t.params.centeredSlides&&!o?t.slideTo(t.slides.length-1,0,!1,!0):t.params.loop&&!l?t.slideToLoop(t.realIndex,0,!1,!0):t.slideTo(t.activeIndex,0,!1,!0),t.autoplay&&t.autoplay.running&&t.autoplay.paused&&(clearTimeout(t.autoplay.resizeTimeout),t.autoplay.resizeTimeout=setTimeout(()=>{t.autoplay&&t.autoplay.running&&t.autoplay.paused&&t.autoplay.resume()},500)),t.allowSlidePrev=r,t.allowSlideNext=i,t.params.watchOverflow&&n!==t.snapGrid&&t.checkOverflow()}function Ts(t){const e=this;e.enabled&&(e.allowClick||(e.params.preventClicks&&t.preventDefault(),e.params.preventClicksPropagation&&e.animating&&(t.stopPropagation(),t.stopImmediatePropagation())))}function Cs(){const t=this,{wrapperEl:e,rtlTranslate:s,enabled:i}=t;if(!i)return;t.previousTranslate=t.translate,t.isHorizontal()?t.translate=-e.scrollLeft:t.translate=-e.scrollTop,t.translate===0&&(t.translate=0),t.updateActiveIndex(),t.updateSlidesClasses();let r;const n=t.maxTranslate()-t.minTranslate();n===0?r=0:r=(t.translate-t.minTranslate())/n,r!==t.progress&&t.updateProgress(s?-t.translate:t.translate),t.emit("setTranslate",t.translate,!1)}function Es(t){const e=this;ge(e,t.target),!(e.params.cssMode||e.params.slidesPerView!=="auto"&&!e.params.autoHeight)&&e.update()}function Ps(){const t=this;t.documentTouchHandlerProceeded||(t.documentTouchHandlerProceeded=!0,t.params.touchReleaseOnEdges&&(t.el.style.touchAction="auto"))}const nt=(t,e)=>{const s=R(),{params:i,el:r,wrapperEl:n,device:l}=t,o=!!i.nested,a=e==="on"?"addEventListener":"removeEventListener",p=e;s[a]("touchstart",t.onDocumentTouchStart,{passive:!1,capture:o}),r[a]("touchstart",t.onTouchStart,{passive:!1}),r[a]("pointerdown",t.onTouchStart,{passive:!1}),s[a]("touchmove",t.onTouchMove,{passive:!1,capture:o}),s[a]("pointermove",t.onTouchMove,{passive:!1,capture:o}),s[a]("touchend",t.onTouchEnd,{passive:!0}),s[a]("pointerup",t.onTouchEnd,{passive:!0}),s[a]("pointercancel",t.onTouchEnd,{passive:!0}),s[a]("touchcancel",t.onTouchEnd,{passive:!0}),s[a]("pointerout",t.onTouchEnd,{passive:!0}),s[a]("pointerleave",t.onTouchEnd,{passive:!0}),s[a]("contextmenu",t.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[a]("click",t.onClick,!0),i.cssMode&&n[a]("scroll",t.onScroll),i.updateOnWindowResize?t[p](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",$e,!0):t[p]("observerUpdate",$e,!0),r[a]("load",t.onLoad,{capture:!0})};function Ms(){const t=this,{params:e}=t;t.onTouchStart=ys.bind(t),t.onTouchMove=Ss.bind(t),t.onTouchEnd=xs.bind(t),t.onDocumentTouchStart=Ps.bind(t),e.cssMode&&(t.onScroll=Cs.bind(t)),t.onClick=Ts.bind(t),t.onLoad=Es.bind(t),nt(t,"on")}function Is(){nt(this,"off")}var Os={attachEvents:Ms,detachEvents:Is};const He=(t,e)=>t.grid&&e.grid&&e.grid.rows>1;function Ls(){const t=this,{realIndex:e,initialized:s,params:i,el:r}=t,n=i.breakpoints;if(!n||n&&Object.keys(n).length===0)return;const l=t.getBreakpoint(n,t.params.breakpointsBase,t.el);if(!l||t.currentBreakpoint===l)return;const a=(l in n?n[l]:void 0)||t.originalParams,p=He(t,i),d=He(t,a),c=i.enabled;p&&!d?(r.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),t.emitContainerClasses()):!p&&d&&(r.classList.add(`${i.containerModifierClass}grid`),(a.grid.fill&&a.grid.fill==="column"||!a.grid.fill&&i.grid.fill==="column")&&r.classList.add(`${i.containerModifierClass}grid-column`),t.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach(u=>{if(typeof a[u]>"u")return;const f=i[u]&&i[u].enabled,m=a[u]&&a[u].enabled;f&&!m&&t[u].disable(),!f&&m&&t[u].enable()});const h=a.direction&&a.direction!==i.direction,w=i.loop&&(a.slidesPerView!==i.slidesPerView||h),g=i.loop;h&&s&&t.changeDirection(),V(t.params,a);const v=t.params.enabled,x=t.params.loop;Object.assign(t,{allowTouchMove:t.params.allowTouchMove,allowSlideNext:t.params.allowSlideNext,allowSlidePrev:t.params.allowSlidePrev}),c&&!v?t.disable():!c&&v&&t.enable(),t.currentBreakpoint=l,t.emit("_beforeBreakpoint",a),s&&(w?(t.loopDestroy(),t.loopCreate(e),t.updateSlides()):!g&&x?(t.loopCreate(e),t.updateSlides()):g&&!x&&t.loopDestroy()),t.emit("breakpoint",a)}function Bs(t,e,s){if(e===void 0&&(e="window"),!t||e==="container"&&!s)return;let i=!1;const r=D(),n=e==="window"?r.innerHeight:s.clientHeight,l=Object.keys(t).map(o=>{if(typeof o=="string"&&o.indexOf("@")===0){const a=parseFloat(o.substr(1));return{value:n*a,point:o}}return{value:o,point:o}});l.sort((o,a)=>parseInt(o.value,10)-parseInt(a.value,10));for(let o=0;o<l.length;o+=1){const{point:a,value:p}=l[o];e==="window"?r.matchMedia(`(min-width: ${p}px)`).matches&&(i=a):p<=s.clientWidth&&(i=a)}return i||"max"}var zs={setBreakpoint:Ls,getBreakpoint:Bs};function As(t,e){const s=[];return t.forEach(i=>{typeof i=="object"?Object.keys(i).forEach(r=>{i[r]&&s.push(e+r)}):typeof i=="string"&&s.push(e+i)}),s}function _s(){const t=this,{classNames:e,params:s,rtl:i,el:r,device:n}=t,l=As(["initialized",s.direction,{"free-mode":t.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:i},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&s.grid.fill==="column"},{android:n.android},{ios:n.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);e.push(...l),r.classList.add(...e),t.emitContainerClasses()}function Ds(){const t=this,{el:e,classNames:s}=t;e.classList.remove(...s),t.emitContainerClasses()}var ks={addClasses:_s,removeClasses:Ds};function Vs(){const t=this,{isLocked:e,params:s}=t,{slidesOffsetBefore:i}=s;if(i){const r=t.slides.length-1,n=t.slidesGrid[r]+t.slidesSizesGrid[r]+i*2;t.isLocked=t.size>n}else t.isLocked=t.snapGrid.length===1;s.allowSlideNext===!0&&(t.allowSlideNext=!t.isLocked),s.allowSlidePrev===!0&&(t.allowSlidePrev=!t.isLocked),e&&e!==t.isLocked&&(t.isEnd=!1),e!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock")}var Ns={checkOverflow:Vs},Ne={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function Gs(t,e){return function(i){i===void 0&&(i={});const r=Object.keys(i)[0],n=i[r];if(typeof n!="object"||n===null){V(e,i);return}if(t[r]===!0&&(t[r]={enabled:!0}),r==="navigation"&&t[r]&&t[r].enabled&&!t[r].prevEl&&!t[r].nextEl&&(t[r].auto=!0),["pagination","scrollbar"].indexOf(r)>=0&&t[r]&&t[r].enabled&&!t[r].el&&(t[r].auto=!0),!(r in t&&"enabled"in n)){V(e,i);return}typeof t[r]=="object"&&!("enabled"in t[r])&&(t[r].enabled=!0),t[r]||(t[r]={enabled:!1}),V(e,i)}}const ze={eventsEmitter:kt,update:Wt,translate:Qt,transition:is,slide:cs,loop:ws,grabCursor:vs,events:Os,breakpoints:zs,checkOverflow:Ns,classes:ks},Ae={};let je=class H{constructor(){let e,s;for(var i=arguments.length,r=new Array(i),n=0;n<i;n++)r[n]=arguments[n];r.length===1&&r[0].constructor&&Object.prototype.toString.call(r[0]).slice(8,-1)==="Object"?s=r[0]:[e,s]=r,s||(s={}),s=V({},s),e&&!s.el&&(s.el=e);const l=R();if(s.el&&typeof s.el=="string"&&l.querySelectorAll(s.el).length>1){const d=[];return l.querySelectorAll(s.el).forEach(c=>{const h=V({},s,{el:c});d.push(new H(h))}),d}const o=this;o.__swiper__=!0,o.support=tt(),o.device=st({userAgent:s.userAgent}),o.browser=At(),o.eventsListeners={},o.eventsAnyListeners=[],o.modules=[...o.__modules__],s.modules&&Array.isArray(s.modules)&&o.modules.push(...s.modules);const a={};o.modules.forEach(d=>{d({params:s,swiper:o,extendParams:Gs(s,a),on:o.on.bind(o),once:o.once.bind(o),off:o.off.bind(o),emit:o.emit.bind(o)})});const p=V({},Ne,a);return o.params=V({},p,Ae,s),o.originalParams=V({},o.params),o.passedParams=V({},s),o.params&&o.params.on&&Object.keys(o.params.on).forEach(d=>{o.on(d,o.params.on[d])}),o.params&&o.params.onAny&&o.onAny(o.params.onAny),Object.assign(o,{enabled:o.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal(){return o.params.direction==="horizontal"},isVertical(){return o.params.direction==="vertical"},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:o.params.allowSlideNext,allowSlidePrev:o.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:o.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:o.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),o.emit("_swiper"),o.params.init&&o.init(),o}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:s,params:i}=this,r=q(s,`.${i.slideClass}, swiper-slide`),n=be(r[0]);return be(e)-n}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter(s=>s.getAttribute("data-swiper-slide-index")*1===e)[0])}recalcSlides(){const e=this,{slidesEl:s,params:i}=e;e.slides=q(s,`.${i.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,s){const i=this;e=Math.min(Math.max(e,0),1);const r=i.minTranslate(),l=(i.maxTranslate()-r)*e+r;i.translateTo(l,typeof s>"u"?0:s),i.updateActiveIndex(),i.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const s=e.el.className.split(" ").filter(i=>i.indexOf("swiper")===0||i.indexOf(e.params.containerModifierClass)===0);e.emit("_containerClasses",s.join(" "))}getSlideClasses(e){const s=this;return s.destroyed?"":e.className.split(" ").filter(i=>i.indexOf("swiper-slide")===0||i.indexOf(s.params.slideClass)===0).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const s=[];e.slides.forEach(i=>{const r=e.getSlideClasses(i);s.push({slideEl:i,classNames:r}),e.emit("_slideClass",i,r)}),e.emit("_slideClasses",s)}slidesPerViewDynamic(e,s){e===void 0&&(e="current"),s===void 0&&(s=!1);const i=this,{params:r,slides:n,slidesGrid:l,slidesSizesGrid:o,size:a,activeIndex:p}=i;let d=1;if(typeof r.slidesPerView=="number")return r.slidesPerView;if(r.centeredSlides){let c=n[p]?Math.ceil(n[p].swiperSlideSize):0,h;for(let w=p+1;w<n.length;w+=1)n[w]&&!h&&(c+=Math.ceil(n[w].swiperSlideSize),d+=1,c>a&&(h=!0));for(let w=p-1;w>=0;w-=1)n[w]&&!h&&(c+=n[w].swiperSlideSize,d+=1,c>a&&(h=!0))}else if(e==="current")for(let c=p+1;c<n.length;c+=1)(s?l[c]+o[c]-l[p]<a:l[c]-l[p]<a)&&(d+=1);else for(let c=p-1;c>=0;c-=1)l[p]-l[c]<a&&(d+=1);return d}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:s,params:i}=e;i.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach(l=>{l.complete&&ge(e,l)}),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses();function r(){const l=e.rtlTranslate?e.translate*-1:e.translate,o=Math.min(Math.max(l,e.maxTranslate()),e.minTranslate());e.setTranslate(o),e.updateActiveIndex(),e.updateSlidesClasses()}let n;if(i.freeMode&&i.freeMode.enabled&&!i.cssMode)r(),i.autoHeight&&e.updateAutoHeight();else{if((i.slidesPerView==="auto"||i.slidesPerView>1)&&e.isEnd&&!i.centeredSlides){const l=e.virtual&&i.virtual.enabled?e.virtual.slides:e.slides;n=e.slideTo(l.length-1,0,!1,!0)}else n=e.slideTo(e.activeIndex,0,!1,!0);n||r()}i.watchOverflow&&s!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,s){s===void 0&&(s=!0);const i=this,r=i.params.direction;return e||(e=r==="horizontal"?"vertical":"horizontal"),e===r||e!=="horizontal"&&e!=="vertical"||(i.el.classList.remove(`${i.params.containerModifierClass}${r}`),i.el.classList.add(`${i.params.containerModifierClass}${e}`),i.emitContainerClasses(),i.params.direction=e,i.slides.forEach(n=>{e==="vertical"?n.style.width="":n.style.height=""}),i.emit("changeDirection"),s&&i.update()),i}changeLanguageDirection(e){const s=this;s.rtl&&e==="rtl"||!s.rtl&&e==="ltr"||(s.rtl=e==="rtl",s.rtlTranslate=s.params.direction==="horizontal"&&s.rtl,s.rtl?(s.el.classList.add(`${s.params.containerModifierClass}rtl`),s.el.dir="rtl"):(s.el.classList.remove(`${s.params.containerModifierClass}rtl`),s.el.dir="ltr"),s.update())}mount(e){const s=this;if(s.mounted)return!0;let i=e||s.params.el;if(typeof i=="string"&&(i=document.querySelector(i)),!i)return!1;i.swiper=s,i.parentNode&&i.parentNode.host&&i.parentNode.host.nodeName===s.params.swiperElementNodeName.toUpperCase()&&(s.isElement=!0);const r=()=>`.${(s.params.wrapperClass||"").trim().split(" ").join(".")}`;let l=i&&i.shadowRoot&&i.shadowRoot.querySelector?i.shadowRoot.querySelector(r()):q(i,r())[0];return!l&&s.params.createElements&&(l=ve("div",s.params.wrapperClass),i.append(l),q(i,`.${s.params.slideClass}`).forEach(o=>{l.append(o)})),Object.assign(s,{el:i,wrapperEl:l,slidesEl:s.isElement&&!i.parentNode.host.slideSlots?i.parentNode.host:l,hostEl:s.isElement?i.parentNode.host:i,mounted:!0,rtl:i.dir.toLowerCase()==="rtl"||Y(i,"direction")==="rtl",rtlTranslate:s.params.direction==="horizontal"&&(i.dir.toLowerCase()==="rtl"||Y(i,"direction")==="rtl"),wrongRTL:Y(l,"display")==="-webkit-box"}),!0}init(e){const s=this;if(s.initialized||s.mount(e)===!1)return s;s.emit("beforeInit"),s.params.breakpoints&&s.setBreakpoint(),s.addClasses(),s.updateSize(),s.updateSlides(),s.params.watchOverflow&&s.checkOverflow(),s.params.grabCursor&&s.enabled&&s.setGrabCursor(),s.params.loop&&s.virtual&&s.params.virtual.enabled?s.slideTo(s.params.initialSlide+s.virtual.slidesBefore,0,s.params.runCallbacksOnInit,!1,!0):s.slideTo(s.params.initialSlide,0,s.params.runCallbacksOnInit,!1,!0),s.params.loop&&s.loopCreate(),s.attachEvents();const r=[...s.el.querySelectorAll('[loading="lazy"]')];return s.isElement&&r.push(...s.hostEl.querySelectorAll('[loading="lazy"]')),r.forEach(n=>{n.complete?ge(s,n):n.addEventListener("load",l=>{ge(s,l.target)})}),Ve(s),s.initialized=!0,Ve(s),s.emit("init"),s.emit("afterInit"),s}destroy(e,s){e===void 0&&(e=!0),s===void 0&&(s=!0);const i=this,{params:r,el:n,wrapperEl:l,slides:o}=i;return typeof i.params>"u"||i.destroyed||(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),r.loop&&i.loopDestroy(),s&&(i.removeClasses(),n.removeAttribute("style"),l.removeAttribute("style"),o&&o.length&&o.forEach(a=>{a.classList.remove(r.slideVisibleClass,r.slideFullyVisibleClass,r.slideActiveClass,r.slideNextClass,r.slidePrevClass),a.removeAttribute("style"),a.removeAttribute("data-swiper-slide-index")})),i.emit("destroy"),Object.keys(i.eventsListeners).forEach(a=>{i.off(a)}),e!==!1&&(i.el.swiper=null,Tt(i)),i.destroyed=!0),null}static extendDefaults(e){V(Ae,e)}static get extendedDefaults(){return Ae}static get defaults(){return Ne}static installModule(e){H.prototype.__modules__||(H.prototype.__modules__=[]);const s=H.prototype.__modules__;typeof e=="function"&&s.indexOf(e)<0&&s.push(e)}static use(e){return Array.isArray(e)?(e.forEach(s=>H.installModule(s)),H):(H.installModule(e),H)}};Object.keys(ze).forEach(t=>{Object.keys(ze[t]).forEach(e=>{je.prototype[e]=ze[t][e]})});je.use([_t,Dt]);const rt=["eventsPrefix","injectStyles","injectStylesUrls","modules","init","_direction","oneWayMovement","swiperElementNodeName","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_enabled","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","breakpointsBase","_spaceBetween","_slidesPerView","maxBackfaceHiddenSlides","_grid","_slidesPerGroup","_slidesPerGroupSkip","_slidesPerGroupAuto","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_loop","loopAdditionalSlides","loopAddBlankSlides","loopPreventsSliding","_rewind","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideVisibleClass","slideFullyVisibleClass","slideNextClass","slidePrevClass","slideBlankClass","wrapperClass","lazyPreloaderClass","lazyPreloadPrevNext","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","_autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","history","keyboard","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom","control"];function Z(t){return typeof t=="object"&&t!==null&&t.constructor&&Object.prototype.toString.call(t).slice(8,-1)==="Object"&&!t.__swiper__}function J(t,e){const s=["__proto__","constructor","prototype"];Object.keys(e).filter(i=>s.indexOf(i)<0).forEach(i=>{typeof t[i]>"u"?t[i]=e[i]:Z(e[i])&&Z(t[i])&&Object.keys(e[i]).length>0?e[i].__swiper__?t[i]=e[i]:J(t[i],e[i]):t[i]=e[i]})}function at(t){return t===void 0&&(t={}),t.navigation&&typeof t.navigation.nextEl>"u"&&typeof t.navigation.prevEl>"u"}function lt(t){return t===void 0&&(t={}),t.pagination&&typeof t.pagination.el>"u"}function ot(t){return t===void 0&&(t={}),t.scrollbar&&typeof t.scrollbar.el>"u"}function dt(t){t===void 0&&(t="");const e=t.split(" ").map(i=>i.trim()).filter(i=>!!i),s=[];return e.forEach(i=>{s.indexOf(i)<0&&s.push(i)}),s.join(" ")}function js(t){return t===void 0&&(t=""),t?t.includes("swiper-wrapper")?t:`swiper-wrapper ${t}`:"swiper-wrapper"}function Rs(t){let{swiper:e,slides:s,passedParams:i,changedParams:r,nextEl:n,prevEl:l,scrollbarEl:o,paginationEl:a}=t;const p=r.filter(S=>S!=="children"&&S!=="direction"&&S!=="wrapperClass"),{params:d,pagination:c,navigation:h,scrollbar:w,virtual:g,thumbs:v}=e;let x,u,f,m,y,C,I,B;r.includes("thumbs")&&i.thumbs&&i.thumbs.swiper&&d.thumbs&&!d.thumbs.swiper&&(x=!0),r.includes("controller")&&i.controller&&i.controller.control&&d.controller&&!d.controller.control&&(u=!0),r.includes("pagination")&&i.pagination&&(i.pagination.el||a)&&(d.pagination||d.pagination===!1)&&c&&!c.el&&(f=!0),r.includes("scrollbar")&&i.scrollbar&&(i.scrollbar.el||o)&&(d.scrollbar||d.scrollbar===!1)&&w&&!w.el&&(m=!0),r.includes("navigation")&&i.navigation&&(i.navigation.prevEl||l)&&(i.navigation.nextEl||n)&&(d.navigation||d.navigation===!1)&&h&&!h.prevEl&&!h.nextEl&&(y=!0);const T=S=>{e[S]&&(e[S].destroy(),S==="navigation"?(e.isElement&&(e[S].prevEl.remove(),e[S].nextEl.remove()),d[S].prevEl=void 0,d[S].nextEl=void 0,e[S].prevEl=void 0,e[S].nextEl=void 0):(e.isElement&&e[S].el.remove(),d[S].el=void 0,e[S].el=void 0))};r.includes("loop")&&e.isElement&&(d.loop&&!i.loop?C=!0:!d.loop&&i.loop?I=!0:B=!0),p.forEach(S=>{if(Z(d[S])&&Z(i[S]))Object.assign(d[S],i[S]),(S==="navigation"||S==="pagination"||S==="scrollbar")&&"enabled"in i[S]&&!i[S].enabled&&T(S);else{const b=i[S];(b===!0||b===!1)&&(S==="navigation"||S==="pagination"||S==="scrollbar")?b===!1&&T(S):d[S]=i[S]}}),p.includes("controller")&&!u&&e.controller&&e.controller.control&&d.controller&&d.controller.control&&(e.controller.control=d.controller.control),r.includes("children")&&s&&g&&d.virtual.enabled?(g.slides=s,g.update(!0)):r.includes("virtual")&&g&&d.virtual.enabled&&(s&&(g.slides=s),g.update(!0)),r.includes("children")&&s&&d.loop&&(B=!0),x&&v.init()&&v.update(!0),u&&(e.controller.control=d.controller.control),f&&(e.isElement&&(!a||typeof a=="string")&&(a=document.createElement("div"),a.classList.add("swiper-pagination"),a.part.add("pagination"),e.el.appendChild(a)),a&&(d.pagination.el=a),c.init(),c.render(),c.update()),m&&(e.isElement&&(!o||typeof o=="string")&&(o=document.createElement("div"),o.classList.add("swiper-scrollbar"),o.part.add("scrollbar"),e.el.appendChild(o)),o&&(d.scrollbar.el=o),w.init(),w.updateSize(),w.setTranslate()),y&&(e.isElement&&((!n||typeof n=="string")&&(n=document.createElement("div"),n.classList.add("swiper-button-next"),n.innerHTML=e.hostEl.constructor.nextButtonSvg,n.part.add("button-next"),e.el.appendChild(n)),(!l||typeof l=="string")&&(l=document.createElement("div"),l.classList.add("swiper-button-prev"),l.innerHTML=e.hostEl.constructor.prevButtonSvg,l.part.add("button-prev"),e.el.appendChild(l))),n&&(d.navigation.nextEl=n),l&&(d.navigation.prevEl=l),h.init(),h.update()),r.includes("allowSlideNext")&&(e.allowSlideNext=i.allowSlideNext),r.includes("allowSlidePrev")&&(e.allowSlidePrev=i.allowSlidePrev),r.includes("direction")&&e.changeDirection(i.direction,!1),(C||B)&&e.loopDestroy(),(I||B)&&e.loopCreate(),e.update()}function Ue(t,e){t===void 0&&(t={});const s={on:{}},i={},r={};J(s,Ne),s._emitClasses=!0,s.init=!1;const n={},l=rt.map(a=>a.replace(/_/,"")),o=Object.assign({},t);return Object.keys(o).forEach(a=>{typeof t[a]>"u"||(l.indexOf(a)>=0?Z(t[a])?(s[a]={},r[a]={},J(s[a],t[a]),J(r[a],t[a])):(s[a]=t[a],r[a]=t[a]):a.search(/on[A-Z]/)===0&&typeof t[a]=="function"?s.on[`${a[2].toLowerCase()}${a.substr(3)}`]=t[a]:n[a]=t[a])}),["navigation","pagination","scrollbar"].forEach(a=>{s[a]===!0&&(s[a]={}),s[a]===!1&&delete s[a]}),{params:s,passedParams:r,rest:n,events:i}}function Fs(t,e){let{el:s,nextEl:i,prevEl:r,paginationEl:n,scrollbarEl:l,swiper:o}=t;at(e)&&i&&r&&(o.params.navigation.nextEl=i,o.originalParams.navigation.nextEl=i,o.params.navigation.prevEl=r,o.originalParams.navigation.prevEl=r),lt(e)&&n&&(o.params.pagination.el=n,o.originalParams.pagination.el=n),ot(e)&&l&&(o.params.scrollbar.el=l,o.originalParams.scrollbar.el=l),o.init(s)}function qs(t,e,s,i,r){const n=[];if(!e)return n;const l=a=>{n.indexOf(a)<0&&n.push(a)};if(s&&i){const a=i.map(r),p=s.map(r);a.join("")!==p.join("")&&l("children"),i.length!==s.length&&l("children")}return rt.filter(a=>a[0]==="_").map(a=>a.replace(/_/,"")).forEach(a=>{if(a in t&&a in e)if(Z(t[a])&&Z(e[a])){const p=Object.keys(t[a]),d=Object.keys(e[a]);p.length!==d.length?l(a):(p.forEach(c=>{t[a][c]!==e[a][c]&&l(a)}),d.forEach(c=>{t[a][c]!==e[a][c]&&l(a)}))}else t[a]!==e[a]&&l(a)}),n}const $s=t=>{!t||t.destroyed||!t.params.virtual||t.params.virtual&&!t.params.virtual.enabled||(t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),t.parallax&&t.params.parallax&&t.params.parallax.enabled&&t.parallax.setTranslate())};function _e(t,e,s){t===void 0&&(t={});const i=[],r={"container-start":[],"container-end":[],"wrapper-start":[],"wrapper-end":[]},n=(l,o)=>{Array.isArray(l)&&l.forEach(a=>{const p=typeof a.type=="symbol";o==="default"&&(o="container-end"),p&&a.children?n(a.children,o):a.type&&(a.type.name==="SwiperSlide"||a.type.name==="AsyncComponentWrapper")?i.push(a):r[o]&&r[o].push(a)})};return Object.keys(t).forEach(l=>{if(typeof t[l]!="function")return;const o=t[l]();n(o,l)}),s.value=e.value,e.value=i,{slides:i,slots:r}}function Hs(t,e,s){if(!s)return null;const i=d=>{let c=d;return d<0?c=e.length+d:c>=e.length&&(c=c-e.length),c},r=t.value.isHorizontal()?{[t.value.rtlTranslate?"right":"left"]:`${s.offset}px`}:{top:`${s.offset}px`},{from:n,to:l}=s,o=t.value.params.loop?-e.length:0,a=t.value.params.loop?e.length*2:e.length,p=[];for(let d=o;d<a;d+=1)d>=n&&d<=l&&p.push(e[i(d)]);return p.map(d=>(d.props||(d.props={}),d.props.style||(d.props.style={}),d.props.swiperRef=t,d.props.style=r,j(d.type,{...d.props},d.children)))}const Us={name:"Swiper",props:{tag:{type:String,default:"div"},wrapperTag:{type:String,default:"div"},modules:{type:Array,default:void 0},init:{type:Boolean,default:void 0},direction:{type:String,default:void 0},oneWayMovement:{type:Boolean,default:void 0},swiperElementNodeName:{type:String,default:"SWIPER-CONTAINER"},touchEventsTarget:{type:String,default:void 0},initialSlide:{type:Number,default:void 0},speed:{type:Number,default:void 0},cssMode:{type:Boolean,default:void 0},updateOnWindowResize:{type:Boolean,default:void 0},resizeObserver:{type:Boolean,default:void 0},nested:{type:Boolean,default:void 0},focusableElements:{type:String,default:void 0},width:{type:Number,default:void 0},height:{type:Number,default:void 0},preventInteractionOnTransition:{type:Boolean,default:void 0},userAgent:{type:String,default:void 0},url:{type:String,default:void 0},edgeSwipeDetection:{type:[Boolean,String],default:void 0},edgeSwipeThreshold:{type:Number,default:void 0},autoHeight:{type:Boolean,default:void 0},setWrapperSize:{type:Boolean,default:void 0},virtualTranslate:{type:Boolean,default:void 0},effect:{type:String,default:void 0},breakpoints:{type:Object,default:void 0},spaceBetween:{type:[Number,String],default:void 0},slidesPerView:{type:[Number,String],default:void 0},maxBackfaceHiddenSlides:{type:Number,default:void 0},slidesPerGroup:{type:Number,default:void 0},slidesPerGroupSkip:{type:Number,default:void 0},slidesPerGroupAuto:{type:Boolean,default:void 0},centeredSlides:{type:Boolean,default:void 0},centeredSlidesBounds:{type:Boolean,default:void 0},slidesOffsetBefore:{type:Number,default:void 0},slidesOffsetAfter:{type:Number,default:void 0},normalizeSlideIndex:{type:Boolean,default:void 0},centerInsufficientSlides:{type:Boolean,default:void 0},watchOverflow:{type:Boolean,default:void 0},roundLengths:{type:Boolean,default:void 0},touchRatio:{type:Number,default:void 0},touchAngle:{type:Number,default:void 0},simulateTouch:{type:Boolean,default:void 0},shortSwipes:{type:Boolean,default:void 0},longSwipes:{type:Boolean,default:void 0},longSwipesRatio:{type:Number,default:void 0},longSwipesMs:{type:Number,default:void 0},followFinger:{type:Boolean,default:void 0},allowTouchMove:{type:Boolean,default:void 0},threshold:{type:Number,default:void 0},touchMoveStopPropagation:{type:Boolean,default:void 0},touchStartPreventDefault:{type:Boolean,default:void 0},touchStartForcePreventDefault:{type:Boolean,default:void 0},touchReleaseOnEdges:{type:Boolean,default:void 0},uniqueNavElements:{type:Boolean,default:void 0},resistance:{type:Boolean,default:void 0},resistanceRatio:{type:Number,default:void 0},watchSlidesProgress:{type:Boolean,default:void 0},grabCursor:{type:Boolean,default:void 0},preventClicks:{type:Boolean,default:void 0},preventClicksPropagation:{type:Boolean,default:void 0},slideToClickedSlide:{type:Boolean,default:void 0},loop:{type:Boolean,default:void 0},loopedSlides:{type:Number,default:void 0},loopPreventsSliding:{type:Boolean,default:void 0},rewind:{type:Boolean,default:void 0},allowSlidePrev:{type:Boolean,default:void 0},allowSlideNext:{type:Boolean,default:void 0},swipeHandler:{type:Boolean,default:void 0},noSwiping:{type:Boolean,default:void 0},noSwipingClass:{type:String,default:void 0},noSwipingSelector:{type:String,default:void 0},passiveListeners:{type:Boolean,default:void 0},containerModifierClass:{type:String,default:void 0},slideClass:{type:String,default:void 0},slideActiveClass:{type:String,default:void 0},slideVisibleClass:{type:String,default:void 0},slideFullyVisibleClass:{type:String,default:void 0},slideBlankClass:{type:String,default:void 0},slideNextClass:{type:String,default:void 0},slidePrevClass:{type:String,default:void 0},wrapperClass:{type:String,default:void 0},lazyPreloaderClass:{type:String,default:void 0},lazyPreloadPrevNext:{type:Number,default:void 0},runCallbacksOnInit:{type:Boolean,default:void 0},observer:{type:Boolean,default:void 0},observeParents:{type:Boolean,default:void 0},observeSlideChildren:{type:Boolean,default:void 0},a11y:{type:[Boolean,Object],default:void 0},autoplay:{type:[Boolean,Object],default:void 0},controller:{type:Object,default:void 0},coverflowEffect:{type:Object,default:void 0},cubeEffect:{type:Object,default:void 0},fadeEffect:{type:Object,default:void 0},flipEffect:{type:Object,default:void 0},creativeEffect:{type:Object,default:void 0},cardsEffect:{type:Object,default:void 0},hashNavigation:{type:[Boolean,Object],default:void 0},history:{type:[Boolean,Object],default:void 0},keyboard:{type:[Boolean,Object],default:void 0},mousewheel:{type:[Boolean,Object],default:void 0},navigation:{type:[Boolean,Object],default:void 0},pagination:{type:[Boolean,Object],default:void 0},parallax:{type:[Boolean,Object],default:void 0},scrollbar:{type:[Boolean,Object],default:void 0},thumbs:{type:Object,default:void 0},virtual:{type:[Boolean,Object],default:void 0},zoom:{type:[Boolean,Object],default:void 0},grid:{type:[Object],default:void 0},freeMode:{type:[Boolean,Object],default:void 0},enabled:{type:Boolean,default:void 0}},emits:["_beforeBreakpoint","_containerClasses","_slideClass","_slideClasses","_swiper","_freeModeNoMomentumRelease","activeIndexChange","afterInit","autoplay","autoplayStart","autoplayStop","autoplayPause","autoplayResume","autoplayTimeLeft","beforeDestroy","beforeInit","beforeLoopFix","beforeResize","beforeSlideChangeStart","beforeTransitionStart","breakpoint","breakpointsBase","changeDirection","click","disable","doubleTap","doubleClick","destroy","enable","fromEdge","hashChange","hashSet","init","keyPress","lock","loopFix","momentumBounce","navigationHide","navigationShow","navigationPrev","navigationNext","observerUpdate","orientationchange","paginationHide","paginationRender","paginationShow","paginationUpdate","progress","reachBeginning","reachEnd","realIndexChange","resize","scroll","scrollbarDragEnd","scrollbarDragMove","scrollbarDragStart","setTransition","setTranslate","slidesUpdated","slideChange","slideChangeTransitionEnd","slideChangeTransitionStart","slideNextTransitionEnd","slideNextTransitionStart","slidePrevTransitionEnd","slidePrevTransitionStart","slideResetTransitionStart","slideResetTransitionEnd","sliderMove","sliderFirstMove","slidesLengthChange","slidesGridLengthChange","snapGridLengthChange","snapIndexChange","swiper","tap","toEdge","touchEnd","touchMove","touchMoveOpposite","touchStart","transitionEnd","transitionStart","unlock","update","virtualUpdate","zoomChange"],setup(t,e){let{slots:s,emit:i}=e;const{tag:r,wrapperTag:n}=t,l=k("swiper"),o=k(null),a=k(!1),p=k(!1),d=k(null),c=k(null),h=k(null),w={value:[]},g={value:[]},v=k(null),x=k(null),u=k(null),f=k(null),{params:m,passedParams:y}=Ue(t);_e(s,w,g),h.value=y,g.value=w.value;const C=()=>{_e(s,w,g),a.value=!0};m.onAny=function(T){for(var S=arguments.length,b=new Array(S>1?S-1:0),E=1;E<S;E++)b[E-1]=arguments[E];i(T,...b)},Object.assign(m.on,{_beforeBreakpoint:C,_containerClasses(T,S){l.value=S}});const I={...m};if(delete I.wrapperClass,c.value=new je(I),c.value.virtual&&c.value.params.virtual.enabled){c.value.virtual.slides=w.value;const T={cache:!1,slides:w.value,renderExternal:S=>{o.value=S},renderExternalUpdate:!1};J(c.value.params.virtual,T),J(c.value.originalParams.virtual,T)}Ke(()=>{!p.value&&c.value&&(c.value.emitSlidesClasses(),p.value=!0);const{passedParams:T}=Ue(t),S=qs(T,h.value,w.value,g.value,b=>b.props&&b.props.key);h.value=T,(S.length||a.value)&&c.value&&!c.value.destroyed&&Rs({swiper:c.value,slides:w.value,passedParams:T,changedParams:S,nextEl:v.value,prevEl:x.value,scrollbarEl:f.value,paginationEl:u.value}),a.value=!1}),Je("swiper",c),ft(o,()=>{wt(()=>{$s(c.value)})}),Xe(()=>{d.value&&(Fs({el:d.value,nextEl:v.value,prevEl:x.value,paginationEl:u.value,scrollbarEl:f.value,swiper:c.value},m),i("swiper",c.value))}),Ze(()=>{c.value&&!c.value.destroyed&&c.value.destroy(!0,!1)});function B(T){return m.virtual?Hs(c,T,o.value):(T.forEach((S,b)=>{S.props||(S.props={}),S.props.swiperRef=c,S.props.swiperSlideIndex=b}),T)}return()=>{const{slides:T,slots:S}=_e(s,w,g);return j(r,{ref:d,class:dt(l.value)},[S["container-start"],j(n,{class:js(m.wrapperClass)},[S["wrapper-start"],B(T),S["wrapper-end"]]),at(t)&&[j("div",{ref:x,class:"swiper-button-prev"}),j("div",{ref:v,class:"swiper-button-next"})],ot(t)&&j("div",{ref:f,class:"swiper-scrollbar"}),lt(t)&&j("div",{ref:u,class:"swiper-pagination"}),S["container-end"]])}}},Ws={name:"SwiperSlide",props:{tag:{type:String,default:"div"},swiperRef:{type:Object,required:!1},swiperSlideIndex:{type:Number,default:void 0,required:!1},zoom:{type:Boolean,default:void 0,required:!1},lazy:{type:Boolean,default:!1,required:!1},virtualIndex:{type:[String,Number],default:void 0}},setup(t,e){let{slots:s}=e,i=!1;const{swiperRef:r}=t,n=k(null),l=k("swiper-slide"),o=k(!1);function a(c,h,w){h===n.value&&(l.value=w)}Xe(()=>{!r||!r.value||(r.value.on("_slideClass",a),i=!0)}),pt(()=>{i||!r||!r.value||(r.value.on("_slideClass",a),i=!0)}),Ke(()=>{!n.value||!r||!r.value||(typeof t.swiperSlideIndex<"u"&&(n.value.swiperSlideIndex=t.swiperSlideIndex),r.value.destroyed&&l.value!=="swiper-slide"&&(l.value="swiper-slide"))}),Ze(()=>{!r||!r.value||r.value.off("_slideClass",a)});const p=mt(()=>({isActive:l.value.indexOf("swiper-slide-active")>=0,isVisible:l.value.indexOf("swiper-slide-visible")>=0,isPrev:l.value.indexOf("swiper-slide-prev")>=0,isNext:l.value.indexOf("swiper-slide-next")>=0}));Je("swiperSlide",p);const d=()=>{o.value=!0};return()=>j(t.tag,{class:dt(`${l.value}`),ref:n,"data-swiper-slide-index":typeof t.virtualIndex>"u"&&r&&r.value&&r.value.params.loop?t.swiperSlideIndex:t.virtualIndex,onLoadCapture:d},t.zoom?j("div",{class:"swiper-zoom-container","data-swiper-zoom":typeof t.zoom=="number"?t.zoom:void 0},[s.default&&s.default(p.value),t.lazy&&!o.value&&j("div",{class:"swiper-lazy-preloader"})]):[s.default&&s.default(p.value),t.lazy&&!o.value&&j("div",{class:"swiper-lazy-preloader"})])}};var Se=function(e){return Ys(e)&&!Xs(e)};function Ys(t){return!!t&&typeof t=="object"}function Xs(t){var e=Object.prototype.toString.call(t);return e==="[object RegExp]"||e==="[object Date]"||Js(t)}var Ks=typeof Symbol=="function"&&Symbol.for,Zs=Ks?Symbol.for("react.element"):60103;function Js(t){return t.$$typeof===Zs}function Qs(t){return Array.isArray(t)?[]:{}}function se(t,e){var s=e&&e.clone===!0;return s&&Se(t)?Q(Qs(t),t,e):t}function We(t,e,s){var i=t.slice();return e.forEach(function(r,n){typeof i[n]>"u"?i[n]=se(r,s):Se(r)?i[n]=Q(t[n],r,s):t.indexOf(r)===-1&&i.push(se(r,s))}),i}function ei(t,e,s){var i={};return Se(t)&&Object.keys(t).forEach(function(r){i[r]=se(t[r],s)}),Object.keys(e).forEach(function(r){!Se(e[r])||!t[r]?i[r]=se(e[r],s):i[r]=Q(t[r],e[r],s)}),i}function Q(t,e,s){var i=Array.isArray(e),r=Array.isArray(t),n=s||{arrayMerge:We},l=i===r;if(l)if(i){var o=n.arrayMerge||We;return o(t,e,s)}else return ei(t,e,s);else return se(e,s)}Q.all=function(e,s){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce(function(i,r){return Q(i,r,s)})};var ti=Q;function si(t){let{swiper:e,extendParams:s,on:i,emit:r}=t;const n=R(),l=D();e.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}});function o(d){if(!e.enabled)return;const{rtlTranslate:c}=e;let h=d;h.originalEvent&&(h=h.originalEvent);const w=h.keyCode||h.charCode,g=e.params.keyboard.pageUpDown,v=g&&w===33,x=g&&w===34,u=w===37,f=w===39,m=w===38,y=w===40;if(!e.allowSlideNext&&(e.isHorizontal()&&f||e.isVertical()&&y||x)||!e.allowSlidePrev&&(e.isHorizontal()&&u||e.isVertical()&&m||v))return!1;if(!(h.shiftKey||h.altKey||h.ctrlKey||h.metaKey)&&!(n.activeElement&&n.activeElement.nodeName&&(n.activeElement.nodeName.toLowerCase()==="input"||n.activeElement.nodeName.toLowerCase()==="textarea"))){if(e.params.keyboard.onlyInViewport&&(v||x||u||f||m||y)){let C=!1;if(ye(e.el,`.${e.params.slideClass}, swiper-slide`).length>0&&ye(e.el,`.${e.params.slideActiveClass}`).length===0)return;const I=e.el,B=I.clientWidth,T=I.clientHeight,S=l.innerWidth,b=l.innerHeight,E=Mt(I);c&&(E.left-=I.scrollLeft);const M=[[E.left,E.top],[E.left+B,E.top],[E.left,E.top+T],[E.left+B,E.top+T]];for(let P=0;P<M.length;P+=1){const O=M[P];if(O[0]>=0&&O[0]<=S&&O[1]>=0&&O[1]<=b){if(O[0]===0&&O[1]===0)continue;C=!0}}if(!C)return}e.isHorizontal()?((v||x||u||f)&&(h.preventDefault?h.preventDefault():h.returnValue=!1),((x||f)&&!c||(v||u)&&c)&&e.slideNext(),((v||u)&&!c||(x||f)&&c)&&e.slidePrev()):((v||x||m||y)&&(h.preventDefault?h.preventDefault():h.returnValue=!1),(x||y)&&e.slideNext(),(v||m)&&e.slidePrev()),r("keyPress",w)}}function a(){e.keyboard.enabled||(n.addEventListener("keydown",o),e.keyboard.enabled=!0)}function p(){e.keyboard.enabled&&(n.removeEventListener("keydown",o),e.keyboard.enabled=!1)}i("init",()=>{e.params.keyboard.enabled&&a()}),i("destroy",()=>{e.keyboard.enabled&&p()}),Object.assign(e.keyboard,{enable:a,disable:p})}function ut(t,e,s,i){return t.params.createElements&&Object.keys(i).forEach(r=>{if(!s[r]&&s.auto===!0){let n=q(t.el,`.${i[r]}`)[0];n||(n=ve("div",i[r]),n.className=i[r],t.el.append(n)),s[r]=n,e[r]=n}}),s}function ii(t){let{swiper:e,extendParams:s,on:i,emit:r}=t;s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),e.navigation={nextEl:null,prevEl:null};function n(g){let v;return g&&typeof g=="string"&&e.isElement&&(v=e.el.querySelector(g),v)?v:(g&&(typeof g=="string"&&(v=[...document.querySelectorAll(g)]),e.params.uniqueNavElements&&typeof g=="string"&&v.length>1&&e.el.querySelectorAll(g).length===1&&(v=e.el.querySelector(g))),g&&!v?g:v)}function l(g,v){const x=e.params.navigation;g=A(g),g.forEach(u=>{u&&(u.classList[v?"add":"remove"](...x.disabledClass.split(" ")),u.tagName==="BUTTON"&&(u.disabled=v),e.params.watchOverflow&&e.enabled&&u.classList[e.isLocked?"add":"remove"](x.lockClass))})}function o(){const{nextEl:g,prevEl:v}=e.navigation;if(e.params.loop){l(v,!1),l(g,!1);return}l(v,e.isBeginning&&!e.params.rewind),l(g,e.isEnd&&!e.params.rewind)}function a(g){g.preventDefault(),!(e.isBeginning&&!e.params.loop&&!e.params.rewind)&&(e.slidePrev(),r("navigationPrev"))}function p(g){g.preventDefault(),!(e.isEnd&&!e.params.loop&&!e.params.rewind)&&(e.slideNext(),r("navigationNext"))}function d(){const g=e.params.navigation;if(e.params.navigation=ut(e,e.originalParams.navigation,e.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!(g.nextEl||g.prevEl))return;let v=n(g.nextEl),x=n(g.prevEl);Object.assign(e.navigation,{nextEl:v,prevEl:x}),v=A(v),x=A(x);const u=(f,m)=>{f&&f.addEventListener("click",m==="next"?p:a),!e.enabled&&f&&f.classList.add(...g.lockClass.split(" "))};v.forEach(f=>u(f,"next")),x.forEach(f=>u(f,"prev"))}function c(){let{nextEl:g,prevEl:v}=e.navigation;g=A(g),v=A(v);const x=(u,f)=>{u.removeEventListener("click",f==="next"?p:a),u.classList.remove(...e.params.navigation.disabledClass.split(" "))};g.forEach(u=>x(u,"next")),v.forEach(u=>x(u,"prev"))}i("init",()=>{e.params.navigation.enabled===!1?w():(d(),o())}),i("toEdge fromEdge lock unlock",()=>{o()}),i("destroy",()=>{c()}),i("enable disable",()=>{let{nextEl:g,prevEl:v}=e.navigation;if(g=A(g),v=A(v),e.enabled){o();return}[...g,...v].filter(x=>!!x).forEach(x=>x.classList.add(e.params.navigation.lockClass))}),i("click",(g,v)=>{let{nextEl:x,prevEl:u}=e.navigation;x=A(x),u=A(u);const f=v.target;if(e.params.navigation.hideOnClick&&!u.includes(f)&&!x.includes(f)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===f||e.pagination.el.contains(f)))return;let m;x.length?m=x[0].classList.contains(e.params.navigation.hiddenClass):u.length&&(m=u[0].classList.contains(e.params.navigation.hiddenClass)),r(m===!0?"navigationShow":"navigationHide"),[...x,...u].filter(y=>!!y).forEach(y=>y.classList.toggle(e.params.navigation.hiddenClass))}});const h=()=>{e.el.classList.remove(...e.params.navigation.navigationDisabledClass.split(" ")),d(),o()},w=()=>{e.el.classList.add(...e.params.navigation.navigationDisabledClass.split(" ")),c()};Object.assign(e.navigation,{enable:h,disable:w,update:o,init:d,destroy:c})}function te(t){return t===void 0&&(t=""),`.${t.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function ni(t){let{swiper:e,extendParams:s,on:i,emit:r}=t;const n="swiper-pagination";s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:u=>u,formatFractionTotal:u=>u,bulletClass:`${n}-bullet`,bulletActiveClass:`${n}-bullet-active`,modifierClass:`${n}-`,currentClass:`${n}-current`,totalClass:`${n}-total`,hiddenClass:`${n}-hidden`,progressbarFillClass:`${n}-progressbar-fill`,progressbarOppositeClass:`${n}-progressbar-opposite`,clickableClass:`${n}-clickable`,lockClass:`${n}-lock`,horizontalClass:`${n}-horizontal`,verticalClass:`${n}-vertical`,paginationDisabledClass:`${n}-disabled`}}),e.pagination={el:null,bullets:[]};let l,o=0;function a(){return!e.params.pagination.el||!e.pagination.el||Array.isArray(e.pagination.el)&&e.pagination.el.length===0}function p(u,f){const{bulletActiveClass:m}=e.params.pagination;u&&(u=u[`${f==="prev"?"previous":"next"}ElementSibling`],u&&(u.classList.add(`${m}-${f}`),u=u[`${f==="prev"?"previous":"next"}ElementSibling`],u&&u.classList.add(`${m}-${f}-${f}`)))}function d(u){const f=u.target.closest(te(e.params.pagination.bulletClass));if(!f)return;u.preventDefault();const m=be(f)*e.params.slidesPerGroup;if(e.params.loop){if(e.realIndex===m)return;e.slideToLoop(m)}else e.slideTo(m)}function c(){const u=e.rtl,f=e.params.pagination;if(a())return;let m=e.pagination.el;m=A(m);let y,C;const I=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,B=e.params.loop?Math.ceil(I/e.params.slidesPerGroup):e.snapGrid.length;if(e.params.loop?(C=e.previousRealIndex||0,y=e.params.slidesPerGroup>1?Math.floor(e.realIndex/e.params.slidesPerGroup):e.realIndex):typeof e.snapIndex<"u"?(y=e.snapIndex,C=e.previousSnapIndex):(C=e.previousIndex||0,y=e.activeIndex||0),f.type==="bullets"&&e.pagination.bullets&&e.pagination.bullets.length>0){const T=e.pagination.bullets;let S,b,E;if(f.dynamicBullets&&(l=ke(T[0],e.isHorizontal()?"width":"height"),m.forEach(M=>{M.style[e.isHorizontal()?"width":"height"]=`${l*(f.dynamicMainBullets+4)}px`}),f.dynamicMainBullets>1&&C!==void 0&&(o+=y-(C||0),o>f.dynamicMainBullets-1?o=f.dynamicMainBullets-1:o<0&&(o=0)),S=Math.max(y-o,0),b=S+(Math.min(T.length,f.dynamicMainBullets)-1),E=(b+S)/2),T.forEach(M=>{const P=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(O=>`${f.bulletActiveClass}${O}`)].map(O=>typeof O=="string"&&O.includes(" ")?O.split(" "):O).flat();M.classList.remove(...P)}),m.length>1)T.forEach(M=>{const P=be(M);P===y?M.classList.add(...f.bulletActiveClass.split(" ")):e.isElement&&M.setAttribute("part","bullet"),f.dynamicBullets&&(P>=S&&P<=b&&M.classList.add(...`${f.bulletActiveClass}-main`.split(" ")),P===S&&p(M,"prev"),P===b&&p(M,"next"))});else{const M=T[y];if(M&&M.classList.add(...f.bulletActiveClass.split(" ")),e.isElement&&T.forEach((P,O)=>{P.setAttribute("part",O===y?"bullet-active":"bullet")}),f.dynamicBullets){const P=T[S],O=T[b];for(let z=S;z<=b;z+=1)T[z]&&T[z].classList.add(...`${f.bulletActiveClass}-main`.split(" "));p(P,"prev"),p(O,"next")}}if(f.dynamicBullets){const M=Math.min(T.length,f.dynamicMainBullets+4),P=(l*M-l)/2-E*l,O=u?"right":"left";T.forEach(z=>{z.style[e.isHorizontal()?O:"top"]=`${P}px`})}}m.forEach((T,S)=>{if(f.type==="fraction"&&(T.querySelectorAll(te(f.currentClass)).forEach(b=>{b.textContent=f.formatFractionCurrent(y+1)}),T.querySelectorAll(te(f.totalClass)).forEach(b=>{b.textContent=f.formatFractionTotal(B)})),f.type==="progressbar"){let b;f.progressbarOpposite?b=e.isHorizontal()?"vertical":"horizontal":b=e.isHorizontal()?"horizontal":"vertical";const E=(y+1)/B;let M=1,P=1;b==="horizontal"?M=E:P=E,T.querySelectorAll(te(f.progressbarFillClass)).forEach(O=>{O.style.transform=`translate3d(0,0,0) scaleX(${M}) scaleY(${P})`,O.style.transitionDuration=`${e.params.speed}ms`})}f.type==="custom"&&f.renderCustom?(T.innerHTML=f.renderCustom(e,y+1,B),S===0&&r("paginationRender",T)):(S===0&&r("paginationRender",T),r("paginationUpdate",T)),e.params.watchOverflow&&e.enabled&&T.classList[e.isLocked?"add":"remove"](f.lockClass)})}function h(){const u=e.params.pagination;if(a())return;const f=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.grid&&e.params.grid.rows>1?e.slides.length/Math.ceil(e.params.grid.rows):e.slides.length;let m=e.pagination.el;m=A(m);let y="";if(u.type==="bullets"){let C=e.params.loop?Math.ceil(f/e.params.slidesPerGroup):e.snapGrid.length;e.params.freeMode&&e.params.freeMode.enabled&&C>f&&(C=f);for(let I=0;I<C;I+=1)u.renderBullet?y+=u.renderBullet.call(e,I,u.bulletClass):y+=`<${u.bulletElement} ${e.isElement?'part="bullet"':""} class="${u.bulletClass}"></${u.bulletElement}>`}u.type==="fraction"&&(u.renderFraction?y=u.renderFraction.call(e,u.currentClass,u.totalClass):y=`<span class="${u.currentClass}"></span> / <span class="${u.totalClass}"></span>`),u.type==="progressbar"&&(u.renderProgressbar?y=u.renderProgressbar.call(e,u.progressbarFillClass):y=`<span class="${u.progressbarFillClass}"></span>`),e.pagination.bullets=[],m.forEach(C=>{u.type!=="custom"&&(C.innerHTML=y||""),u.type==="bullets"&&e.pagination.bullets.push(...C.querySelectorAll(te(u.bulletClass)))}),u.type!=="custom"&&r("paginationRender",m[0])}function w(){e.params.pagination=ut(e,e.originalParams.pagination,e.params.pagination,{el:"swiper-pagination"});const u=e.params.pagination;if(!u.el)return;let f;typeof u.el=="string"&&e.isElement&&(f=e.el.querySelector(u.el)),!f&&typeof u.el=="string"&&(f=[...document.querySelectorAll(u.el)]),f||(f=u.el),!(!f||f.length===0)&&(e.params.uniqueNavElements&&typeof u.el=="string"&&Array.isArray(f)&&f.length>1&&(f=[...e.el.querySelectorAll(u.el)],f.length>1&&(f=f.filter(m=>ye(m,".swiper")[0]===e.el)[0])),Array.isArray(f)&&f.length===1&&(f=f[0]),Object.assign(e.pagination,{el:f}),f=A(f),f.forEach(m=>{u.type==="bullets"&&u.clickable&&m.classList.add(...(u.clickableClass||"").split(" ")),m.classList.add(u.modifierClass+u.type),m.classList.add(e.isHorizontal()?u.horizontalClass:u.verticalClass),u.type==="bullets"&&u.dynamicBullets&&(m.classList.add(`${u.modifierClass}${u.type}-dynamic`),o=0,u.dynamicMainBullets<1&&(u.dynamicMainBullets=1)),u.type==="progressbar"&&u.progressbarOpposite&&m.classList.add(u.progressbarOppositeClass),u.clickable&&m.addEventListener("click",d),e.enabled||m.classList.add(u.lockClass)}))}function g(){const u=e.params.pagination;if(a())return;let f=e.pagination.el;f&&(f=A(f),f.forEach(m=>{m.classList.remove(u.hiddenClass),m.classList.remove(u.modifierClass+u.type),m.classList.remove(e.isHorizontal()?u.horizontalClass:u.verticalClass),u.clickable&&(m.classList.remove(...(u.clickableClass||"").split(" ")),m.removeEventListener("click",d))})),e.pagination.bullets&&e.pagination.bullets.forEach(m=>m.classList.remove(...u.bulletActiveClass.split(" ")))}i("changeDirection",()=>{if(!e.pagination||!e.pagination.el)return;const u=e.params.pagination;let{el:f}=e.pagination;f=A(f),f.forEach(m=>{m.classList.remove(u.horizontalClass,u.verticalClass),m.classList.add(e.isHorizontal()?u.horizontalClass:u.verticalClass)})}),i("init",()=>{e.params.pagination.enabled===!1?x():(w(),h(),c())}),i("activeIndexChange",()=>{typeof e.snapIndex>"u"&&c()}),i("snapIndexChange",()=>{c()}),i("snapGridLengthChange",()=>{h(),c()}),i("destroy",()=>{g()}),i("enable disable",()=>{let{el:u}=e.pagination;u&&(u=A(u),u.forEach(f=>f.classList[e.enabled?"remove":"add"](e.params.pagination.lockClass)))}),i("lock unlock",()=>{c()}),i("click",(u,f)=>{const m=f.target,y=A(e.pagination.el);if(e.params.pagination.el&&e.params.pagination.hideOnClick&&y&&y.length>0&&!m.classList.contains(e.params.pagination.bulletClass)){if(e.navigation&&(e.navigation.nextEl&&m===e.navigation.nextEl||e.navigation.prevEl&&m===e.navigation.prevEl))return;const C=y[0].classList.contains(e.params.pagination.hiddenClass);r(C===!0?"paginationShow":"paginationHide"),y.forEach(I=>I.classList.toggle(e.params.pagination.hiddenClass))}});const v=()=>{e.el.classList.remove(e.params.pagination.paginationDisabledClass);let{el:u}=e.pagination;u&&(u=A(u),u.forEach(f=>f.classList.remove(e.params.pagination.paginationDisabledClass))),w(),h(),c()},x=()=>{e.el.classList.add(e.params.pagination.paginationDisabledClass);let{el:u}=e.pagination;u&&(u=A(u),u.forEach(f=>f.classList.add(e.params.pagination.paginationDisabledClass))),g()};Object.assign(e.pagination,{enable:v,disable:x,render:h,update:c,init:w,destroy:g})}function ri(t){let{swiper:e,extendParams:s,on:i,emit:r,params:n}=t;e.autoplay={running:!1,paused:!1,timeLeft:0},s({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let l,o,a=n&&n.autoplay?n.autoplay.delay:3e3,p=n&&n.autoplay?n.autoplay.delay:3e3,d,c=new Date().getTime(),h,w,g,v,x,u,f;function m(L){!e||e.destroyed||!e.wrapperEl||L.target===e.wrapperEl&&(e.wrapperEl.removeEventListener("transitionend",m),!f&&b())}const y=()=>{if(e.destroyed||!e.autoplay.running)return;e.autoplay.paused?h=!0:h&&(p=d,h=!1);const L=e.autoplay.paused?d:c+p-new Date().getTime();e.autoplay.timeLeft=L,r("autoplayTimeLeft",L,L/a),o=requestAnimationFrame(()=>{y()})},C=()=>{let L;return e.virtual&&e.params.virtual.enabled?L=e.slides.filter(_=>_.classList.contains("swiper-slide-active"))[0]:L=e.slides[e.activeIndex],L?parseInt(L.getAttribute("data-swiper-autoplay"),10):void 0},I=L=>{if(e.destroyed||!e.autoplay.running)return;cancelAnimationFrame(o),y();let G=typeof L>"u"?e.params.autoplay.delay:L;a=e.params.autoplay.delay,p=e.params.autoplay.delay;const _=C();!Number.isNaN(_)&&_>0&&typeof L>"u"&&(G=_,a=_,p=_),d=G;const X=e.params.speed,ie=()=>{!e||e.destroyed||(e.params.autoplay.reverseDirection?!e.isBeginning||e.params.loop||e.params.rewind?(e.slidePrev(X,!0,!0),r("autoplay")):e.params.autoplay.stopOnLastSlide||(e.slideTo(e.slides.length-1,X,!0,!0),r("autoplay")):!e.isEnd||e.params.loop||e.params.rewind?(e.slideNext(X,!0,!0),r("autoplay")):e.params.autoplay.stopOnLastSlide||(e.slideTo(0,X,!0,!0),r("autoplay")),e.params.cssMode&&(c=new Date().getTime(),requestAnimationFrame(()=>{I()})))};return G>0?(clearTimeout(l),l=setTimeout(()=>{ie()},G)):requestAnimationFrame(()=>{ie()}),G},B=()=>{c=new Date().getTime(),e.autoplay.running=!0,I(),r("autoplayStart")},T=()=>{e.autoplay.running=!1,clearTimeout(l),cancelAnimationFrame(o),r("autoplayStop")},S=(L,G)=>{if(e.destroyed||!e.autoplay.running)return;clearTimeout(l),L||(u=!0);const _=()=>{r("autoplayPause"),e.params.autoplay.waitForTransition?e.wrapperEl.addEventListener("transitionend",m):b()};if(e.autoplay.paused=!0,G){x&&(d=e.params.autoplay.delay),x=!1,_();return}d=(d||e.params.autoplay.delay)-(new Date().getTime()-c),!(e.isEnd&&d<0&&!e.params.loop)&&(d<0&&(d=0),_())},b=()=>{e.isEnd&&d<0&&!e.params.loop||e.destroyed||!e.autoplay.running||(c=new Date().getTime(),u?(u=!1,I(d)):I(),e.autoplay.paused=!1,r("autoplayResume"))},E=()=>{if(e.destroyed||!e.autoplay.running)return;const L=R();L.visibilityState==="hidden"&&(u=!0,S(!0)),L.visibilityState==="visible"&&b()},M=L=>{L.pointerType==="mouse"&&(u=!0,f=!0,!(e.animating||e.autoplay.paused)&&S(!0))},P=L=>{L.pointerType==="mouse"&&(f=!1,e.autoplay.paused&&b())},O=()=>{e.params.autoplay.pauseOnMouseEnter&&(e.el.addEventListener("pointerenter",M),e.el.addEventListener("pointerleave",P))},z=()=>{e.el.removeEventListener("pointerenter",M),e.el.removeEventListener("pointerleave",P)},F=()=>{R().addEventListener("visibilitychange",E)},xe=()=>{R().removeEventListener("visibilitychange",E)};i("init",()=>{e.params.autoplay.enabled&&(O(),F(),B())}),i("destroy",()=>{z(),xe(),e.autoplay.running&&T()}),i("_freeModeStaticRelease",()=>{(g||u)&&b()}),i("_freeModeNoMomentumRelease",()=>{e.params.autoplay.disableOnInteraction?T():S(!0,!0)}),i("beforeTransitionStart",(L,G,_)=>{e.destroyed||!e.autoplay.running||(_||!e.params.autoplay.disableOnInteraction?S(!0,!0):T())}),i("sliderFirstMove",()=>{if(!(e.destroyed||!e.autoplay.running)){if(e.params.autoplay.disableOnInteraction){T();return}w=!0,g=!1,u=!1,v=setTimeout(()=>{u=!0,g=!0,S(!0)},200)}}),i("touchEnd",()=>{if(!(e.destroyed||!e.autoplay.running||!w)){if(clearTimeout(v),clearTimeout(l),e.params.autoplay.disableOnInteraction){g=!1,w=!1;return}g&&e.params.cssMode&&b(),g=!1,w=!1}}),i("slideChange",()=>{e.destroyed||!e.autoplay.running||(x=!0)}),Object.assign(e.autoplay,{start:B,stop:T,pause:S,resume:b})}function ai(t){let{swiper:e,extendParams:s,emit:i,once:r}=t;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}});function n(){if(e.params.cssMode)return;const a=e.getTranslate();e.setTranslate(a),e.setTransition(0),e.touchEventsData.velocities.length=0,e.freeMode.onTouchEnd({currentPos:e.rtl?e.translate:-e.translate})}function l(){if(e.params.cssMode)return;const{touchEventsData:a,touches:p}=e;a.velocities.length===0&&a.velocities.push({position:p[e.isHorizontal()?"startX":"startY"],time:a.touchStartTime}),a.velocities.push({position:p[e.isHorizontal()?"currentX":"currentY"],time:K()})}function o(a){let{currentPos:p}=a;if(e.params.cssMode)return;const{params:d,wrapperEl:c,rtlTranslate:h,snapGrid:w,touchEventsData:g}=e,x=K()-g.touchStartTime;if(p<-e.minTranslate()){e.slideTo(e.activeIndex);return}if(p>-e.maxTranslate()){e.slides.length<w.length?e.slideTo(w.length-1):e.slideTo(e.slides.length-1);return}if(d.freeMode.momentum){if(g.velocities.length>1){const T=g.velocities.pop(),S=g.velocities.pop(),b=T.position-S.position,E=T.time-S.time;e.velocity=b/E,e.velocity/=2,Math.abs(e.velocity)<d.freeMode.minimumVelocity&&(e.velocity=0),(E>150||K()-T.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=d.freeMode.momentumVelocityRatio,g.velocities.length=0;let u=1e3*d.freeMode.momentumRatio;const f=e.velocity*u;let m=e.translate+f;h&&(m=-m);let y=!1,C;const I=Math.abs(e.velocity)*20*d.freeMode.momentumBounceRatio;let B;if(m<e.maxTranslate())d.freeMode.momentumBounce?(m+e.maxTranslate()<-I&&(m=e.maxTranslate()-I),C=e.maxTranslate(),y=!0,g.allowMomentumBounce=!0):m=e.maxTranslate(),d.loop&&d.centeredSlides&&(B=!0);else if(m>e.minTranslate())d.freeMode.momentumBounce?(m-e.minTranslate()>I&&(m=e.minTranslate()+I),C=e.minTranslate(),y=!0,g.allowMomentumBounce=!0):m=e.minTranslate(),d.loop&&d.centeredSlides&&(B=!0);else if(d.freeMode.sticky){let T;for(let S=0;S<w.length;S+=1)if(w[S]>-m){T=S;break}Math.abs(w[T]-m)<Math.abs(w[T-1]-m)||e.swipeDirection==="next"?m=w[T]:m=w[T-1],m=-m}if(B&&r("transitionEnd",()=>{e.loopFix()}),e.velocity!==0){if(h?u=Math.abs((-m-e.translate)/e.velocity):u=Math.abs((m-e.translate)/e.velocity),d.freeMode.sticky){const T=Math.abs((h?-m:m)-e.translate),S=e.slidesSizesGrid[e.activeIndex];T<S?u=d.speed:T<2*S?u=d.speed*1.5:u=d.speed*2.5}}else if(d.freeMode.sticky){e.slideToClosest();return}d.freeMode.momentumBounce&&y?(e.updateProgress(C),e.setTransition(u),e.setTranslate(m),e.transitionStart(!0,e.swipeDirection),e.animating=!0,Me(c,()=>{!e||e.destroyed||!g.allowMomentumBounce||(i("momentumBounce"),e.setTransition(d.speed),setTimeout(()=>{e.setTranslate(C),Me(c,()=>{!e||e.destroyed||e.transitionEnd()})},0))})):e.velocity?(i("_freeModeNoMomentumRelease"),e.updateProgress(m),e.setTransition(u),e.setTranslate(m),e.transitionStart(!0,e.swipeDirection),e.animating||(e.animating=!0,Me(c,()=>{!e||e.destroyed||e.transitionEnd()}))):e.updateProgress(m),e.updateActiveIndex(),e.updateSlidesClasses()}else if(d.freeMode.sticky){e.slideToClosest();return}else d.freeMode&&i("_freeModeNoMomentumRelease");(!d.freeMode.momentum||x>=d.longSwipesMs)&&(i("_freeModeStaticRelease"),e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses())}Object.assign(e,{freeMode:{onTouchStart:n,onTouchMove:l,onTouchEnd:o}})}const ct={components:{Swiper:Us,SwiperSlide:Ws,Icon:Ye},props:{classes:{type:[String,Object,Array],required:!1,default:()=>[]},cards:{type:Array,required:!0},options:{type:Object,required:!1,default:()=>({})},disableRightClick:{type:Boolean,required:!1,default:!1},navCarousel:{type:Boolean,required:!1,default:!1},showControls:{type:Boolean,required:!1,default:!0},showBullets:{type:Boolean,required:!1,default:!0},hideBulletsOnMobile:{type:Boolean,required:!1,default:!0},hideBulletsElement:{type:Boolean,required:!1,default:!1},swiperRef:{type:String,default:"js-swiper"},navigationUniqueIndexer:{type:String,default:void 0},slideIndex:{type:Number,required:!1,default:void 0}},setup(){return{modules:[si,ii,ni,ri,ai]}},data(){return{swiper:null,defaultOptions:{navigation:{prevEl:".carousel__button-prev",nextEl:".carousel__button-next"},pagination:{el:".swiper-pagination",clickable:!0},speed:600}}},computed:{navigationPrevClass(){return this.navigationUniqueIndexer?`carousel__button-prev--${this.navigationUniqueIndexer}`:"carousel__button-prev"},navigationNextClass(){return this.navigationUniqueIndexer?`carousel__button-next--${this.navigationUniqueIndexer}`:"carousel__button-next"},paginationClass(){return this.navigationUniqueIndexer?`pagination--${this.navigationUniqueIndexer}`:""},swiperOptions(){const t={...this.defaultOptions};this.showControls||(delete t.navigation,delete t.pagination),(!this.showBullets||this.hideBulletsElement||!this.showControls)&&delete t.pagination;const e=ti(t,this.options||{});return e.initialSlide=this.slideIndex||e.initialSlide,e.keyboard=t.keyboard||{enabled:!0},e}},watch:{slideIndex(t){!this.swiper||Number.isNaN(t)||(this.swiper.update(),this.swiper.slideTo(t,0,!1))}},methods:{onRightClick(t){return this.disableRightClick?(t.preventDefault(),!1):!0},onSwiper(){this.swiper=this.$refs[this.swiperRef].$el.swiper,this.swiper.update(),this.$emit("on-carousel-load")},onClickNextSlide(){this.swiper&&this.swiper.slideNext()},onClickPrevSlide(){this.swiper&&this.swiper.slidePrev()},update(){this.swiper.update()}}},li={class:"tw-flex tw-items-center tw-relative"},oi={class:"tw-h-full"};function di(t,e,s,i,r,n){const l=Pe("Icon"),o=Pe("swiper-slide"),a=Pe("swiper");return ne(),Te("div",{class:W(["carousel tw-flex tw-flex-col tw-box-content",...s.classes]),onContextmenu:e[0]||(e[0]=(...p)=>n.onRightClick&&n.onRightClick(...p))},[U("div",li,[s.showControls?Ce(t.$slots,"arrow-left",{key:0},()=>[U("div",{id:"btn_carousel_prev",class:W(["carousel__button-nav",n.navigationPrevClass])},[U("div",{class:W(["tw-hidden sm:tw-block tw-cursor-pointer tw-absolute tw-z-10 tw--left-16 tw-top-1/2 tw-transform tw--translate-y-1/2 tw-h-10 tw-w-10 tw-rounded-full tw-shadow tw-border tw-border-solid tw-border-grayscale-300 tw-bg-white",{"nav-carousel__button-prev-pointer":s.navCarousel}])},[ee(l,{classes:"tw--mb-1 tw-absolute tw-left-0 tw-right-0 tw-m-auto tw-flex tw-justify-center tw-top-1/2 tw-transform tw--translate-y-1/2",name:"chevron-left",size:"sm"})],2),U("div",{class:W(["sm:tw-hidden tw-cursor-pointer tw-mr-2 tw-h-6 tw-w-6 tw-rounded-full tw-shadow tw-border tw-border-solid tw-border-grayscale-300 tw-bg-white",{"nav-carousel__button-prev-pointer":s.navCarousel}])},[ee(l,{classes:"tw--mb-1 tw-absolute tw-left-0 tw-right-2 tw-m-auto tw-flex tw-justify-center tw-top-1/2 tw-transform tw--translate-y-1/2",name:"chevron-left",size:"xs"})],2)],2)],!0):Ee("",!0),ee(a,{ref:s.swiperRef,modules:i.modules,keyboard:n.swiperOptions.keyboard,navigation:n.swiperOptions.navigation,pagination:n.swiperOptions.pagination,"space-between":n.swiperOptions.spaceBetween,"slides-per-view":n.swiperOptions.slidesPerView,"slides-per-group":n.swiperOptions.slidesPerGroup,loop:n.swiperOptions.loop,"initial-slide":n.swiperOptions.initialSlide,breakpoints:n.swiperOptions.breakpoints,"centered-slides":n.swiperOptions.centeredSlides,"center-insufficient-slides":n.swiperOptions.centerInsufficientSlides,"auto-height":n.swiperOptions.autoHeight,autoplay:n.swiperOptions.autoplay,"free-mode":n.swiperOptions.freeMode,onSwiper:n.onSwiper},{default:Re(()=>[(ne(!0),Te(gt,null,ht(s.cards,(p,d)=>(ne(),vt(o,{key:d,style:bt({width:p.width})},{default:Re(()=>[U("div",oi,[Ce(t.$slots,"slide",{slide:p,index:d},void 0,!0)])]),_:2},1032,["style"]))),128))]),_:3},8,["modules","keyboard","navigation","pagination","space-between","slides-per-view","slides-per-group","loop","initial-slide","breakpoints","centered-slides","center-insufficient-slides","auto-height","autoplay","free-mode","onSwiper"]),s.showControls?Ce(t.$slots,"arrow-right",{key:1},()=>[U("div",{id:"btn_carousel_next",class:W(["carousel__button-nav",n.navigationNextClass])},[U("div",{class:W(["tw-hidden sm:tw-block tw-cursor-pointer tw-absolute tw-z-10 tw--right-16 tw-top-1/2 tw-transform tw--translate-y-1/2 tw-h-10 tw-w-10 tw-rounded-full tw-shadow tw-border tw-border-solid tw-border-grayscale-300 tw-bg-white",{"nav-carousel__button-next-pointer":s.navCarousel}])},[ee(l,{classes:"tw--mb-1 tw-absolute tw-left-0 tw-right-0 tw-m-auto tw-flex tw-justify-center tw-top-1/2 tw-transform tw--translate-y-1/2",name:"chevron-right",size:"sm"})],2),U("div",{class:W(["sm:tw-hidden tw-cursor-pointer tw-ml-2 tw-h-6 tw-w-6 tw-rounded-full tw-shadow tw-border tw-border-solid tw-border-grayscale-300 tw-bg-white",{"nav-carousel__button-next-pointer":s.navCarousel}])},[ee(l,{classes:"tw--mb-1 tw-absolute tw-left-2 tw-right-0 tw-m-auto tw-flex tw-justify-center tw-top-1/2 tw-transform tw--translate-y-1/2",name:"chevron-right",size:"xs"})],2)],2)],!0):Ee("",!0)]),s.hideBulletsElement?Ee("",!0):(ne(),Te("div",{key:0,class:W(["swiper-pagination",[{"pagination-hidden":s.navCarousel,"swiper-pagination--desktop-only":s.hideBulletsOnMobile},n.paginationClass]])},null,2))],34)}const $=yt(ct,[["render",di],["__scopeId","data-v-d341f7ac"]]);ct.__docgenInfo={exportName:"default",displayName:"Carousel",description:"",tags:{},props:[{name:"classes",type:{name:"string|object|array"},required:!1,defaultValue:{func:!0,value:"() => []"}},{name:"cards",type:{name:"array"},required:!0},{name:"options",type:{name:"object"},required:!1,defaultValue:{func:!1,value:"{}"}},{name:"disableRightClick",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"false"}},{name:"navCarousel",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"false"}},{name:"showControls",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"true"}},{name:"showBullets",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"true"}},{name:"hideBulletsOnMobile",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"true"}},{name:"hideBulletsElement",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"false"}},{name:"swiperRef",type:{name:"string"},defaultValue:{func:!1,value:"'js-swiper'"}},{name:"navigationUniqueIndexer",type:{name:"string"},defaultValue:{func:!1,value:"undefined"}},{name:"slideIndex",type:{name:"number"},required:!1,defaultValue:{func:!1,value:"undefined"}}],events:[{name:"on-carousel-load"}],slots:[{name:"arrow-left"},{name:"slide",scoped:!0,bindings:[{name:"slide",title:"binding"},{name:"index",title:"binding"}]},{name:"arrow-right"}],sourceFiles:["/home/zknowles/repos/fe-shared-lib/src/atoms/components/Carousel/Carousel.vue"]};const mi={title:"Components/Carousel",component:$,tags:["autodocs"],argTypes:{cards:{control:"object",description:"Array of card data to display in the carousel",table:{type:{summary:"Array<Object>"},defaultValue:{summary:"[]"}}},showControls:{control:"boolean",description:"Show/hide navigation arrows",table:{type:{summary:"boolean"},defaultValue:{summary:"true"}}},showBullets:{control:"boolean",description:"Show/hide pagination bullets",table:{type:{summary:"boolean"},defaultValue:{summary:"true"}}},hideBulletsOnMobile:{control:"boolean",description:"Hide pagination bullets on mobile devices",table:{type:{summary:"boolean"},defaultValue:{summary:"true"}}},navCarousel:{control:"boolean",description:"Use alternative navigation styling",table:{type:{summary:"boolean"},defaultValue:{summary:"false"}}},disableRightClick:{control:"boolean",description:"Disable right-click context menu",table:{type:{summary:"boolean"},defaultValue:{summary:"false"}}},options:{control:"object",description:"Swiper options object for customization",table:{type:{summary:"Object"},defaultValue:{summary:"{}"}}}},parameters:{docs:{description:{component:"A flexible carousel component built with Swiper.js. Supports multiple slides, custom navigation, pagination, and various display options."}}}},le={args:{cards:N,showControls:!0,showBullets:!0,hideBulletsOnMobile:!1,navCarousel:!1,options:{loop:!0,spaceBetween:20,slidesPerView:1,breakpoints:{640:{slidesPerView:2,slidesPerGroup:2},1024:{slidesPerView:3,slidesPerGroup:3}}}},render:t=>({components:{Carousel:$},setup(){return{args:t}},template:`
|
|
2
|
+
<div class="tw-p-8">
|
|
3
|
+
<Carousel
|
|
4
|
+
:cards="args.cards"
|
|
5
|
+
:show-controls="args.showControls"
|
|
6
|
+
:show-bullets="args.showBullets"
|
|
7
|
+
:hide-bullets-on-mobile="args.hideBulletsOnMobile"
|
|
8
|
+
:nav-carousel="args.navCarousel"
|
|
9
|
+
:options="args.options"
|
|
10
|
+
>
|
|
11
|
+
<template #slide="{ slide }">
|
|
12
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-cursor-pointer tw-p-4 tw-bg-gray-50 tw-rounded-lg tw-h-full">
|
|
13
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-48 tw-object-contain tw-mb-4" />
|
|
14
|
+
<span class="tw-text-lg tw-font-semibold tw-text-center">{{ slide.name }}</span>
|
|
15
|
+
</div>
|
|
16
|
+
</template>
|
|
17
|
+
</Carousel>
|
|
18
|
+
</div>
|
|
19
|
+
`})},oe={args:{cards:N,showControls:!0,showBullets:!0,options:{loop:!1,slidesPerView:1,slidesPerGroup:1}},render:t=>({components:{Carousel:$},setup(){return{args:t}},template:`
|
|
20
|
+
<div class="tw-p-8 tw-max-w-md tw-mx-auto">
|
|
21
|
+
<Carousel
|
|
22
|
+
:cards="args.cards"
|
|
23
|
+
:show-controls="args.showControls"
|
|
24
|
+
:show-bullets="args.showBullets"
|
|
25
|
+
:options="args.options"
|
|
26
|
+
>
|
|
27
|
+
<template #slide="{ slide }">
|
|
28
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-6 tw-bg-white tw-rounded-xl tw-shadow-lg">
|
|
29
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-64 tw-object-contain tw-mb-4" />
|
|
30
|
+
<h3 class="tw-text-xl tw-font-bold tw-text-center">{{ slide.name }}</h3>
|
|
31
|
+
<p class="tw-text-gray-600 tw-text-center tw-mt-2">Click to learn more</p>
|
|
32
|
+
</div>
|
|
33
|
+
</template>
|
|
34
|
+
</Carousel>
|
|
35
|
+
</div>
|
|
36
|
+
`}),parameters:{docs:{description:{story:"Display one slide at a time with navigation controls."}}}},de={args:{cards:N,showControls:!1,showBullets:!0,options:{loop:!0,autoplay:{delay:3e3,disableOnInteraction:!1}}},render:t=>({components:{Carousel:$},setup(){return{args:t}},template:`
|
|
37
|
+
<div class="tw-p-8">
|
|
38
|
+
<Carousel
|
|
39
|
+
:cards="args.cards"
|
|
40
|
+
:show-controls="args.showControls"
|
|
41
|
+
:show-bullets="args.showBullets"
|
|
42
|
+
:options="args.options"
|
|
43
|
+
>
|
|
44
|
+
<template #slide="{ slide }">
|
|
45
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4">
|
|
46
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-40 tw-object-contain tw-mb-2" />
|
|
47
|
+
<span class="tw-text-center tw-font-medium">{{ slide.name }}</span>
|
|
48
|
+
</div>
|
|
49
|
+
</template>
|
|
50
|
+
</Carousel>
|
|
51
|
+
</div>
|
|
52
|
+
`}),parameters:{docs:{description:{story:"Auto-playing carousel without navigation arrows. Uses only pagination bullets for navigation."}}}},ue={args:{cards:N,showControls:!0,showBullets:!1,options:{loop:!0,slidesPerView:2,spaceBetween:20}},render:t=>({components:{Carousel:$},setup(){return{args:t}},template:`
|
|
53
|
+
<div class="tw-p-8">
|
|
54
|
+
<Carousel
|
|
55
|
+
:cards="args.cards"
|
|
56
|
+
:show-controls="args.showControls"
|
|
57
|
+
:show-bullets="args.showBullets"
|
|
58
|
+
:options="args.options"
|
|
59
|
+
>
|
|
60
|
+
<template #slide="{ slide }">
|
|
61
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-gray-100 tw-rounded">
|
|
62
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-32 tw-object-contain tw-mb-2" />
|
|
63
|
+
<span class="tw-text-center">{{ slide.name }}</span>
|
|
64
|
+
</div>
|
|
65
|
+
</template>
|
|
66
|
+
</Carousel>
|
|
67
|
+
</div>
|
|
68
|
+
`}),parameters:{docs:{description:{story:"Carousel with arrow controls only, no pagination bullets."}}}},ce={args:{cards:N},render:t=>({components:{Carousel:$,Icon:Ye},setup(){return{args:t}},template:`
|
|
69
|
+
<div class="tw-p-8">
|
|
70
|
+
<Carousel :cards="args.cards" :options="{ loop: true }">
|
|
71
|
+
<template #arrow-left>
|
|
72
|
+
<div class="tw-bg-blue-500 tw-text-white tw-rounded-full tw-p-3 tw-cursor-pointer hover:tw-bg-blue-600 tw-transition tw-shadow-lg">
|
|
73
|
+
<Icon classes="tw-transform tw-rotate-180" name="chevron-right" size="lg" color="white" />
|
|
74
|
+
</div>
|
|
75
|
+
</template>
|
|
76
|
+
<template #slide="{ slide }">
|
|
77
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4">
|
|
78
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-40 tw-object-contain tw-mb-2" />
|
|
79
|
+
<span class="tw-text-center tw-font-medium">{{ slide.name }}</span>
|
|
80
|
+
</div>
|
|
81
|
+
</template>
|
|
82
|
+
<template #arrow-right>
|
|
83
|
+
<div class="tw-bg-blue-500 tw-text-white tw-rounded-full tw-p-3 tw-cursor-pointer hover:tw-bg-blue-600 tw-transition tw-shadow-lg">
|
|
84
|
+
<Icon name="chevron-right" size="lg" color="white" />
|
|
85
|
+
</div>
|
|
86
|
+
</template>
|
|
87
|
+
</Carousel>
|
|
88
|
+
</div>
|
|
89
|
+
`}),parameters:{docs:{description:{story:"Carousel with custom-styled navigation arrows using the arrow slots."}}}},pe={args:{cards:[...N,...N,...N]},render:t=>({components:{Carousel:$},setup(){return{args:t}},template:`
|
|
90
|
+
<div class="tw-p-8">
|
|
91
|
+
<Carousel
|
|
92
|
+
:cards="args.cards"
|
|
93
|
+
:options="{
|
|
94
|
+
loop: false,
|
|
95
|
+
spaceBetween: 20,
|
|
96
|
+
freeMode: true,
|
|
97
|
+
slidesPerView: 'auto',
|
|
98
|
+
}"
|
|
99
|
+
>
|
|
100
|
+
<template #slide="{ slide }">
|
|
101
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-white tw-rounded-lg tw-shadow" style="width: 200px;">
|
|
102
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-32 tw-object-contain tw-mb-2" />
|
|
103
|
+
<span class="tw-text-center tw-text-sm tw-font-medium">{{ slide.name }}</span>
|
|
104
|
+
</div>
|
|
105
|
+
</template>
|
|
106
|
+
</Carousel>
|
|
107
|
+
</div>
|
|
108
|
+
`}),parameters:{docs:{description:{story:"Free scrolling mode where users can drag freely without snapping to slides."}}}},fe={args:{cards:[...N,...N]},render:t=>({components:{Carousel:$},setup(){return{args:t}},template:`
|
|
109
|
+
<div class="tw-p-8">
|
|
110
|
+
<Carousel
|
|
111
|
+
:cards="args.cards"
|
|
112
|
+
:options="{
|
|
113
|
+
loop: true,
|
|
114
|
+
centeredSlides: true,
|
|
115
|
+
slidesPerView: 1.5,
|
|
116
|
+
spaceBetween: 30,
|
|
117
|
+
}"
|
|
118
|
+
>
|
|
119
|
+
<template #slide="{ slide }">
|
|
120
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-6 tw-bg-gradient-to-br tw-from-purple-100 tw-to-blue-100 tw-rounded-xl">
|
|
121
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-48 tw-object-contain tw-mb-4" />
|
|
122
|
+
<span class="tw-text-center tw-text-lg tw-font-semibold">{{ slide.name }}</span>
|
|
123
|
+
</div>
|
|
124
|
+
</template>
|
|
125
|
+
</Carousel>
|
|
126
|
+
</div>
|
|
127
|
+
`}),parameters:{docs:{description:{story:"Carousel with centered active slide and partial view of adjacent slides."}}}},me={render:()=>({components:{Carousel:$},setup(){return{cards:N,swiperOne:{options:{loop:!0,navigation:{prevEl:".carousel__button-prev--1",nextEl:".carousel__button-next--1"},pagination:{el:".pagination--1"}},navigationUniqueIndexer:"1"},swiperTwo:{options:{loop:!0,navigation:{prevEl:".carousel__button-prev--2",nextEl:".carousel__button-next--2"},pagination:{el:".pagination--2"}},navigationUniqueIndexer:"2"}}},template:`
|
|
128
|
+
<div class="tw-p-8 tw-space-y-12">
|
|
129
|
+
<div>
|
|
130
|
+
<h3 class="tw-text-xl tw-font-bold tw-mb-4 tw-text-center">First Carousel</h3>
|
|
131
|
+
<div class="tw-max-w-md tw-mx-auto">
|
|
132
|
+
<Carousel
|
|
133
|
+
:cards="cards"
|
|
134
|
+
:show-bullets="true"
|
|
135
|
+
:swiper-ref="swiperOne.navigationUniqueIndexer"
|
|
136
|
+
:navigation-unique-indexer="swiperOne.navigationUniqueIndexer"
|
|
137
|
+
:options="swiperOne.options"
|
|
138
|
+
>
|
|
139
|
+
<template #slide="{ slide }">
|
|
140
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-blue-50 tw-rounded-lg">
|
|
141
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-40 tw-object-contain tw-mb-2" />
|
|
142
|
+
<span class="tw-text-center tw-font-medium">{{ slide.name }}</span>
|
|
143
|
+
</div>
|
|
144
|
+
</template>
|
|
145
|
+
</Carousel>
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
|
|
149
|
+
<div>
|
|
150
|
+
<h3 class="tw-text-xl tw-font-bold tw-mb-4 tw-text-center">Second Carousel</h3>
|
|
151
|
+
<div class="tw-max-w-md tw-mx-auto">
|
|
152
|
+
<Carousel
|
|
153
|
+
:cards="cards"
|
|
154
|
+
:show-bullets="true"
|
|
155
|
+
:swiper-ref="swiperTwo.navigationUniqueIndexer"
|
|
156
|
+
:navigation-unique-indexer="swiperTwo.navigationUniqueIndexer"
|
|
157
|
+
:options="swiperTwo.options"
|
|
158
|
+
>
|
|
159
|
+
<template #slide="{ slide }">
|
|
160
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-green-50 tw-rounded-lg">
|
|
161
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-40 tw-object-contain tw-mb-2" />
|
|
162
|
+
<span class="tw-text-center tw-font-medium">{{ slide.name }}</span>
|
|
163
|
+
</div>
|
|
164
|
+
</template>
|
|
165
|
+
</Carousel>
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
`}),parameters:{docs:{description:{story:"Example of multiple independent carousels on the same page. Each requires unique navigationUniqueIndexer."}}}},we={args:{cards:[...N,...N]},render:t=>({components:{Carousel:$},setup(){return{args:t}},template:`
|
|
170
|
+
<div class="tw-p-8">
|
|
171
|
+
<div class="tw-mb-4 tw-p-4 tw-bg-blue-50 tw-rounded-lg">
|
|
172
|
+
<p class="tw-text-sm tw-font-semibold tw-mb-2">Responsive behavior:</p>
|
|
173
|
+
<ul class="tw-text-sm tw-space-y-1">
|
|
174
|
+
<li>• Mobile (< 640px): 1 slide</li>
|
|
175
|
+
<li>• Tablet (640px - 1023px): 2 slides</li>
|
|
176
|
+
<li>• Desktop (≥ 1024px): 4 slides</li>
|
|
177
|
+
</ul>
|
|
178
|
+
</div>
|
|
179
|
+
<Carousel
|
|
180
|
+
:cards="args.cards"
|
|
181
|
+
:options="{
|
|
182
|
+
loop: true,
|
|
183
|
+
spaceBetween: 20,
|
|
184
|
+
slidesPerView: 1,
|
|
185
|
+
slidesPerGroup: 1,
|
|
186
|
+
breakpoints: {
|
|
187
|
+
640: {
|
|
188
|
+
slidesPerView: 2,
|
|
189
|
+
slidesPerGroup: 2,
|
|
190
|
+
},
|
|
191
|
+
1024: {
|
|
192
|
+
slidesPerView: 4,
|
|
193
|
+
slidesPerGroup: 4,
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
}"
|
|
197
|
+
>
|
|
198
|
+
<template #slide="{ slide }">
|
|
199
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-white tw-border tw-border-gray-200 tw-rounded-lg">
|
|
200
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-32 tw-object-contain tw-mb-2" />
|
|
201
|
+
<span class="tw-text-center tw-text-sm tw-font-medium">{{ slide.name }}</span>
|
|
202
|
+
</div>
|
|
203
|
+
</template>
|
|
204
|
+
</Carousel>
|
|
205
|
+
</div>
|
|
206
|
+
`}),parameters:{docs:{description:{story:"Demonstrates responsive behavior with different numbers of slides at different screen sizes."}}}};le.parameters={...le.parameters,docs:{...le.parameters?.docs,source:{originalSource:`{
|
|
207
|
+
args: {
|
|
208
|
+
cards,
|
|
209
|
+
showControls: true,
|
|
210
|
+
showBullets: true,
|
|
211
|
+
hideBulletsOnMobile: false,
|
|
212
|
+
navCarousel: false,
|
|
213
|
+
options: {
|
|
214
|
+
loop: true,
|
|
215
|
+
spaceBetween: 20,
|
|
216
|
+
slidesPerView: 1,
|
|
217
|
+
breakpoints: {
|
|
218
|
+
640: {
|
|
219
|
+
slidesPerView: 2,
|
|
220
|
+
slidesPerGroup: 2
|
|
221
|
+
},
|
|
222
|
+
1024: {
|
|
223
|
+
slidesPerView: 3,
|
|
224
|
+
slidesPerGroup: 3
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
render: args => ({
|
|
230
|
+
components: {
|
|
231
|
+
Carousel
|
|
232
|
+
},
|
|
233
|
+
setup() {
|
|
234
|
+
return {
|
|
235
|
+
args
|
|
236
|
+
};
|
|
237
|
+
},
|
|
238
|
+
template: \`
|
|
239
|
+
<div class="tw-p-8">
|
|
240
|
+
<Carousel
|
|
241
|
+
:cards="args.cards"
|
|
242
|
+
:show-controls="args.showControls"
|
|
243
|
+
:show-bullets="args.showBullets"
|
|
244
|
+
:hide-bullets-on-mobile="args.hideBulletsOnMobile"
|
|
245
|
+
:nav-carousel="args.navCarousel"
|
|
246
|
+
:options="args.options"
|
|
247
|
+
>
|
|
248
|
+
<template #slide="{ slide }">
|
|
249
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-cursor-pointer tw-p-4 tw-bg-gray-50 tw-rounded-lg tw-h-full">
|
|
250
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-48 tw-object-contain tw-mb-4" />
|
|
251
|
+
<span class="tw-text-lg tw-font-semibold tw-text-center">{{ slide.name }}</span>
|
|
252
|
+
</div>
|
|
253
|
+
</template>
|
|
254
|
+
</Carousel>
|
|
255
|
+
</div>
|
|
256
|
+
\`
|
|
257
|
+
})
|
|
258
|
+
}`,...le.parameters?.docs?.source}}};oe.parameters={...oe.parameters,docs:{...oe.parameters?.docs,source:{originalSource:`{
|
|
259
|
+
args: {
|
|
260
|
+
cards,
|
|
261
|
+
showControls: true,
|
|
262
|
+
showBullets: true,
|
|
263
|
+
options: {
|
|
264
|
+
loop: false,
|
|
265
|
+
slidesPerView: 1,
|
|
266
|
+
slidesPerGroup: 1
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
render: args => ({
|
|
270
|
+
components: {
|
|
271
|
+
Carousel
|
|
272
|
+
},
|
|
273
|
+
setup() {
|
|
274
|
+
return {
|
|
275
|
+
args
|
|
276
|
+
};
|
|
277
|
+
},
|
|
278
|
+
template: \`
|
|
279
|
+
<div class="tw-p-8 tw-max-w-md tw-mx-auto">
|
|
280
|
+
<Carousel
|
|
281
|
+
:cards="args.cards"
|
|
282
|
+
:show-controls="args.showControls"
|
|
283
|
+
:show-bullets="args.showBullets"
|
|
284
|
+
:options="args.options"
|
|
285
|
+
>
|
|
286
|
+
<template #slide="{ slide }">
|
|
287
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-6 tw-bg-white tw-rounded-xl tw-shadow-lg">
|
|
288
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-64 tw-object-contain tw-mb-4" />
|
|
289
|
+
<h3 class="tw-text-xl tw-font-bold tw-text-center">{{ slide.name }}</h3>
|
|
290
|
+
<p class="tw-text-gray-600 tw-text-center tw-mt-2">Click to learn more</p>
|
|
291
|
+
</div>
|
|
292
|
+
</template>
|
|
293
|
+
</Carousel>
|
|
294
|
+
</div>
|
|
295
|
+
\`
|
|
296
|
+
}),
|
|
297
|
+
parameters: {
|
|
298
|
+
docs: {
|
|
299
|
+
description: {
|
|
300
|
+
story: 'Display one slide at a time with navigation controls.'
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}`,...oe.parameters?.docs?.source}}};de.parameters={...de.parameters,docs:{...de.parameters?.docs,source:{originalSource:`{
|
|
305
|
+
args: {
|
|
306
|
+
cards,
|
|
307
|
+
showControls: false,
|
|
308
|
+
showBullets: true,
|
|
309
|
+
options: {
|
|
310
|
+
loop: true,
|
|
311
|
+
autoplay: {
|
|
312
|
+
delay: 3000,
|
|
313
|
+
disableOnInteraction: false
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
render: args => ({
|
|
318
|
+
components: {
|
|
319
|
+
Carousel
|
|
320
|
+
},
|
|
321
|
+
setup() {
|
|
322
|
+
return {
|
|
323
|
+
args
|
|
324
|
+
};
|
|
325
|
+
},
|
|
326
|
+
template: \`
|
|
327
|
+
<div class="tw-p-8">
|
|
328
|
+
<Carousel
|
|
329
|
+
:cards="args.cards"
|
|
330
|
+
:show-controls="args.showControls"
|
|
331
|
+
:show-bullets="args.showBullets"
|
|
332
|
+
:options="args.options"
|
|
333
|
+
>
|
|
334
|
+
<template #slide="{ slide }">
|
|
335
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4">
|
|
336
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-40 tw-object-contain tw-mb-2" />
|
|
337
|
+
<span class="tw-text-center tw-font-medium">{{ slide.name }}</span>
|
|
338
|
+
</div>
|
|
339
|
+
</template>
|
|
340
|
+
</Carousel>
|
|
341
|
+
</div>
|
|
342
|
+
\`
|
|
343
|
+
}),
|
|
344
|
+
parameters: {
|
|
345
|
+
docs: {
|
|
346
|
+
description: {
|
|
347
|
+
story: 'Auto-playing carousel without navigation arrows. Uses only pagination bullets for navigation.'
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}`,...de.parameters?.docs?.source}}};ue.parameters={...ue.parameters,docs:{...ue.parameters?.docs,source:{originalSource:`{
|
|
352
|
+
args: {
|
|
353
|
+
cards,
|
|
354
|
+
showControls: true,
|
|
355
|
+
showBullets: false,
|
|
356
|
+
options: {
|
|
357
|
+
loop: true,
|
|
358
|
+
slidesPerView: 2,
|
|
359
|
+
spaceBetween: 20
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
render: args => ({
|
|
363
|
+
components: {
|
|
364
|
+
Carousel
|
|
365
|
+
},
|
|
366
|
+
setup() {
|
|
367
|
+
return {
|
|
368
|
+
args
|
|
369
|
+
};
|
|
370
|
+
},
|
|
371
|
+
template: \`
|
|
372
|
+
<div class="tw-p-8">
|
|
373
|
+
<Carousel
|
|
374
|
+
:cards="args.cards"
|
|
375
|
+
:show-controls="args.showControls"
|
|
376
|
+
:show-bullets="args.showBullets"
|
|
377
|
+
:options="args.options"
|
|
378
|
+
>
|
|
379
|
+
<template #slide="{ slide }">
|
|
380
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-gray-100 tw-rounded">
|
|
381
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-32 tw-object-contain tw-mb-2" />
|
|
382
|
+
<span class="tw-text-center">{{ slide.name }}</span>
|
|
383
|
+
</div>
|
|
384
|
+
</template>
|
|
385
|
+
</Carousel>
|
|
386
|
+
</div>
|
|
387
|
+
\`
|
|
388
|
+
}),
|
|
389
|
+
parameters: {
|
|
390
|
+
docs: {
|
|
391
|
+
description: {
|
|
392
|
+
story: 'Carousel with arrow controls only, no pagination bullets.'
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}`,...ue.parameters?.docs?.source}}};ce.parameters={...ce.parameters,docs:{...ce.parameters?.docs,source:{originalSource:`{
|
|
397
|
+
args: {
|
|
398
|
+
cards
|
|
399
|
+
},
|
|
400
|
+
render: args => ({
|
|
401
|
+
components: {
|
|
402
|
+
Carousel,
|
|
403
|
+
Icon
|
|
404
|
+
},
|
|
405
|
+
setup() {
|
|
406
|
+
return {
|
|
407
|
+
args
|
|
408
|
+
};
|
|
409
|
+
},
|
|
410
|
+
template: \`
|
|
411
|
+
<div class="tw-p-8">
|
|
412
|
+
<Carousel :cards="args.cards" :options="{ loop: true }">
|
|
413
|
+
<template #arrow-left>
|
|
414
|
+
<div class="tw-bg-blue-500 tw-text-white tw-rounded-full tw-p-3 tw-cursor-pointer hover:tw-bg-blue-600 tw-transition tw-shadow-lg">
|
|
415
|
+
<Icon classes="tw-transform tw-rotate-180" name="chevron-right" size="lg" color="white" />
|
|
416
|
+
</div>
|
|
417
|
+
</template>
|
|
418
|
+
<template #slide="{ slide }">
|
|
419
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4">
|
|
420
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-40 tw-object-contain tw-mb-2" />
|
|
421
|
+
<span class="tw-text-center tw-font-medium">{{ slide.name }}</span>
|
|
422
|
+
</div>
|
|
423
|
+
</template>
|
|
424
|
+
<template #arrow-right>
|
|
425
|
+
<div class="tw-bg-blue-500 tw-text-white tw-rounded-full tw-p-3 tw-cursor-pointer hover:tw-bg-blue-600 tw-transition tw-shadow-lg">
|
|
426
|
+
<Icon name="chevron-right" size="lg" color="white" />
|
|
427
|
+
</div>
|
|
428
|
+
</template>
|
|
429
|
+
</Carousel>
|
|
430
|
+
</div>
|
|
431
|
+
\`
|
|
432
|
+
}),
|
|
433
|
+
parameters: {
|
|
434
|
+
docs: {
|
|
435
|
+
description: {
|
|
436
|
+
story: 'Carousel with custom-styled navigation arrows using the arrow slots.'
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}`,...ce.parameters?.docs?.source}}};pe.parameters={...pe.parameters,docs:{...pe.parameters?.docs,source:{originalSource:`{
|
|
441
|
+
args: {
|
|
442
|
+
cards: [...cards, ...cards, ...cards]
|
|
443
|
+
},
|
|
444
|
+
render: args => ({
|
|
445
|
+
components: {
|
|
446
|
+
Carousel
|
|
447
|
+
},
|
|
448
|
+
setup() {
|
|
449
|
+
return {
|
|
450
|
+
args
|
|
451
|
+
};
|
|
452
|
+
},
|
|
453
|
+
template: \`
|
|
454
|
+
<div class="tw-p-8">
|
|
455
|
+
<Carousel
|
|
456
|
+
:cards="args.cards"
|
|
457
|
+
:options="{
|
|
458
|
+
loop: false,
|
|
459
|
+
spaceBetween: 20,
|
|
460
|
+
freeMode: true,
|
|
461
|
+
slidesPerView: 'auto',
|
|
462
|
+
}"
|
|
463
|
+
>
|
|
464
|
+
<template #slide="{ slide }">
|
|
465
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-white tw-rounded-lg tw-shadow" style="width: 200px;">
|
|
466
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-32 tw-object-contain tw-mb-2" />
|
|
467
|
+
<span class="tw-text-center tw-text-sm tw-font-medium">{{ slide.name }}</span>
|
|
468
|
+
</div>
|
|
469
|
+
</template>
|
|
470
|
+
</Carousel>
|
|
471
|
+
</div>
|
|
472
|
+
\`
|
|
473
|
+
}),
|
|
474
|
+
parameters: {
|
|
475
|
+
docs: {
|
|
476
|
+
description: {
|
|
477
|
+
story: 'Free scrolling mode where users can drag freely without snapping to slides.'
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
}`,...pe.parameters?.docs?.source}}};fe.parameters={...fe.parameters,docs:{...fe.parameters?.docs,source:{originalSource:`{
|
|
482
|
+
args: {
|
|
483
|
+
cards: [...cards, ...cards]
|
|
484
|
+
},
|
|
485
|
+
render: args => ({
|
|
486
|
+
components: {
|
|
487
|
+
Carousel
|
|
488
|
+
},
|
|
489
|
+
setup() {
|
|
490
|
+
return {
|
|
491
|
+
args
|
|
492
|
+
};
|
|
493
|
+
},
|
|
494
|
+
template: \`
|
|
495
|
+
<div class="tw-p-8">
|
|
496
|
+
<Carousel
|
|
497
|
+
:cards="args.cards"
|
|
498
|
+
:options="{
|
|
499
|
+
loop: true,
|
|
500
|
+
centeredSlides: true,
|
|
501
|
+
slidesPerView: 1.5,
|
|
502
|
+
spaceBetween: 30,
|
|
503
|
+
}"
|
|
504
|
+
>
|
|
505
|
+
<template #slide="{ slide }">
|
|
506
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-6 tw-bg-gradient-to-br tw-from-purple-100 tw-to-blue-100 tw-rounded-xl">
|
|
507
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-48 tw-object-contain tw-mb-4" />
|
|
508
|
+
<span class="tw-text-center tw-text-lg tw-font-semibold">{{ slide.name }}</span>
|
|
509
|
+
</div>
|
|
510
|
+
</template>
|
|
511
|
+
</Carousel>
|
|
512
|
+
</div>
|
|
513
|
+
\`
|
|
514
|
+
}),
|
|
515
|
+
parameters: {
|
|
516
|
+
docs: {
|
|
517
|
+
description: {
|
|
518
|
+
story: 'Carousel with centered active slide and partial view of adjacent slides.'
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
}`,...fe.parameters?.docs?.source}}};me.parameters={...me.parameters,docs:{...me.parameters?.docs,source:{originalSource:`{
|
|
523
|
+
render: () => ({
|
|
524
|
+
components: {
|
|
525
|
+
Carousel
|
|
526
|
+
},
|
|
527
|
+
setup() {
|
|
528
|
+
return {
|
|
529
|
+
cards,
|
|
530
|
+
swiperOne: {
|
|
531
|
+
options: {
|
|
532
|
+
loop: true,
|
|
533
|
+
navigation: {
|
|
534
|
+
prevEl: '.carousel__button-prev--1',
|
|
535
|
+
nextEl: '.carousel__button-next--1'
|
|
536
|
+
},
|
|
537
|
+
pagination: {
|
|
538
|
+
el: '.pagination--1'
|
|
539
|
+
}
|
|
540
|
+
},
|
|
541
|
+
navigationUniqueIndexer: '1'
|
|
542
|
+
},
|
|
543
|
+
swiperTwo: {
|
|
544
|
+
options: {
|
|
545
|
+
loop: true,
|
|
546
|
+
navigation: {
|
|
547
|
+
prevEl: '.carousel__button-prev--2',
|
|
548
|
+
nextEl: '.carousel__button-next--2'
|
|
549
|
+
},
|
|
550
|
+
pagination: {
|
|
551
|
+
el: '.pagination--2'
|
|
552
|
+
}
|
|
553
|
+
},
|
|
554
|
+
navigationUniqueIndexer: '2'
|
|
555
|
+
}
|
|
556
|
+
};
|
|
557
|
+
},
|
|
558
|
+
template: \`
|
|
559
|
+
<div class="tw-p-8 tw-space-y-12">
|
|
560
|
+
<div>
|
|
561
|
+
<h3 class="tw-text-xl tw-font-bold tw-mb-4 tw-text-center">First Carousel</h3>
|
|
562
|
+
<div class="tw-max-w-md tw-mx-auto">
|
|
563
|
+
<Carousel
|
|
564
|
+
:cards="cards"
|
|
565
|
+
:show-bullets="true"
|
|
566
|
+
:swiper-ref="swiperOne.navigationUniqueIndexer"
|
|
567
|
+
:navigation-unique-indexer="swiperOne.navigationUniqueIndexer"
|
|
568
|
+
:options="swiperOne.options"
|
|
569
|
+
>
|
|
570
|
+
<template #slide="{ slide }">
|
|
571
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-blue-50 tw-rounded-lg">
|
|
572
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-40 tw-object-contain tw-mb-2" />
|
|
573
|
+
<span class="tw-text-center tw-font-medium">{{ slide.name }}</span>
|
|
574
|
+
</div>
|
|
575
|
+
</template>
|
|
576
|
+
</Carousel>
|
|
577
|
+
</div>
|
|
578
|
+
</div>
|
|
579
|
+
|
|
580
|
+
<div>
|
|
581
|
+
<h3 class="tw-text-xl tw-font-bold tw-mb-4 tw-text-center">Second Carousel</h3>
|
|
582
|
+
<div class="tw-max-w-md tw-mx-auto">
|
|
583
|
+
<Carousel
|
|
584
|
+
:cards="cards"
|
|
585
|
+
:show-bullets="true"
|
|
586
|
+
:swiper-ref="swiperTwo.navigationUniqueIndexer"
|
|
587
|
+
:navigation-unique-indexer="swiperTwo.navigationUniqueIndexer"
|
|
588
|
+
:options="swiperTwo.options"
|
|
589
|
+
>
|
|
590
|
+
<template #slide="{ slide }">
|
|
591
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-green-50 tw-rounded-lg">
|
|
592
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-40 tw-object-contain tw-mb-2" />
|
|
593
|
+
<span class="tw-text-center tw-font-medium">{{ slide.name }}</span>
|
|
594
|
+
</div>
|
|
595
|
+
</template>
|
|
596
|
+
</Carousel>
|
|
597
|
+
</div>
|
|
598
|
+
</div>
|
|
599
|
+
</div>
|
|
600
|
+
\`
|
|
601
|
+
}),
|
|
602
|
+
parameters: {
|
|
603
|
+
docs: {
|
|
604
|
+
description: {
|
|
605
|
+
story: 'Example of multiple independent carousels on the same page. Each requires unique navigationUniqueIndexer.'
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
}`,...me.parameters?.docs?.source}}};we.parameters={...we.parameters,docs:{...we.parameters?.docs,source:{originalSource:`{
|
|
610
|
+
args: {
|
|
611
|
+
cards: [...cards, ...cards]
|
|
612
|
+
},
|
|
613
|
+
render: args => ({
|
|
614
|
+
components: {
|
|
615
|
+
Carousel
|
|
616
|
+
},
|
|
617
|
+
setup() {
|
|
618
|
+
return {
|
|
619
|
+
args
|
|
620
|
+
};
|
|
621
|
+
},
|
|
622
|
+
template: \`
|
|
623
|
+
<div class="tw-p-8">
|
|
624
|
+
<div class="tw-mb-4 tw-p-4 tw-bg-blue-50 tw-rounded-lg">
|
|
625
|
+
<p class="tw-text-sm tw-font-semibold tw-mb-2">Responsive behavior:</p>
|
|
626
|
+
<ul class="tw-text-sm tw-space-y-1">
|
|
627
|
+
<li>• Mobile (< 640px): 1 slide</li>
|
|
628
|
+
<li>• Tablet (640px - 1023px): 2 slides</li>
|
|
629
|
+
<li>• Desktop (≥ 1024px): 4 slides</li>
|
|
630
|
+
</ul>
|
|
631
|
+
</div>
|
|
632
|
+
<Carousel
|
|
633
|
+
:cards="args.cards"
|
|
634
|
+
:options="{
|
|
635
|
+
loop: true,
|
|
636
|
+
spaceBetween: 20,
|
|
637
|
+
slidesPerView: 1,
|
|
638
|
+
slidesPerGroup: 1,
|
|
639
|
+
breakpoints: {
|
|
640
|
+
640: {
|
|
641
|
+
slidesPerView: 2,
|
|
642
|
+
slidesPerGroup: 2,
|
|
643
|
+
},
|
|
644
|
+
1024: {
|
|
645
|
+
slidesPerView: 4,
|
|
646
|
+
slidesPerGroup: 4,
|
|
647
|
+
},
|
|
648
|
+
},
|
|
649
|
+
}"
|
|
650
|
+
>
|
|
651
|
+
<template #slide="{ slide }">
|
|
652
|
+
<div class="tw-flex tw-flex-col tw-items-center tw-p-4 tw-bg-white tw-border tw-border-gray-200 tw-rounded-lg">
|
|
653
|
+
<img :src="slide.imageUrl" :alt="slide.name" class="tw-w-full tw-h-32 tw-object-contain tw-mb-2" />
|
|
654
|
+
<span class="tw-text-center tw-text-sm tw-font-medium">{{ slide.name }}</span>
|
|
655
|
+
</div>
|
|
656
|
+
</template>
|
|
657
|
+
</Carousel>
|
|
658
|
+
</div>
|
|
659
|
+
\`
|
|
660
|
+
}),
|
|
661
|
+
parameters: {
|
|
662
|
+
docs: {
|
|
663
|
+
description: {
|
|
664
|
+
story: 'Demonstrates responsive behavior with different numbers of slides at different screen sizes.'
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
}`,...we.parameters?.docs?.source}}};const wi=["Default","SingleSlide","WithoutControls","WithoutBullets","CustomArrows","FreeMode","CenteredSlides","MultipleCarousels","ResponsiveBreakpoints"];export{fe as CenteredSlides,ce as CustomArrows,le as Default,pe as FreeMode,me as MultipleCarousels,we as ResponsiveBreakpoints,oe as SingleSlide,ue as WithoutBullets,de as WithoutControls,wi as __namedExportsOrder,mi as default};
|