diff --git a/download/download.html b/download/download.html new file mode 100644 index 0000000..b8b2409 --- /dev/null +++ b/download/download.html @@ -0,0 +1,201 @@ + + + + + + + + + + + دانلود اپلیکیشن + + + +
+ + + + +
+
+
نسخه 1.5.0
+

دانلود املاک یار

+

+ اگه میخوای از داغ ترین امکانات املاک یار جا نمونی، از اینجا آپدیت + کن. +

+
+
+
+ +

دانلود نسخه آیفون

+ + + + + +
+ +
+ +

دانلود نسخه اندروید

+ + + + +
+
+
+ + + +
+

آموزش ها

+
+

از طریق اینستاگرام ما کلی اطلاعات مفید به دست بیاورید.

+
+ + +
+
+ + + + + + + + + + + diff --git a/download/style.css b/download/style.css new file mode 100644 index 0000000..2d37366 --- /dev/null +++ b/download/style.css @@ -0,0 +1,39 @@ +.section-download{ + padding-top: 5rem; +} + +.box-down{ + height: 35rem; + box-shadow: 0 0 0.3rem 0 rgb(196, 195, 195); +} + +.version{ + color: rgba(0, 90, 194, 1); + font-size: 1rem; +} + +.txt-down{ + font-size: 0.9rem; + color: rgba(102, 112, 133, 1); +} + +.title-text-download{ + font-weight: bold; +} + +.btn-down{ + background-color: rgba(0, 90, 194, 1); + color: #fff; + border: none; + width: 13rem; +} + +.img-click{ + width: 13rem; +} + +@media screen and (max-width: 768px){ + .box-down{ + height: auto; + } +} \ No newline at end of file diff --git a/fonts/iransans/IRANSansX-Black.otf b/fonts/iransans/IRANSansX-Black.otf new file mode 100644 index 0000000..088d048 Binary files /dev/null and b/fonts/iransans/IRANSansX-Black.otf differ diff --git a/fonts/iransans/IRANSansX-Black.woff b/fonts/iransans/IRANSansX-Black.woff deleted file mode 100644 index 6326fab..0000000 Binary files a/fonts/iransans/IRANSansX-Black.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-Bold.otf b/fonts/iransans/IRANSansX-Bold.otf new file mode 100644 index 0000000..4281aba Binary files /dev/null and b/fonts/iransans/IRANSansX-Bold.otf differ diff --git a/fonts/iransans/IRANSansX-Bold.woff b/fonts/iransans/IRANSansX-Bold.woff deleted file mode 100644 index 6dacc61..0000000 Binary files a/fonts/iransans/IRANSansX-Bold.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-DemiBold.otf b/fonts/iransans/IRANSansX-DemiBold.otf new file mode 100644 index 0000000..2a8506e Binary files /dev/null and b/fonts/iransans/IRANSansX-DemiBold.otf differ diff --git a/fonts/iransans/IRANSansX-DemiBold.woff b/fonts/iransans/IRANSansX-DemiBold.woff deleted file mode 100644 index 5c0d100..0000000 Binary files a/fonts/iransans/IRANSansX-DemiBold.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-ExtraBlack.otf b/fonts/iransans/IRANSansX-ExtraBlack.otf new file mode 100644 index 0000000..8a6fba5 Binary files /dev/null and b/fonts/iransans/IRANSansX-ExtraBlack.otf differ diff --git a/fonts/iransans/IRANSansX-ExtraBlack.woff b/fonts/iransans/IRANSansX-ExtraBlack.woff deleted file mode 100644 index b0d258a..0000000 Binary files a/fonts/iransans/IRANSansX-ExtraBlack.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-ExtraBold.otf b/fonts/iransans/IRANSansX-ExtraBold.otf new file mode 100644 index 0000000..202107a Binary files /dev/null and b/fonts/iransans/IRANSansX-ExtraBold.otf differ diff --git a/fonts/iransans/IRANSansX-ExtraBold.woff b/fonts/iransans/IRANSansX-ExtraBold.woff deleted file mode 100644 index 814007e..0000000 Binary files a/fonts/iransans/IRANSansX-ExtraBold.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-Heavy.otf b/fonts/iransans/IRANSansX-Heavy.otf new file mode 100644 index 0000000..a147f6e Binary files /dev/null and b/fonts/iransans/IRANSansX-Heavy.otf differ diff --git a/fonts/iransans/IRANSansX-Heavy.woff b/fonts/iransans/IRANSansX-Heavy.woff deleted file mode 100644 index 3c09602..0000000 Binary files a/fonts/iransans/IRANSansX-Heavy.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-Light.otf b/fonts/iransans/IRANSansX-Light.otf new file mode 100644 index 0000000..81c5614 Binary files /dev/null and b/fonts/iransans/IRANSansX-Light.otf differ diff --git a/fonts/iransans/IRANSansX-Light.woff b/fonts/iransans/IRANSansX-Light.woff deleted file mode 100644 index f380d77..0000000 Binary files a/fonts/iransans/IRANSansX-Light.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-Medium.otf b/fonts/iransans/IRANSansX-Medium.otf new file mode 100644 index 0000000..b385822 Binary files /dev/null and b/fonts/iransans/IRANSansX-Medium.otf differ diff --git a/fonts/iransans/IRANSansX-Medium.woff b/fonts/iransans/IRANSansX-Medium.woff deleted file mode 100644 index 5b1daf1..0000000 Binary files a/fonts/iransans/IRANSansX-Medium.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-Regular.otf b/fonts/iransans/IRANSansX-Regular.otf new file mode 100644 index 0000000..c8eda2c Binary files /dev/null and b/fonts/iransans/IRANSansX-Regular.otf differ diff --git a/fonts/iransans/IRANSansX-Regular.woff b/fonts/iransans/IRANSansX-Regular.woff deleted file mode 100644 index 51780b3..0000000 Binary files a/fonts/iransans/IRANSansX-Regular.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-Thin.otf b/fonts/iransans/IRANSansX-Thin.otf new file mode 100644 index 0000000..b5cece6 Binary files /dev/null and b/fonts/iransans/IRANSansX-Thin.otf differ diff --git a/fonts/iransans/IRANSansX-Thin.woff b/fonts/iransans/IRANSansX-Thin.woff deleted file mode 100644 index f023820..0000000 Binary files a/fonts/iransans/IRANSansX-Thin.woff and /dev/null differ diff --git a/fonts/iransans/IRANSansX-UltraLight.otf b/fonts/iransans/IRANSansX-UltraLight.otf new file mode 100644 index 0000000..e8f5c2e Binary files /dev/null and b/fonts/iransans/IRANSansX-UltraLight.otf differ diff --git a/fonts/iransans/IRANSansX-UltraLight.woff b/fonts/iransans/IRANSansX-UltraLight.woff deleted file mode 100644 index 915aef4..0000000 Binary files a/fonts/iransans/IRANSansX-UltraLight.woff and /dev/null differ diff --git a/img/1.png b/img/1.png new file mode 100644 index 0000000..6101e9e Binary files /dev/null and b/img/1.png differ diff --git a/img/2.png b/img/2.png new file mode 100644 index 0000000..94fa5e0 Binary files /dev/null and b/img/2.png differ diff --git a/img/3.png b/img/3.png new file mode 100644 index 0000000..46d28f9 Binary files /dev/null and b/img/3.png differ diff --git a/img/Enamad.png b/img/Enamad.png new file mode 100644 index 0000000..edb0b64 Binary files /dev/null and b/img/Enamad.png differ diff --git a/img/Group.png b/img/Group.png new file mode 100644 index 0000000..23f4a47 Binary files /dev/null and b/img/Group.png differ diff --git a/img/Social icon (1).png b/img/Social icon (1).png deleted file mode 100644 index e034ddd..0000000 Binary files a/img/Social icon (1).png and /dev/null differ diff --git a/img/Social icon (2).png b/img/Social icon (2).png deleted file mode 100644 index 4cf80dd..0000000 Binary files a/img/Social icon (2).png and /dev/null differ diff --git a/img/Social icon.png b/img/Social icon.png deleted file mode 100644 index de26932..0000000 Binary files a/img/Social icon.png and /dev/null differ diff --git a/img/android.png b/img/android.png new file mode 100644 index 0000000..8b37c5e Binary files /dev/null and b/img/android.png differ diff --git a/img/apple.png b/img/apple.png new file mode 100644 index 0000000..a714191 Binary files /dev/null and b/img/apple.png differ diff --git a/img/big.png b/img/big.png new file mode 100644 index 0000000..6496ce5 Binary files /dev/null and b/img/big.png differ diff --git a/img/btn1.png b/img/btn1.png new file mode 100644 index 0000000..eedd720 Binary files /dev/null and b/img/btn1.png differ diff --git a/img/btn2.png b/img/btn2.png new file mode 100644 index 0000000..6c7dac4 Binary files /dev/null and b/img/btn2.png differ diff --git a/img/btn3.svg b/img/btn3.svg new file mode 100644 index 0000000..b9979cb --- /dev/null +++ b/img/btn3.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/btn4.png b/img/btn4.png new file mode 100644 index 0000000..1e6b6e8 Binary files /dev/null and b/img/btn4.png differ diff --git a/img/btn5.png b/img/btn5.png new file mode 100644 index 0000000..d0845e5 Binary files /dev/null and b/img/btn5.png differ diff --git a/img/btn6.png b/img/btn6.png new file mode 100644 index 0000000..6ab9cf9 Binary files /dev/null and b/img/btn6.png differ diff --git a/img/btn7.png b/img/btn7.png new file mode 100644 index 0000000..521addb Binary files /dev/null and b/img/btn7.png differ diff --git a/img/check.png b/img/check.png new file mode 100644 index 0000000..4b7f789 Binary files /dev/null and b/img/check.png differ diff --git a/img/coffee.png b/img/coffee.png new file mode 100644 index 0000000..de82e0f Binary files /dev/null and b/img/coffee.png differ diff --git a/img/desktop-1.webp b/img/desktop-1.webp deleted file mode 100644 index d28716e..0000000 Binary files a/img/desktop-1.webp and /dev/null differ diff --git a/img/desktop-3.webp b/img/desktop-3.webp deleted file mode 100644 index abc0421..0000000 Binary files a/img/desktop-3.webp and /dev/null differ diff --git a/img/desktop-4.webp b/img/desktop-4.webp deleted file mode 100644 index 19ace45..0000000 Binary files a/img/desktop-4.webp and /dev/null differ diff --git a/img/download.png b/img/download.png new file mode 100644 index 0000000..5ba8926 Binary files /dev/null and b/img/download.png differ diff --git a/img/frame.png b/img/frame.png new file mode 100644 index 0000000..ac1ebb8 Binary files /dev/null and b/img/frame.png differ diff --git a/img/git.png b/img/git.png new file mode 100644 index 0000000..69aff3b Binary files /dev/null and b/img/git.png differ diff --git a/img/image 57.png b/img/image 57.png deleted file mode 100644 index 65d0566..0000000 Binary files a/img/image 57.png and /dev/null differ diff --git a/img/image 58.svg b/img/image 58.svg deleted file mode 100644 index 110c0fe..0000000 --- a/img/image 58.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/img/image 59.svg b/img/image 59.svg deleted file mode 100644 index e88d323..0000000 --- a/img/image 59.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/img/image 60.svg b/img/image 60.svg deleted file mode 100644 index e13843c..0000000 --- a/img/image 60.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/img/instagram.png b/img/instagram.png new file mode 100644 index 0000000..631ef36 Binary files /dev/null and b/img/instagram.png differ diff --git a/img/instagram2.png b/img/instagram2.png new file mode 100644 index 0000000..fd3fb90 Binary files /dev/null and b/img/instagram2.png differ diff --git a/img/linkedin.png b/img/linkedin.png new file mode 100644 index 0000000..ebb4f71 Binary files /dev/null and b/img/linkedin.png differ diff --git a/img/logo (1).png b/img/logo (1).png deleted file mode 100644 index 9b1f34e..0000000 Binary files a/img/logo (1).png and /dev/null differ diff --git a/img/logo-instagram-svgrepo-com 1.png b/img/logo-instagram-svgrepo-com 1.png deleted file mode 100644 index 818b4d6..0000000 Binary files a/img/logo-instagram-svgrepo-com 1.png and /dev/null differ diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000..cf7f807 Binary files /dev/null and b/img/logo.png differ diff --git a/img/mail.png b/img/mail.png new file mode 100644 index 0000000..dcf6322 Binary files /dev/null and b/img/mail.png differ diff --git a/img/min.png b/img/min.png new file mode 100644 index 0000000..33e81ec Binary files /dev/null and b/img/min.png differ diff --git a/img/mobile-1.webp b/img/mobile-1.webp deleted file mode 100644 index 67fb38f..0000000 Binary files a/img/mobile-1.webp and /dev/null differ diff --git a/img/mobile-2.webp b/img/mobile-2.webp deleted file mode 100644 index 5bfee8c..0000000 Binary files a/img/mobile-2.webp and /dev/null differ diff --git a/img/mobile-3.webp b/img/mobile-3.webp deleted file mode 100644 index e9cb70b..0000000 Binary files a/img/mobile-3.webp and /dev/null differ diff --git a/img/mobile-4.webp b/img/mobile-4.webp deleted file mode 100644 index 9103936..0000000 Binary files a/img/mobile-4.webp and /dev/null differ diff --git a/img/mobile-5.webp b/img/mobile-5.webp deleted file mode 100644 index c1148e6..0000000 Binary files a/img/mobile-5.webp and /dev/null differ diff --git a/img/mobile-6.webp b/img/mobile-6.webp deleted file mode 100644 index 42f7fb0..0000000 Binary files a/img/mobile-6.webp and /dev/null differ diff --git a/img/neon.png b/img/neon.png new file mode 100644 index 0000000..11d84f2 Binary files /dev/null and b/img/neon.png differ diff --git a/img/phone1.png b/img/phone1.png new file mode 100644 index 0000000..8ed9a98 Binary files /dev/null and b/img/phone1.png differ diff --git a/img/phone2.png b/img/phone2.png new file mode 100644 index 0000000..903f0cc Binary files /dev/null and b/img/phone2.png differ diff --git a/img/phone3.png b/img/phone3.png new file mode 100644 index 0000000..869388a Binary files /dev/null and b/img/phone3.png differ diff --git a/img/phone4.png b/img/phone4.png new file mode 100644 index 0000000..1e09f1a Binary files /dev/null and b/img/phone4.png differ diff --git a/img/play-circle.svg b/img/play-circle.svg new file mode 100644 index 0000000..81a4a14 --- /dev/null +++ b/img/play-circle.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/img/play-circle2.png b/img/play-circle2.png new file mode 100644 index 0000000..7c3f884 Binary files /dev/null and b/img/play-circle2.png differ diff --git a/img/qrcode.png b/img/qrcode.png new file mode 100644 index 0000000..0910109 Binary files /dev/null and b/img/qrcode.png differ diff --git a/img/samandehi.png b/img/samandehi.png new file mode 100644 index 0000000..fa4be07 Binary files /dev/null and b/img/samandehi.png differ diff --git a/img/slide-1(2).png b/img/slide-1(2).png deleted file mode 100644 index d0a2f07..0000000 Binary files a/img/slide-1(2).png and /dev/null differ diff --git a/img/slide-1.png b/img/slide-1.png deleted file mode 100644 index d01b362..0000000 Binary files a/img/slide-1.png and /dev/null differ diff --git a/img/slide-2(2).png b/img/slide-2(2).png deleted file mode 100644 index c2d39d4..0000000 Binary files a/img/slide-2(2).png and /dev/null differ diff --git a/img/slide-2.png b/img/slide-2.png deleted file mode 100644 index 3b7b0ad..0000000 Binary files a/img/slide-2.png and /dev/null differ diff --git a/img/slide-3(2).png b/img/slide-3(2).png deleted file mode 100644 index b6d1671..0000000 Binary files a/img/slide-3(2).png and /dev/null differ diff --git a/img/slide-3.png b/img/slide-3.png deleted file mode 100644 index 2e7574f..0000000 Binary files a/img/slide-3.png and /dev/null differ diff --git a/img/tile.svg b/img/tile.svg new file mode 100644 index 0000000..badbda4 --- /dev/null +++ b/img/tile.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/twiter.png b/img/twiter.png new file mode 100644 index 0000000..b2efe1f Binary files /dev/null and b/img/twiter.png differ diff --git a/img/users.png b/img/users.png new file mode 100644 index 0000000..f16fb52 Binary files /dev/null and b/img/users.png differ diff --git a/img/whatsapp.png b/img/whatsapp.png new file mode 100644 index 0000000..af56208 Binary files /dev/null and b/img/whatsapp.png differ diff --git a/img/zap.png b/img/zap.png new file mode 100644 index 0000000..02ad729 Binary files /dev/null and b/img/zap.png differ diff --git a/img/zarrin.png b/img/zarrin.png new file mode 100644 index 0000000..676eb60 Binary files /dev/null and b/img/zarrin.png differ diff --git a/index.html b/index.html index bfbdf1e..6a6177d 100644 --- a/index.html +++ b/index.html @@ -1,952 +1,651 @@ - - - - - - - - - - - - - - - - اپلیکیشن املاک‌یار - - - -
- -
- - - - -
-
-

- اپلیکیشن فایلینگ و مدیریت املاک حرفه ای یک دستیار تمام عیار برای املاک شما -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

- همه چیز در دسترس شماست تا مشاوران املاک به بهترین شکل ممکن املاک را مدیریت کنند. -

-
-
- -
-
-
-
-
-
-
-
- -

محاسبه کمیسیون

-

- محاسبه حق کمیسیون فروش و اجاره و رهن، شهرها با آخرین نرخ‌نامه اتحادیه ها + کلی ابزار دیگه -

-
+ +
+
+
+ +
+

فایل ها و متقاضی ها

+

+ روینو یک ابزار قدرتمند برای مدیریت کسب و کار شماست که با ارائه + ویژگی های بی نظیر و امکانات منحصر به فرد، به بهبود بهره وری و + افزایش سود شما کمک می کند. +

+
    +
  • +
    +
    -
    -
    - -

    فایل‌های عمومی

    -

    - امکان دیدن فایل‌های عمومی دیگر مشاوران املاک در هر شهر، امکان جستجو و فیلتر فایل‌های عمومی -

    -
    + سرچ حرفه ای و فیلترینگ پیشرفته +
  • +
  • +
    +
    -
    -
    - -

    اضافه کردن املاک شما

    -

    - امکان اضافه کردن دفتر مشاور املاک شما به اپلیکیشن تا به اسم مشاور املاک شما فایل‌های عمومی - را منتشر کنید. -

    -
    + اضافه کردن عکس به فایل ها +
  • +
  • +
    +
    -
-
+ امکان انتشار عمومی + + +
+ +
+ +
- + + + +
+
+

سوالات متداول

+
+

هر آنچه باید درمورد محصول و هزینه آن بدانید.

+
+
+ +
+
+
+
+
-
-

فایل‌های عمومی

+
+

- امکان دیدن فایل‌های عمومی دیگر مشاوران املاک در هر شهر، امکان جستجو و فیلتر فایل‌های عمومی + بله، شما می توانید ما را به مدت 30 روز به صورت رایگان امتحان + کنید. اگر بخواهید ما یک تماس 30 دقیقه ای رایگان و شخصی سازی + شده برای شما ارائه می کنیم تا شما را در اسرع وقت راه اندازی + کنیم.

+
+
+
+
+
+
-
-

اضافه کردن املاک شما

+
+

- امکان اضافه کردن دفتر مشاور املاک شما به اپلیکیشن تا به اسم مشاور املاک شما فایل‌های عمومی را منتشر - کنید. + بله، شما می توانید ما را به مدت 30 روز به صورت رایگان امتحان + کنید. اگر بخواهید ما یک تماس 30 دقیقه ای رایگان و شخصی سازی + شده برای شما ارائه می کنیم تا شما را در اسرع وقت راه اندازی + کنیم.

+
-
-
- - - - - - - - - + + +
+
+
+

در 1 دقیقه ثبت نام کنید

+
    +
  • +
    + +
    + سرچ حرفه ای و فیلترینگ پیشرفته +
  • +
  • +
    + +
    + اضافه کردن عکس به فایل ها +
  • +
  • +
    + +
    + امکان انتشار عمومی +
  • +
+ +
- --> - - - -
-
- +
+ +
+
+ +
+

آموزش ها

+
+

از طریق اینستاگرام ما کلی اطلاعات مفید به دست بیاورید.

-
-
-
- - - -
-
-
-

املاک‌یار رو امتحان کن

-

- همین حالا میتونی املاک‌یار رو توی گوشی خودت نصب کنی و شروع به استفاده ازش - کنی -

-
- + -
- +
+
+ + + +
+
- - - - - - - + + + + + + diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json deleted file mode 100644 index e180525..0000000 --- a/node_modules/.package-lock.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "amlackyar", - "lockfileVersion": 3, - "requires": true, - "packages": { - "node_modules/iransans-fontface": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/iransans-fontface/-/iransans-fontface-0.1.1.tgz", - "integrity": "sha512-YSCx1yNbwgNrcmcSCnx3zkQ+LIJMDOxTLmFflUiGaJjN5Oio3FFP4wrYYqvhuehYxL/uVbMn9nX8IxUT366jfQ==" - }, - "node_modules/swiper": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.1.3.tgz", - "integrity": "sha512-80MSxonyTxrGcaWj9YgvvhD8OG0B9/9IVZP33vhIEvyWvmKjnQDBieO+29wKvMx285sAtvZyrWBdkxaw6+D3aw==", - "funding": [ - { - "type": "patreon", - "url": "https://www.patreon.com/swiperjs" - }, - { - "type": "open_collective", - "url": "http://opencollective.com/swiper" - } - ], - "engines": { - "node": ">= 4.7.0" - } - } - } -} diff --git a/node_modules/iransans-fontface/.npmignore b/node_modules/iransans-fontface/.npmignore deleted file mode 100644 index 7e131e0..0000000 --- a/node_modules/iransans-fontface/.npmignore +++ /dev/null @@ -1,11 +0,0 @@ -# Node -node_modules/ -npm-debug.log - -# OS specific trash -.DS_Store -._.DS_Store -Thumbs.db - -# Sass-specific -.sass-cache diff --git a/node_modules/iransans-fontface/LICENSE b/node_modules/iransans-fontface/LICENSE deleted file mode 100644 index a6de40b..0000000 --- a/node_modules/iransans-fontface/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2013 Christian Hoffmeister - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/node_modules/iransans-fontface/README.md b/node_modules/iransans-fontface/README.md deleted file mode 100644 index 867263a..0000000 --- a/node_modules/iransans-fontface/README.md +++ /dev/null @@ -1,59 +0,0 @@ -> Notice! Since this font family is licensed, This package does not include the fonts itself, you have to download it from the producer website. This package only supports IRANSans v4. - -# IRANSans fontface - -A simple package providing the [IRANSans](http://fontiran.com/%D8%AE%D8%A7%D9%86%D9%88%D8%A7%D8%AF%D9%87-%D9%81%D9%88%D9%86%D8%AA-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86/) fontface. The font was created by [Moslem Ebrahimi](http://www.moslemebrahimi.com/). - -## Installing - -Assuming you have [NodeJS](http://nodejs.org/), [NPM](https://www.npmjs.com/) and [Bower](http://bower.io/) installed globally just open up a terminal, navigate to your projects root directory and then execute - -``` -# install via NPM -$ npm install iransans-fontface --save - -# install via Bower -$ bower install iransans-fontface --save -``` - -Since the font is licensed you have to download the fonts from the [producer website](http://fontiran.com/%D8%AE%D8%A7%D9%86%D9%88%D8%A7%D8%AF%D9%87-%D9%81%D9%88%D9%86%D8%AA-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86/) and then put all the web fonts in `fonts/IRANSansWeb`. - -Also you need to rename regular fonts: -``` -mv fonts/IRANSansWeb/IRANSansWeb.ttf fonts/IRANSansWeb/IRANSansWeb_Regular.ttf -mv fonts/IRANSansWeb/IRANSansWeb.eot fonts/IRANSansWeb/IRANSansWeb_Regular.eot -mv fonts/IRANSansWeb/IRANSansWeb.woff fonts/IRANSansWeb/IRANSansWeb_Regular.woff -mv fonts/IRANSansWeb/IRANSansWeb.woff2 fonts/IRANSansWeb/IRANSansWeb_Regular.woff2 - -``` - -## Usage - -There're several files in the `css/` subdirectory. Import them in your project -to have access to "IRANSans" font face: - -* `css/iransans/iransans-fontface.css` - whole font family compiled to CSS -* `css/iransans/sass/iransans-fontface.scss` - whole font family in SCSS -* `css/iransans/less/iransans-fontface.less` - whole font family in LESS - -Importing whole family may be unnecessary and lead to huge build, so if you are -using SCSS or LESS, you can import only individual weights by importing for example: - -* `css/iransans/sass/iransans-fontface-bold.scss` -* `css/iransans/sass/iransans-fontface-bold-italic.scss` - -## Hinting - -Some of the included font files have [hinting](http://en.wikipedia.org/wiki/Font_hinting). - -| Files | Hinting | -|----------|---------| -| `.eot` | ? | -| `.svg` | no | -| `.ttf` | ? | -| `.woff` | yes | -| `.woff2` | ? | - -## Apperciation - -This package is based on the Roboto font face package by [Christian Hoffmeister](http://choffmeister.de/) which you can find [the original package here](https://github.com/choffmeister/roboto-fontface-bower). diff --git a/node_modules/iransans-fontface/bower.json b/node_modules/iransans-fontface/bower.json deleted file mode 100644 index 8906eb0..0000000 --- a/node_modules/iransans-fontface/bower.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "iransans-fontface", - "description": "A simple package providing the IRANSans fontface.", - "version": "0.1.1", - "main": [ - "./css/iransans/iransans-fontface.css" - ], - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ] -} diff --git a/node_modules/iransans-fontface/css/iransans/iransans-fontface.css b/node_modules/iransans-fontface/css/iransans/iransans-fontface.css deleted file mode 100644 index 2dc4f14..0000000 --- a/node_modules/iransans-fontface/css/iransans/iransans-fontface.css +++ /dev/null @@ -1,60 +0,0 @@ -@font-face { - font-family: 'IRANSansWeb'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.eot'); - src: local('IRANSansWeb Regular'), local('IRANSansWeb_Regular'), url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.ttf') format('truetype'); - font-weight: 400; - font-style: normal; -} -@font-face { - font-family: 'IRANSansWeb-Regular'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.eot'); - src: local('IRANSansWeb Regular'), local('IRANSansWeb_Regular'), url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_Regular.ttf') format('truetype'); -} -@font-face { - font-family: 'IRANSansWeb'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_Light.eot'); - src: local('IRANSansWeb Light'), local('IRANSansWeb_Light'), url('../../fonts/IRANSansWeb/IRANSansWeb_Light.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_Light.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_Light.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_Light.ttf') format('truetype'); - font-weight: 300; - font-style: normal; -} -@font-face { - font-family: 'IRANSansWeb-Light'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_Light.eot'); - src: local('IRANSansWeb Light'), local('IRANSansWeb_Light'), url('../../fonts/IRANSansWeb/IRANSansWeb_Light.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_Light.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_Light.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_Light.ttf') format('truetype'); -} -@font-face { - font-family: 'IRANSansWeb'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.eot'); - src: local('IRANSansWeb UltraLight'), local('IRANSansWeb_UltraLight'), url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.ttf') format('truetype'); - font-weight: 300; - font-style: normal; -} -@font-face { - font-family: 'IRANSansWeb-UltraLight'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.eot'); - src: local('IRANSansWeb UltraLight'), local('IRANSansWeb_UltraLight'), url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_UltraLight.ttf') format('truetype'); -} -@font-face { - font-family: 'IRANSansWeb'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.eot'); - src: local('IRANSansWeb Medium'), local('IRANSansWeb_Medium'), url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.ttf') format('truetype'); - font-weight: 500; - font-style: normal; -} -@font-face { - font-family: 'IRANSansWeb-Medium'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.eot'); - src: local('IRANSansWeb Medium'), local('IRANSansWeb_Medium'), url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_Medium.ttf') format('truetype'); -} -@font-face { - font-family: 'IRANSansWeb'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.eot'); - src: local('IRANSansWeb Bold'), local('IRANSansWeb_Bold'), url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.ttf') format('truetype'); - font-weight: 700; - font-style: normal; -} -@font-face { - font-family: 'IRANSansWeb-Bold'; - src: url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.eot'); - src: local('IRANSansWeb Bold'), local('IRANSansWeb_Bold'), url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.eot?#iefix') format('embedded-opentype'), url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.woff2') format('woff2'), url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.woff') format('woff'), url('../../fonts/IRANSansWeb/IRANSansWeb_Bold.ttf') format('truetype'); -} diff --git a/node_modules/iransans-fontface/css/iransans/iransans-fontface.css.map b/node_modules/iransans-fontface/css/iransans/iransans-fontface.css.map deleted file mode 100644 index 46cc0e1..0000000 --- a/node_modules/iransans-fontface/css/iransans/iransans-fontface.css.map +++ /dev/null @@ -1,7 +0,0 @@ -{ -"version": 3, -"mappings": "AAMI,UAWC;EAVG,WAAW,EAAE,aAAa;EAC1B,GAAG,EAAE,yDAAsC;EAC3C,GAAG,EAAE,8XAKyD;EAC9D,WAAW,ECb6B,GAAG;EDc3C,UAAU,ECdmC,MAAM;ADiBvD,UASC;EARG,WAAW,EAAE,qBAAsB;EACnC,GAAG,EAAE,yDAAsC;EAC3C,GAAG,EAAE,8XAKyD;AArBlE,UAWC;EAVG,WAAW,EAAE,aAAa;EAC1B,GAAG,EAAE,4DAAsC;EAC3C,GAAG,EAAE,gZAKyD;EAC9D,WAAW,EEbgC,GAAG;EFc9C,UAAU,EEdsC,MAAM;AFiB1D,UASC;EARG,WAAW,EAAE,wBAAsB;EACnC,GAAG,EAAE,4DAAsC;EAC3C,GAAG,EAAE,gZAKyD;AArBlE,UAWC;EAVG,WAAW,EAAE,aAAa;EAC1B,GAAG,EAAE,uDAAsC;EAC3C,GAAG,EAAE,kXAKyD;EAC9D,WAAW,EGb2B,GAAG;EHczC,UAAU,EGdiC,MAAM;AHiBrD,UASC;EARG,WAAW,EAAE,mBAAsB;EACnC,GAAG,EAAE,uDAAsC;EAC3C,GAAG,EAAE,kXAKyD;AArBlE,UAWC;EAVG,WAAW,EAAE,aAAa;EAC1B,GAAG,EAAE,wDAAsC;EAC3C,GAAG,EAAE,wXAKyD;EAC9D,WAAW,EIb4B,GAAG;EJc1C,UAAU,EIdkC,MAAM;AJiBtD,UASC;EARG,WAAW,EAAE,oBAAsB;EACnC,GAAG,EAAE,wDAAsC;EAC3C,GAAG,EAAE,wXAKyD;AArBlE,UAWC;EAVG,WAAW,EAAE,aAAa;EAC1B,GAAG,EAAE,sDAAsC;EAC3C,GAAG,EAAE,4WAKyD;EAC9D,WAAW,EKb0B,GAAG;ELcxC,UAAU,EKdgC,MAAM;ALiBpD,UASC;EARG,WAAW,EAAE,kBAAsB;EACnC,GAAG,EAAE,sDAAsC;EAC3C,GAAG,EAAE,4WAKyD", -"sources": ["../mixins.scss","sass/iransans-fontface-regular.scss","sass/iransans-fontface-ultra-light.scss","sass/iransans-fontface-light.scss","sass/iransans-fontface-medium.scss","sass/iransans-fontface-bold.scss"], -"names": [], -"file": "iransans-fontface.css" -} diff --git a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-bold.less b/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-bold.less deleted file mode 100644 index 084cd1d..0000000 --- a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-bold.less +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -.iransans-font('IRANSansWeb','Bold', 700, normal); diff --git a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-light.less b/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-light.less deleted file mode 100644 index 2aed2e4..0000000 --- a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-light.less +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -.iransans-font('IRANSansWeb','Light', 300, normal); diff --git a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-medium.less b/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-medium.less deleted file mode 100644 index e509375..0000000 --- a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-medium.less +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -.iransans-font('IRANSansWeb','Medium', 500, normal); diff --git a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-regular.less b/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-regular.less deleted file mode 100644 index d1dc972..0000000 --- a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-regular.less +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -.iransans-font('IRANSansWeb','Regular', 400, normal); diff --git a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-ultra-light.less b/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-ultra-light.less deleted file mode 100644 index 6fd6833..0000000 --- a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface-ultra-light.less +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -.iransans-font('IRANSansWeb','UltraLight', 300, normal); diff --git a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface.less b/node_modules/iransans-fontface/css/iransans/less/iransans-fontface.less deleted file mode 100644 index 58a19ab..0000000 --- a/node_modules/iransans-fontface/css/iransans/less/iransans-fontface.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "iransans-fontface-regular"; -@import "iransans-fontface-light"; -@import "iransans-fontface-ultra-light"; -@import "iransans-fontface-medium"; -@import "iransans-fontface-bold"; diff --git a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-bold.scss b/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-bold.scss deleted file mode 100644 index 0ae1a76..0000000 --- a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-bold.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -@include iransans-font('IRANSansWeb','Bold', 700, normal); diff --git a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-light.scss b/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-light.scss deleted file mode 100644 index 59b9745..0000000 --- a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-light.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -@include iransans-font('IRANSansWeb','Light', 300, normal); diff --git a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-medium.scss b/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-medium.scss deleted file mode 100644 index c2ab0e3..0000000 --- a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-medium.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -@include iransans-font('IRANSansWeb','Medium', 500, normal); diff --git a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-regular.scss b/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-regular.scss deleted file mode 100644 index c93bea9..0000000 --- a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-regular.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -@include iransans-font('IRANSansWeb','Regular', 400, normal); diff --git a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-ultra-light.scss b/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-ultra-light.scss deleted file mode 100644 index 52a104f..0000000 --- a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface-ultra-light.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import "../../mixins"; - -@include iransans-font('IRANSansWeb','UltraLight', 300, normal); diff --git a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface.scss b/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface.scss deleted file mode 100644 index 701ba9a..0000000 --- a/node_modules/iransans-fontface/css/iransans/sass/iransans-fontface.scss +++ /dev/null @@ -1,5 +0,0 @@ -@import "iransans-fontface-regular"; -@import "iransans-fontface-ultra-light"; -@import "iransans-fontface-light"; -@import "iransans-fontface-medium"; -@import "iransans-fontface-bold"; diff --git a/node_modules/iransans-fontface/css/mixins.less b/node_modules/iransans-fontface/css/mixins.less deleted file mode 100644 index d29e877..0000000 --- a/node_modules/iransans-fontface/css/mixins.less +++ /dev/null @@ -1,30 +0,0 @@ -@iransans-font-path: '../../fonts'; - -.iransans-font(@variant, @type, @weight, @style) { - - @font-full-path: '@{iransans-font-path}/@{variant}/@{variant}'; - - @font-face { - font-family: '@{variant}'; - src: url('@{font-full-path}_@{type}.eot'); - src: local('@{variant} @{type}'), - local('@{variant}_@{type}'), - url('@{font-full-path}_@{type}.eot?#iefix') format('embedded-opentype'), - url('@{font-full-path}_@{type}.woff2') format('woff2'), - url('@{font-full-path}_@{type}.woff') format('woff'), - url('@{font-full-path}_@{type}.ttf') format('truetype'); - font-weight: @weight; - font-style: @style; - } - - @font-face { - font-family: '@{variant}-@{type}'; - src: url('@{font-full-path}_@{type}.eot'); - src: local('@{variant} @{type}'), - local('@{variant}_@{type}'), - url('@{font-full-path}_@{type}.eot?#iefix') format('embedded-opentype'), - url('@{font-full-path}_@{type}.woff2') format('woff2'), - url('@{font-full-path}_@{type}.woff') format('woff'), - url('@{font-full-path}_@{type}.ttf') format('truetype'); - } -} diff --git a/node_modules/iransans-fontface/css/mixins.scss b/node_modules/iransans-fontface/css/mixins.scss deleted file mode 100644 index 582fe06..0000000 --- a/node_modules/iransans-fontface/css/mixins.scss +++ /dev/null @@ -1,30 +0,0 @@ -$iransans-font-path: '../../fonts' !default; - -@mixin iransans-font($variant, $type, $weight, $style) { - - $font-full-path: '#{$iransans-font-path}/#{$variant}/#{$variant}'; - - @font-face { - font-family: '#{$variant}'; - src: url('#{$font-full-path}_#{$type}.eot'); - src: local('#{$variant} #{$type}'), - local('#{$variant}_#{$type}'), - url('#{$font-full-path}_#{$type}.eot?#iefix') format('embedded-opentype'), - url('#{$font-full-path}_#{$type}.woff2') format('woff2'), - url('#{$font-full-path}_#{$type}.woff') format('woff'), - url('#{$font-full-path}_#{$type}.ttf') format('truetype'); - font-weight: $weight; - font-style: $style; - } - - @font-face { - font-family: '#{$variant}-#{$type}'; - src: url('#{$font-full-path}_#{$type}.eot'); - src: local('#{$variant} #{$type}'), - local('#{$variant}_#{$type}'), - url('#{$font-full-path}_#{$type}.eot?#iefix') format('embedded-opentype'), - url('#{$font-full-path}_#{$type}.woff2') format('woff2'), - url('#{$font-full-path}_#{$type}.woff') format('woff'), - url('#{$font-full-path}_#{$type}.ttf') format('truetype'); - } -} diff --git a/node_modules/iransans-fontface/fonts/IRANSansWeb/.npmignore b/node_modules/iransans-fontface/fonts/IRANSansWeb/.npmignore deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/iransans-fontface/package.json b/node_modules/iransans-fontface/package.json deleted file mode 100644 index a48b581..0000000 --- a/node_modules/iransans-fontface/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "iransans-fontface", - "version": "0.1.1", - "description": "A simple package providing the IRANSans fontface.", - "main": "css/iransans/iransans-fontface.css", - "scripts": { - "test": "./test.sh" - }, - "repository": { - "type": "git", - "url": "https://github.com/mdhheydari/iransans-fontface-bower.git" - }, - "keywords": [ - "iransans", - "font", - "fontface" - ], - "author": "Mohammad Hossein Heydari ", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/mdhheydari/iransans-fontface-bower/issues" - }, - "homepage": "https://github.com/mdhheydari/iransans-fontface-bower", - "devDependencies": { - "less": "2.7.1", - "node-sass": "3.8.0" - } -} diff --git a/node_modules/iransans-fontface/test.html b/node_modules/iransans-fontface/test.html deleted file mode 100644 index 9449b0c..0000000 --- a/node_modules/iransans-fontface/test.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - تست فونت - - - - - -
-

تست فونت ایران سنز

-
- - -
-
-

معمولی

-
- بیانِ زبان با گذشت زمان کهنه می شود و بیانِ قلم برای همیشه باقی می ماند -
- -
-
-

خیلی نازُک

-
- بیانِ زبان با گذشت زمان کهنه می شود و بیانِ قلم برای همیشه باقی می ماند -
- -
-
-

نازک

-
- بیانِ زبان با گذشت زمان کهنه می شود و بیانِ قلم برای همیشه باقی می ماند -
- -
-
-

متوسط

-
- بیانِ زبان با گذشت زمان کهنه می شود و بیانِ قلم برای همیشه باقی می ماند -
- -
-
-

ضخیم

-
- بیانِ زبان با گذشت زمان کهنه می شود و بیانِ قلم برای همیشه باقی می ماند -
- - - - diff --git a/node_modules/iransans-fontface/test.sh b/node_modules/iransans-fontface/test.sh deleted file mode 100644 index b11c823..0000000 --- a/node_modules/iransans-fontface/test.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -e -DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -echo "less mixins.less" -lessc "$DIR/css/mixins.less" >/dev/null - -echo "sass mixins.scss" -node-sass "$DIR/css/mixins.scss" >/dev/null - -for FILE in $DIR/css/*/less/*.less; do - echo "less $FILE" - lessc "$FILE" >/dev/null -done - -for FILE in $DIR/css/*/sass/*.scss; do - echo "sass $FILE" - node-sass "$FILE" >/dev/null -done diff --git a/node_modules/swiper/LICENSE b/node_modules/swiper/LICENSE deleted file mode 100644 index a7876ca..0000000 --- a/node_modules/swiper/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2019 Vladimir Kharlampidi - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/swiper/README.md b/node_modules/swiper/README.md deleted file mode 100644 index d4e726c..0000000 --- a/node_modules/swiper/README.md +++ /dev/null @@ -1,11 +0,0 @@ -Swiper -========== - -Swiper - is the free and most modern mobile touch slider with hardware accelerated transitions and amazing native behavior. It is intended to be used in mobile websites, mobile web apps, and mobile native/hybrid apps. - -Swiper is not compatible with all platforms, it is a modern touch slider which is focused only on modern apps/platforms to bring the best experience and simplicity. - -# Getting Started - * [Getting Started Guide](https://swiperjs.com/get-started/) - * [API](https://swiperjs.com/swiper-api/) - * [Demos](https://swiperjs.com/demos/) diff --git a/node_modules/swiper/modules/a11y-element.css b/node_modules/swiper/modules/a11y-element.css deleted file mode 100644 index c5f9eec..0000000 --- a/node_modules/swiper/modules/a11y-element.css +++ /dev/null @@ -1,9 +0,0 @@ -/* a11y */ -.swiper .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} diff --git a/node_modules/swiper/modules/a11y-element.min.css b/node_modules/swiper/modules/a11y-element.min.css deleted file mode 100644 index 78c39d5..0000000 --- a/node_modules/swiper/modules/a11y-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000} \ No newline at end of file diff --git a/node_modules/swiper/modules/a11y.css b/node_modules/swiper/modules/a11y.css deleted file mode 100644 index c5f9eec..0000000 --- a/node_modules/swiper/modules/a11y.css +++ /dev/null @@ -1,9 +0,0 @@ -/* a11y */ -.swiper .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} diff --git a/node_modules/swiper/modules/a11y.less b/node_modules/swiper/modules/a11y.less deleted file mode 100644 index c5f9eec..0000000 --- a/node_modules/swiper/modules/a11y.less +++ /dev/null @@ -1,9 +0,0 @@ -/* a11y */ -.swiper .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} diff --git a/node_modules/swiper/modules/a11y.min.css b/node_modules/swiper/modules/a11y.min.css deleted file mode 100644 index 78c39d5..0000000 --- a/node_modules/swiper/modules/a11y.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000} \ No newline at end of file diff --git a/node_modules/swiper/modules/a11y.min.mjs b/node_modules/swiper/modules/a11y.min.mjs deleted file mode 100644 index 65374c5..0000000 --- a/node_modules/swiper/modules/a11y.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{g as getDocument}from"../shared/ssr-window.esm.min.mjs";import{c as classesToSelector}from"../shared/classes-to-selector.min.mjs";import{c as createElement,h as elementIndex,m as makeElementsArray}from"../shared/utils.min.mjs";function A11y(e){let{swiper:a,extendParams:t,on:n}=e;t({a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null}}),a.a11y={clicked:!1};let i,s,r=null,l=(new Date).getTime();function o(e){const a=r;0!==a.length&&(a.innerHTML="",a.innerHTML=e)}function c(e){(e=makeElementsArray(e)).forEach((e=>{e.setAttribute("tabIndex","0")}))}function d(e){(e=makeElementsArray(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function m(e,a){(e=makeElementsArray(e)).forEach((e=>{e.setAttribute("role",a)}))}function p(e,a){(e=makeElementsArray(e)).forEach((e=>{e.setAttribute("aria-roledescription",a)}))}function g(e,a){(e=makeElementsArray(e)).forEach((e=>{e.setAttribute("aria-label",a)}))}function u(e){(e=makeElementsArray(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function E(e){(e=makeElementsArray(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function f(e){if(13!==e.keyCode&&32!==e.keyCode)return;const t=a.params.a11y,n=e.target;if(!a.pagination||!a.pagination.el||n!==a.pagination.el&&!a.pagination.el.contains(e.target)||e.target.matches(classesToSelector(a.params.pagination.bulletClass))){if(a.navigation&&a.navigation.prevEl&&a.navigation.nextEl){const e=makeElementsArray(a.navigation.prevEl);makeElementsArray(a.navigation.nextEl).includes(n)&&(a.isEnd&&!a.params.loop||a.slideNext(),a.isEnd?o(t.lastSlideMessage):o(t.nextSlideMessage)),e.includes(n)&&(a.isBeginning&&!a.params.loop||a.slidePrev(),a.isBeginning?o(t.firstSlideMessage):o(t.prevSlideMessage))}a.pagination&&n.matches(classesToSelector(a.params.pagination.bulletClass))&&n.click()}}function v(){return a.pagination&&a.pagination.bullets&&a.pagination.bullets.length}function y(){return v()&&a.params.pagination.clickable}const b=(e,a,t)=>{c(e),"BUTTON"!==e.tagName&&(m(e,"button"),e.addEventListener("keydown",f)),g(e,t),function(e,a){(e=makeElementsArray(e)).forEach((e=>{e.setAttribute("aria-controls",a)}))}(e,a)},h=e=>{s&&s!==e.target&&!s.contains(e.target)&&(i=!0),a.a11y.clicked=!0},A=()=>{i=!1,requestAnimationFrame((()=>{requestAnimationFrame((()=>{a.destroyed||(a.a11y.clicked=!1)}))}))},k=e=>{l=(new Date).getTime()},M=e=>{if(a.a11y.clicked)return;if((new Date).getTime()-l<100)return;const t=e.target.closest(`.${a.params.slideClass}, swiper-slide`);if(!t||!a.slides.includes(t))return;s=t;const n=a.slides.indexOf(t)===a.activeIndex,r=a.params.watchSlidesProgress&&a.visibleSlides&&a.visibleSlides.includes(t);n||r||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(a.isHorizontal()?a.el.scrollLeft=0:a.el.scrollTop=0,requestAnimationFrame((()=>{i||(a.slideTo(a.slides.indexOf(t),0),i=!1)})))},x=()=>{const e=a.params.a11y;e.itemRoleDescriptionMessage&&p(a.slides,e.itemRoleDescriptionMessage),e.slideRole&&m(a.slides,e.slideRole);const t=a.slides.length;e.slideLabelMessage&&a.slides.forEach(((n,i)=>{const s=a.params.loop?parseInt(n.getAttribute("data-swiper-slide-index"),10):i;g(n,e.slideLabelMessage.replace(/\{\{index\}\}/,s+1).replace(/\{\{slidesLength\}\}/,t))}))},L=()=>{const e=a.params.a11y;a.el.append(r);const t=a.el;e.containerRoleDescriptionMessage&&p(t,e.containerRoleDescriptionMessage),e.containerMessage&&g(t,e.containerMessage);const n=a.wrapperEl,i=e.id||n.getAttribute("id")||`swiper-wrapper-${s=16,void 0===s&&(s=16),"x".repeat(s).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var s;const l=a.params.autoplay&&a.params.autoplay.enabled?"off":"polite";var o;o=i,makeElementsArray(n).forEach((e=>{e.setAttribute("id",o)})),function(e,a){(e=makeElementsArray(e)).forEach((e=>{e.setAttribute("aria-live",a)}))}(n,l),x();let{nextEl:c,prevEl:d}=a.navigation?a.navigation:{};if(c=makeElementsArray(c),d=makeElementsArray(d),c&&c.forEach((a=>b(a,i,e.nextSlideMessage))),d&&d.forEach((a=>b(a,i,e.prevSlideMessage))),y()){makeElementsArray(a.pagination.el).forEach((e=>{e.addEventListener("keydown",f)}))}getDocument().addEventListener("visibilitychange",k),a.el.addEventListener("focus",M,!0),a.el.addEventListener("focus",M,!0),a.el.addEventListener("pointerdown",h,!0),a.el.addEventListener("pointerup",A,!0)};n("beforeInit",(()=>{r=createElement("span",a.params.a11y.notificationClass),r.setAttribute("aria-live","assertive"),r.setAttribute("aria-atomic","true")})),n("afterInit",(()=>{a.params.a11y.enabled&&L()})),n("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{a.params.a11y.enabled&&x()})),n("fromEdge toEdge afterInit lock unlock",(()=>{a.params.a11y.enabled&&function(){if(a.params.loop||a.params.rewind||!a.navigation)return;const{nextEl:e,prevEl:t}=a.navigation;t&&(a.isBeginning?(u(t),d(t)):(E(t),c(t))),e&&(a.isEnd?(u(e),d(e)):(E(e),c(e)))}()})),n("paginationUpdate",(()=>{a.params.a11y.enabled&&function(){const e=a.params.a11y;v()&&a.pagination.bullets.forEach((t=>{a.params.pagination.clickable&&(c(t),a.params.pagination.renderBullet||(m(t,"button"),g(t,e.paginationBulletMessage.replace(/\{\{index\}\}/,elementIndex(t)+1)))),t.matches(classesToSelector(a.params.pagination.bulletActiveClass))?t.setAttribute("aria-current","true"):t.removeAttribute("aria-current")}))}()})),n("destroy",(()=>{a.params.a11y.enabled&&function(){r&&r.remove();let{nextEl:e,prevEl:t}=a.navigation?a.navigation:{};e=makeElementsArray(e),t=makeElementsArray(t),e&&e.forEach((e=>e.removeEventListener("keydown",f))),t&&t.forEach((e=>e.removeEventListener("keydown",f))),y()&&makeElementsArray(a.pagination.el).forEach((e=>{e.removeEventListener("keydown",f)}));getDocument().removeEventListener("visibilitychange",k),a.el.removeEventListener("focus",M,!0),a.el.removeEventListener("pointerdown",h,!0),a.el.removeEventListener("pointerup",A,!0)}()}))}export{A11y as default}; -//# sourceMappingURL=a11y.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/a11y.min.mjs.map b/node_modules/swiper/modules/a11y.min.mjs.map deleted file mode 100644 index 9b97d4b..0000000 --- a/node_modules/swiper/modules/a11y.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"a11y.mjs.mjs","names":["getDocument","classesToSelector","createElement","elementIndex","makeElementsArray","A11y","_ref","swiper","extendParams","on","a11y","enabled","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","itemRoleDescriptionMessage","slideRole","id","clicked","preventFocusHandler","focusTargetSlideEl","liveRegion","visibilityChangedTimestamp","Date","getTime","notify","message","notification","length","innerHTML","makeElFocusable","el","forEach","subEl","setAttribute","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElLabel","label","disableEl","enableEl","onEnterOrSpaceKey","e","keyCode","params","targetEl","target","pagination","contains","matches","bulletClass","navigation","prevEl","nextEl","prevEls","includes","isEnd","loop","slideNext","isBeginning","slidePrev","click","hasPagination","bullets","hasClickablePagination","clickable","initNavEl","wrapperId","tagName","addEventListener","controls","addElControls","handlePointerDown","handlePointerUp","requestAnimationFrame","destroyed","onVisibilityChange","handleFocus","slideEl","closest","slideClass","slides","isActive","indexOf","activeIndex","isVisible","watchSlidesProgress","visibleSlides","sourceCapabilities","firesTouchEvents","isHorizontal","scrollLeft","scrollTop","slideTo","initSlides","slidesLength","index","slideIndex","parseInt","getAttribute","replace","init","append","containerEl","wrapperEl","size","repeat","Math","round","random","toString","live","autoplay","addElLive","rewind","updateNavigation","bulletEl","renderBullet","bulletActiveClass","removeAttribute","updatePagination","remove","removeEventListener","destroy"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/a11y.mjs b/node_modules/swiper/modules/a11y.mjs deleted file mode 100644 index 125b877..0000000 --- a/node_modules/swiper/modules/a11y.mjs +++ /dev/null @@ -1,367 +0,0 @@ -import { g as getDocument } from '../shared/ssr-window.esm.mjs'; -import { c as classesToSelector } from '../shared/classes-to-selector.mjs'; -import { c as createElement, h as elementIndex, m as makeElementsArray } from '../shared/utils.mjs'; - -function A11y(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - a11y: { - enabled: true, - notificationClass: 'swiper-notification', - prevSlideMessage: 'Previous slide', - nextSlideMessage: 'Next slide', - firstSlideMessage: 'This is the first slide', - lastSlideMessage: 'This is the last slide', - paginationBulletMessage: 'Go to slide {{index}}', - slideLabelMessage: '{{index}} / {{slidesLength}}', - containerMessage: null, - containerRoleDescriptionMessage: null, - itemRoleDescriptionMessage: null, - slideRole: 'group', - id: null - } - }); - swiper.a11y = { - clicked: false - }; - let liveRegion = null; - let preventFocusHandler; - let focusTargetSlideEl; - let visibilityChangedTimestamp = new Date().getTime(); - function notify(message) { - const notification = liveRegion; - if (notification.length === 0) return; - notification.innerHTML = ''; - notification.innerHTML = message; - } - function getRandomNumber(size) { - if (size === void 0) { - size = 16; - } - const randomChar = () => Math.round(16 * Math.random()).toString(16); - return 'x'.repeat(size).replace(/x/g, randomChar); - } - function makeElFocusable(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('tabIndex', '0'); - }); - } - function makeElNotFocusable(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('tabIndex', '-1'); - }); - } - function addElRole(el, role) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('role', role); - }); - } - function addElRoleDescription(el, description) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-roledescription', description); - }); - } - function addElControls(el, controls) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-controls', controls); - }); - } - function addElLabel(el, label) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-label', label); - }); - } - function addElId(el, id) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('id', id); - }); - } - function addElLive(el, live) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-live', live); - }); - } - function disableEl(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-disabled', true); - }); - } - function enableEl(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-disabled', false); - }); - } - function onEnterOrSpaceKey(e) { - if (e.keyCode !== 13 && e.keyCode !== 32) return; - const params = swiper.params.a11y; - const targetEl = e.target; - if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) { - if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return; - } - if (swiper.navigation && swiper.navigation.prevEl && swiper.navigation.nextEl) { - const prevEls = makeElementsArray(swiper.navigation.prevEl); - const nextEls = makeElementsArray(swiper.navigation.nextEl); - if (nextEls.includes(targetEl)) { - if (!(swiper.isEnd && !swiper.params.loop)) { - swiper.slideNext(); - } - if (swiper.isEnd) { - notify(params.lastSlideMessage); - } else { - notify(params.nextSlideMessage); - } - } - if (prevEls.includes(targetEl)) { - if (!(swiper.isBeginning && !swiper.params.loop)) { - swiper.slidePrev(); - } - if (swiper.isBeginning) { - notify(params.firstSlideMessage); - } else { - notify(params.prevSlideMessage); - } - } - } - if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) { - targetEl.click(); - } - } - function updateNavigation() { - if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return; - const { - nextEl, - prevEl - } = swiper.navigation; - if (prevEl) { - if (swiper.isBeginning) { - disableEl(prevEl); - makeElNotFocusable(prevEl); - } else { - enableEl(prevEl); - makeElFocusable(prevEl); - } - } - if (nextEl) { - if (swiper.isEnd) { - disableEl(nextEl); - makeElNotFocusable(nextEl); - } else { - enableEl(nextEl); - makeElFocusable(nextEl); - } - } - } - function hasPagination() { - return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length; - } - function hasClickablePagination() { - return hasPagination() && swiper.params.pagination.clickable; - } - function updatePagination() { - const params = swiper.params.a11y; - if (!hasPagination()) return; - swiper.pagination.bullets.forEach(bulletEl => { - if (swiper.params.pagination.clickable) { - makeElFocusable(bulletEl); - if (!swiper.params.pagination.renderBullet) { - addElRole(bulletEl, 'button'); - addElLabel(bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, elementIndex(bulletEl) + 1)); - } - } - if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) { - bulletEl.setAttribute('aria-current', 'true'); - } else { - bulletEl.removeAttribute('aria-current'); - } - }); - } - const initNavEl = (el, wrapperId, message) => { - makeElFocusable(el); - if (el.tagName !== 'BUTTON') { - addElRole(el, 'button'); - el.addEventListener('keydown', onEnterOrSpaceKey); - } - addElLabel(el, message); - addElControls(el, wrapperId); - }; - const handlePointerDown = e => { - if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) { - preventFocusHandler = true; - } - swiper.a11y.clicked = true; - }; - const handlePointerUp = () => { - preventFocusHandler = false; - requestAnimationFrame(() => { - requestAnimationFrame(() => { - if (!swiper.destroyed) { - swiper.a11y.clicked = false; - } - }); - }); - }; - const onVisibilityChange = e => { - visibilityChangedTimestamp = new Date().getTime(); - }; - const handleFocus = e => { - if (swiper.a11y.clicked) return; - if (new Date().getTime() - visibilityChangedTimestamp < 100) return; - const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); - if (!slideEl || !swiper.slides.includes(slideEl)) return; - focusTargetSlideEl = slideEl; - const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex; - const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl); - if (isActive || isVisible) return; - if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return; - if (swiper.isHorizontal()) { - swiper.el.scrollLeft = 0; - } else { - swiper.el.scrollTop = 0; - } - requestAnimationFrame(() => { - if (preventFocusHandler) return; - swiper.slideTo(swiper.slides.indexOf(slideEl), 0); - preventFocusHandler = false; - }); - }; - const initSlides = () => { - const params = swiper.params.a11y; - if (params.itemRoleDescriptionMessage) { - addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage); - } - if (params.slideRole) { - addElRole(swiper.slides, params.slideRole); - } - const slidesLength = swiper.slides.length; - if (params.slideLabelMessage) { - swiper.slides.forEach((slideEl, index) => { - const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index; - const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength); - addElLabel(slideEl, ariaLabelMessage); - }); - } - }; - const init = () => { - const params = swiper.params.a11y; - swiper.el.append(liveRegion); - - // Container - const containerEl = swiper.el; - if (params.containerRoleDescriptionMessage) { - addElRoleDescription(containerEl, params.containerRoleDescriptionMessage); - } - if (params.containerMessage) { - addElLabel(containerEl, params.containerMessage); - } - - // Wrapper - const wrapperEl = swiper.wrapperEl; - const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`; - const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite'; - addElId(wrapperEl, wrapperId); - addElLive(wrapperEl, live); - - // Slide - initSlides(); - - // Navigation - let { - nextEl, - prevEl - } = swiper.navigation ? swiper.navigation : {}; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - if (nextEl) { - nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage)); - } - if (prevEl) { - prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage)); - } - - // Pagination - if (hasClickablePagination()) { - const paginationEl = makeElementsArray(swiper.pagination.el); - paginationEl.forEach(el => { - el.addEventListener('keydown', onEnterOrSpaceKey); - }); - } - - // Tab focus - const document = getDocument(); - document.addEventListener('visibilitychange', onVisibilityChange); - swiper.el.addEventListener('focus', handleFocus, true); - swiper.el.addEventListener('focus', handleFocus, true); - swiper.el.addEventListener('pointerdown', handlePointerDown, true); - swiper.el.addEventListener('pointerup', handlePointerUp, true); - }; - function destroy() { - if (liveRegion) liveRegion.remove(); - let { - nextEl, - prevEl - } = swiper.navigation ? swiper.navigation : {}; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - if (nextEl) { - nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey)); - } - if (prevEl) { - prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey)); - } - - // Pagination - if (hasClickablePagination()) { - const paginationEl = makeElementsArray(swiper.pagination.el); - paginationEl.forEach(el => { - el.removeEventListener('keydown', onEnterOrSpaceKey); - }); - } - const document = getDocument(); - document.removeEventListener('visibilitychange', onVisibilityChange); - // Tab focus - swiper.el.removeEventListener('focus', handleFocus, true); - swiper.el.removeEventListener('pointerdown', handlePointerDown, true); - swiper.el.removeEventListener('pointerup', handlePointerUp, true); - } - on('beforeInit', () => { - liveRegion = createElement('span', swiper.params.a11y.notificationClass); - liveRegion.setAttribute('aria-live', 'assertive'); - liveRegion.setAttribute('aria-atomic', 'true'); - }); - on('afterInit', () => { - if (!swiper.params.a11y.enabled) return; - init(); - }); - on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => { - if (!swiper.params.a11y.enabled) return; - initSlides(); - }); - on('fromEdge toEdge afterInit lock unlock', () => { - if (!swiper.params.a11y.enabled) return; - updateNavigation(); - }); - on('paginationUpdate', () => { - if (!swiper.params.a11y.enabled) return; - updatePagination(); - }); - on('destroy', () => { - if (!swiper.params.a11y.enabled) return; - destroy(); - }); -} - -export { A11y as default }; diff --git a/node_modules/swiper/modules/a11y.scss b/node_modules/swiper/modules/a11y.scss deleted file mode 100644 index c5f9eec..0000000 --- a/node_modules/swiper/modules/a11y.scss +++ /dev/null @@ -1,9 +0,0 @@ -/* a11y */ -.swiper .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} diff --git a/node_modules/swiper/modules/autoplay-element.css b/node_modules/swiper/modules/autoplay-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/autoplay-element.min.css b/node_modules/swiper/modules/autoplay-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/autoplay.css b/node_modules/swiper/modules/autoplay.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/autoplay.less b/node_modules/swiper/modules/autoplay.less deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/autoplay.min.css b/node_modules/swiper/modules/autoplay.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/autoplay.min.mjs b/node_modules/swiper/modules/autoplay.min.mjs deleted file mode 100644 index 5bf5af0..0000000 --- a/node_modules/swiper/modules/autoplay.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{g as getDocument}from"../shared/ssr-window.esm.min.mjs";function Autoplay(e){let a,t,{swiper:n,extendParams:i,on:r,emit:o,params:s}=e;n.autoplay={running:!1,paused:!1,timeLeft:0},i({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let l,p,u,d,y,m,c,g,v=s&&s.autoplay?s.autoplay.delay:3e3,T=s&&s.autoplay?s.autoplay.delay:3e3,w=(new Date).getTime();function f(e){n&&!n.destroyed&&n.wrapperEl&&e.target===n.wrapperEl&&(n.wrapperEl.removeEventListener("transitionend",f),g||e.detail&&e.detail.bySwiperTouchMove||S())}const b=()=>{if(n.destroyed||!n.autoplay.running)return;n.autoplay.paused?p=!0:p&&(T=l,p=!1);const e=n.autoplay.paused?l:w+T-(new Date).getTime();n.autoplay.timeLeft=e,o("autoplayTimeLeft",e,e/v),t=requestAnimationFrame((()=>{b()}))},E=e=>{if(n.destroyed||!n.autoplay.running)return;cancelAnimationFrame(t),b();let i=void 0===e?n.params.autoplay.delay:e;v=n.params.autoplay.delay,T=n.params.autoplay.delay;const r=(()=>{let e;if(e=n.virtual&&n.params.virtual.enabled?n.slides.filter((e=>e.classList.contains("swiper-slide-active")))[0]:n.slides[n.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(i=r,v=r,T=r),l=i;const s=n.params.speed,p=()=>{n&&!n.destroyed&&(n.params.autoplay.reverseDirection?!n.isBeginning||n.params.loop||n.params.rewind?(n.slidePrev(s,!0,!0),o("autoplay")):n.params.autoplay.stopOnLastSlide||(n.slideTo(n.slides.length-1,s,!0,!0),o("autoplay")):!n.isEnd||n.params.loop||n.params.rewind?(n.slideNext(s,!0,!0),o("autoplay")):n.params.autoplay.stopOnLastSlide||(n.slideTo(0,s,!0,!0),o("autoplay")),n.params.cssMode&&(w=(new Date).getTime(),requestAnimationFrame((()=>{E()}))))};return i>0?(clearTimeout(a),a=setTimeout((()=>{p()}),i)):requestAnimationFrame((()=>{p()})),i},L=()=>{w=(new Date).getTime(),n.autoplay.running=!0,E(),o("autoplayStart")},D=()=>{n.autoplay.running=!1,clearTimeout(a),cancelAnimationFrame(t),o("autoplayStop")},O=(e,t)=>{if(n.destroyed||!n.autoplay.running)return;clearTimeout(a),e||(c=!0);const i=()=>{o("autoplayPause"),n.params.autoplay.waitForTransition?n.wrapperEl.addEventListener("transitionend",f):S()};if(n.autoplay.paused=!0,t)return m&&(l=n.params.autoplay.delay),m=!1,void i();const r=l||n.params.autoplay.delay;l=r-((new Date).getTime()-w),n.isEnd&&l<0&&!n.params.loop||(l<0&&(l=0),i())},S=()=>{n.isEnd&&l<0&&!n.params.loop||n.destroyed||!n.autoplay.running||(w=(new Date).getTime(),c?(c=!1,E(l)):E(),n.autoplay.paused=!1,o("autoplayResume"))},M=()=>{if(n.destroyed||!n.autoplay.running)return;const e=getDocument();"hidden"===e.visibilityState&&(c=!0,O(!0)),"visible"===e.visibilityState&&S()},h=e=>{"mouse"===e.pointerType&&(c=!0,g=!0,n.animating||n.autoplay.paused||O(!0))},A=e=>{"mouse"===e.pointerType&&(g=!1,n.autoplay.paused&&S())};r("init",(()=>{n.params.autoplay.enabled&&(n.params.autoplay.pauseOnMouseEnter&&(n.el.addEventListener("pointerenter",h),n.el.addEventListener("pointerleave",A)),getDocument().addEventListener("visibilitychange",M),L())})),r("destroy",(()=>{n.el.removeEventListener("pointerenter",h),n.el.removeEventListener("pointerleave",A),getDocument().removeEventListener("visibilitychange",M),n.autoplay.running&&D()})),r("_freeModeStaticRelease",(()=>{(d||c)&&S()})),r("_freeModeNoMomentumRelease",(()=>{n.params.autoplay.disableOnInteraction?D():O(!0,!0)})),r("beforeTransitionStart",((e,a,t)=>{!n.destroyed&&n.autoplay.running&&(t||!n.params.autoplay.disableOnInteraction?O(!0,!0):D())})),r("sliderFirstMove",(()=>{!n.destroyed&&n.autoplay.running&&(n.params.autoplay.disableOnInteraction?D():(u=!0,d=!1,c=!1,y=setTimeout((()=>{c=!0,d=!0,O(!0)}),200)))})),r("touchEnd",(()=>{if(!n.destroyed&&n.autoplay.running&&u){if(clearTimeout(y),clearTimeout(a),n.params.autoplay.disableOnInteraction)return d=!1,void(u=!1);d&&n.params.cssMode&&S(),d=!1,u=!1}})),r("slideChange",(()=>{!n.destroyed&&n.autoplay.running&&(m=!0)})),Object.assign(n.autoplay,{start:L,stop:D,pause:O,resume:S})}export{Autoplay as default}; -//# sourceMappingURL=autoplay.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/autoplay.min.mjs.map b/node_modules/swiper/modules/autoplay.min.mjs.map deleted file mode 100644 index bfafe68..0000000 --- a/node_modules/swiper/modules/autoplay.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"autoplay.mjs.mjs","names":["getDocument","Autoplay","_ref","timeout","raf","swiper","extendParams","on","emit","params","autoplay","running","paused","timeLeft","enabled","delay","waitForTransition","disableOnInteraction","stopOnLastSlide","reverseDirection","pauseOnMouseEnter","autoplayTimeLeft","wasPaused","isTouched","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","pausedByPointerEnter","autoplayDelayTotal","autoplayDelayCurrent","autoplayStartTime","Date","getTime","onTransitionEnd","e","destroyed","wrapperEl","target","removeEventListener","detail","bySwiperTouchMove","resume","calcTimeLeft","requestAnimationFrame","run","delayForce","cancelAnimationFrame","currentSlideDelay","activeSlideEl","virtual","slides","filter","slideEl","classList","contains","activeIndex","parseInt","getAttribute","getSlideDelay","Number","isNaN","speed","proceed","isBeginning","loop","rewind","slidePrev","slideTo","length","isEnd","slideNext","cssMode","clearTimeout","setTimeout","start","stop","pause","internal","reset","addEventListener","onVisibilityChange","document","visibilityState","onPointerEnter","pointerType","animating","onPointerLeave","el","_s","Object","assign"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/autoplay.mjs b/node_modules/swiper/modules/autoplay.mjs deleted file mode 100644 index 6515be4..0000000 --- a/node_modules/swiper/modules/autoplay.mjs +++ /dev/null @@ -1,302 +0,0 @@ -import { g as getDocument } from '../shared/ssr-window.esm.mjs'; - -/* eslint no-underscore-dangle: "off" */ -/* eslint no-use-before-define: "off" */ -function Autoplay(_ref) { - let { - swiper, - extendParams, - on, - emit, - params - } = _ref; - swiper.autoplay = { - running: false, - paused: false, - timeLeft: 0 - }; - extendParams({ - autoplay: { - enabled: false, - delay: 3000, - waitForTransition: true, - disableOnInteraction: false, - stopOnLastSlide: false, - reverseDirection: false, - pauseOnMouseEnter: false - } - }); - let timeout; - let raf; - let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000; - let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000; - let autoplayTimeLeft; - let autoplayStartTime = new Date().getTime(); - let wasPaused; - let isTouched; - let pausedByTouch; - let touchStartTimeout; - let slideChanged; - let pausedByInteraction; - let pausedByPointerEnter; - function onTransitionEnd(e) { - if (!swiper || swiper.destroyed || !swiper.wrapperEl) return; - if (e.target !== swiper.wrapperEl) return; - swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd); - if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) { - return; - } - resume(); - } - const calcTimeLeft = () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - if (swiper.autoplay.paused) { - wasPaused = true; - } else if (wasPaused) { - autoplayDelayCurrent = autoplayTimeLeft; - wasPaused = false; - } - const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime(); - swiper.autoplay.timeLeft = timeLeft; - emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal); - raf = requestAnimationFrame(() => { - calcTimeLeft(); - }); - }; - const getSlideDelay = () => { - let activeSlideEl; - if (swiper.virtual && swiper.params.virtual.enabled) { - activeSlideEl = swiper.slides.filter(slideEl => slideEl.classList.contains('swiper-slide-active'))[0]; - } else { - activeSlideEl = swiper.slides[swiper.activeIndex]; - } - if (!activeSlideEl) return undefined; - const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10); - return currentSlideDelay; - }; - const run = delayForce => { - if (swiper.destroyed || !swiper.autoplay.running) return; - cancelAnimationFrame(raf); - calcTimeLeft(); - let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce; - autoplayDelayTotal = swiper.params.autoplay.delay; - autoplayDelayCurrent = swiper.params.autoplay.delay; - const currentSlideDelay = getSlideDelay(); - if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') { - delay = currentSlideDelay; - autoplayDelayTotal = currentSlideDelay; - autoplayDelayCurrent = currentSlideDelay; - } - autoplayTimeLeft = delay; - const speed = swiper.params.speed; - const proceed = () => { - if (!swiper || swiper.destroyed) return; - if (swiper.params.autoplay.reverseDirection) { - if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) { - swiper.slidePrev(speed, true, true); - emit('autoplay'); - } else if (!swiper.params.autoplay.stopOnLastSlide) { - swiper.slideTo(swiper.slides.length - 1, speed, true, true); - emit('autoplay'); - } - } else { - if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) { - swiper.slideNext(speed, true, true); - emit('autoplay'); - } else if (!swiper.params.autoplay.stopOnLastSlide) { - swiper.slideTo(0, speed, true, true); - emit('autoplay'); - } - } - if (swiper.params.cssMode) { - autoplayStartTime = new Date().getTime(); - requestAnimationFrame(() => { - run(); - }); - } - }; - if (delay > 0) { - clearTimeout(timeout); - timeout = setTimeout(() => { - proceed(); - }, delay); - } else { - requestAnimationFrame(() => { - proceed(); - }); - } - - // eslint-disable-next-line - return delay; - }; - const start = () => { - autoplayStartTime = new Date().getTime(); - swiper.autoplay.running = true; - run(); - emit('autoplayStart'); - }; - const stop = () => { - swiper.autoplay.running = false; - clearTimeout(timeout); - cancelAnimationFrame(raf); - emit('autoplayStop'); - }; - const pause = (internal, reset) => { - if (swiper.destroyed || !swiper.autoplay.running) return; - clearTimeout(timeout); - if (!internal) { - pausedByInteraction = true; - } - const proceed = () => { - emit('autoplayPause'); - if (swiper.params.autoplay.waitForTransition) { - swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd); - } else { - resume(); - } - }; - swiper.autoplay.paused = true; - if (reset) { - if (slideChanged) { - autoplayTimeLeft = swiper.params.autoplay.delay; - } - slideChanged = false; - proceed(); - return; - } - const delay = autoplayTimeLeft || swiper.params.autoplay.delay; - autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime); - if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return; - if (autoplayTimeLeft < 0) autoplayTimeLeft = 0; - proceed(); - }; - const resume = () => { - if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return; - autoplayStartTime = new Date().getTime(); - if (pausedByInteraction) { - pausedByInteraction = false; - run(autoplayTimeLeft); - } else { - run(); - } - swiper.autoplay.paused = false; - emit('autoplayResume'); - }; - const onVisibilityChange = () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - const document = getDocument(); - if (document.visibilityState === 'hidden') { - pausedByInteraction = true; - pause(true); - } - if (document.visibilityState === 'visible') { - resume(); - } - }; - const onPointerEnter = e => { - if (e.pointerType !== 'mouse') return; - pausedByInteraction = true; - pausedByPointerEnter = true; - if (swiper.animating || swiper.autoplay.paused) return; - pause(true); - }; - const onPointerLeave = e => { - if (e.pointerType !== 'mouse') return; - pausedByPointerEnter = false; - if (swiper.autoplay.paused) { - resume(); - } - }; - const attachMouseEvents = () => { - if (swiper.params.autoplay.pauseOnMouseEnter) { - swiper.el.addEventListener('pointerenter', onPointerEnter); - swiper.el.addEventListener('pointerleave', onPointerLeave); - } - }; - const detachMouseEvents = () => { - swiper.el.removeEventListener('pointerenter', onPointerEnter); - swiper.el.removeEventListener('pointerleave', onPointerLeave); - }; - const attachDocumentEvents = () => { - const document = getDocument(); - document.addEventListener('visibilitychange', onVisibilityChange); - }; - const detachDocumentEvents = () => { - const document = getDocument(); - document.removeEventListener('visibilitychange', onVisibilityChange); - }; - on('init', () => { - if (swiper.params.autoplay.enabled) { - attachMouseEvents(); - attachDocumentEvents(); - start(); - } - }); - on('destroy', () => { - detachMouseEvents(); - detachDocumentEvents(); - if (swiper.autoplay.running) { - stop(); - } - }); - on('_freeModeStaticRelease', () => { - if (pausedByTouch || pausedByInteraction) { - resume(); - } - }); - on('_freeModeNoMomentumRelease', () => { - if (!swiper.params.autoplay.disableOnInteraction) { - pause(true, true); - } else { - stop(); - } - }); - on('beforeTransitionStart', (_s, speed, internal) => { - if (swiper.destroyed || !swiper.autoplay.running) return; - if (internal || !swiper.params.autoplay.disableOnInteraction) { - pause(true, true); - } else { - stop(); - } - }); - on('sliderFirstMove', () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - if (swiper.params.autoplay.disableOnInteraction) { - stop(); - return; - } - isTouched = true; - pausedByTouch = false; - pausedByInteraction = false; - touchStartTimeout = setTimeout(() => { - pausedByInteraction = true; - pausedByTouch = true; - pause(true); - }, 200); - }); - on('touchEnd', () => { - if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return; - clearTimeout(touchStartTimeout); - clearTimeout(timeout); - if (swiper.params.autoplay.disableOnInteraction) { - pausedByTouch = false; - isTouched = false; - return; - } - if (pausedByTouch && swiper.params.cssMode) resume(); - pausedByTouch = false; - isTouched = false; - }); - on('slideChange', () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - slideChanged = true; - }); - Object.assign(swiper.autoplay, { - start, - stop, - pause, - resume - }); -} - -export { Autoplay as default }; diff --git a/node_modules/swiper/modules/autoplay.scss b/node_modules/swiper/modules/autoplay.scss deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/controller-element.css b/node_modules/swiper/modules/controller-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/controller-element.min.css b/node_modules/swiper/modules/controller-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/controller.css b/node_modules/swiper/modules/controller.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/controller.less b/node_modules/swiper/modules/controller.less deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/controller.min.css b/node_modules/swiper/modules/controller.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/controller.min.mjs b/node_modules/swiper/modules/controller.min.mjs deleted file mode 100644 index 1e9a224..0000000 --- a/node_modules/swiper/modules/controller.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{n as nextTick,k as elementTransitionEnd}from"../shared/utils.min.mjs";function Controller(t){let{swiper:e,extendParams:n,on:r}=t;function o(t,e){const n=function(){let t,e,n;return(r,o)=>{for(e=-1,t=r.length;t-e>1;)n=t+e>>1,r[n]<=o?e=n:t=n;return t}}();let r,o;return this.x=t,this.y=e,this.lastIndex=t.length-1,this.interpolate=function(t){return t?(o=n(this.x,t),r=o-1,(t-this.x[r])*(this.y[o]-this.y[r])/(this.x[o]-this.x[r])+this.y[r]):0},this}function l(){e.controller.control&&e.controller.spline&&(e.controller.spline=void 0,delete e.controller.spline)}n({controller:{control:void 0,inverse:!1,by:"slide"}}),e.controller={control:void 0},r("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof e.params.controller.control||e.params.controller.control instanceof HTMLElement)){const t=document.querySelector(e.params.controller.control);if(t&&t.swiper)e.controller.control=t.swiper;else if(t){const n=r=>{e.controller.control=r.detail[0],e.update(),t.removeEventListener("init",n)};t.addEventListener("init",n)}}else e.controller.control=e.params.controller.control})),r("update",(()=>{l()})),r("resize",(()=>{l()})),r("observerUpdate",(()=>{l()})),r("setTranslate",((t,n,r)=>{e.controller.control&&!e.controller.control.destroyed&&e.controller.setTranslate(n,r)})),r("setTransition",((t,n,r)=>{e.controller.control&&!e.controller.control.destroyed&&e.controller.setTransition(n,r)})),Object.assign(e.controller,{setTranslate:function(t,n){const r=e.controller.control;let l,s;const i=e.constructor;function a(t){if(t.destroyed)return;const n=e.rtlTranslate?-e.translate:e.translate;"slide"===e.params.controller.by&&(!function(t){e.controller.spline=e.params.loop?new o(e.slidesGrid,t.slidesGrid):new o(e.snapGrid,t.snapGrid)}(t),s=-e.controller.spline.interpolate(-n)),s&&"container"!==e.params.controller.by||(l=(t.maxTranslate()-t.minTranslate())/(e.maxTranslate()-e.minTranslate()),!Number.isNaN(l)&&Number.isFinite(l)||(l=1),s=(n-e.minTranslate())*l+t.minTranslate()),e.params.controller.inverse&&(s=t.maxTranslate()-s),t.updateProgress(s),t.setTranslate(s,e),t.updateActiveIndex(),t.updateSlidesClasses()}if(Array.isArray(r))for(let t=0;t{n.updateAutoHeight()})),elementTransitionEnd(n.wrapperEl,(()=>{o&&n.transitionEnd()}))))}if(Array.isArray(o))for(l=0;l>"] }] */ -function Controller(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - controller: { - control: undefined, - inverse: false, - by: 'slide' // or 'container' - } - }); - - swiper.controller = { - control: undefined - }; - function LinearSpline(x, y) { - const binarySearch = function search() { - let maxIndex; - let minIndex; - let guess; - return (array, val) => { - minIndex = -1; - maxIndex = array.length; - while (maxIndex - minIndex > 1) { - guess = maxIndex + minIndex >> 1; - if (array[guess] <= val) { - minIndex = guess; - } else { - maxIndex = guess; - } - } - return maxIndex; - }; - }(); - this.x = x; - this.y = y; - this.lastIndex = x.length - 1; - // Given an x value (x2), return the expected y2 value: - // (x1,y1) is the known point before given value, - // (x3,y3) is the known point after given value. - let i1; - let i3; - this.interpolate = function interpolate(x2) { - if (!x2) return 0; - - // Get the indexes of x1 and x3 (the array indexes before and after given x2): - i3 = binarySearch(this.x, x2); - i1 = i3 - 1; - - // We have our indexes i1 & i3, so we can calculate already: - // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1 - return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1]; - }; - return this; - } - function getInterpolateFunction(c) { - swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid); - } - function setTranslate(_t, byController) { - const controlled = swiper.controller.control; - let multiplier; - let controlledTranslate; - const Swiper = swiper.constructor; - function setControlledTranslate(c) { - if (c.destroyed) return; - - // this will create an Interpolate function based on the snapGrids - // x is the Grid of the scrolled scroller and y will be the controlled scroller - // it makes sense to create this only once and recall it for the interpolation - // the function does a lot of value caching for performance - const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate; - if (swiper.params.controller.by === 'slide') { - getInterpolateFunction(c); - // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid - // but it did not work out - controlledTranslate = -swiper.controller.spline.interpolate(-translate); - } - if (!controlledTranslate || swiper.params.controller.by === 'container') { - multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate()); - if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) { - multiplier = 1; - } - controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate(); - } - if (swiper.params.controller.inverse) { - controlledTranslate = c.maxTranslate() - controlledTranslate; - } - c.updateProgress(controlledTranslate); - c.setTranslate(controlledTranslate, swiper); - c.updateActiveIndex(); - c.updateSlidesClasses(); - } - if (Array.isArray(controlled)) { - for (let i = 0; i < controlled.length; i += 1) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTranslate(controlled[i]); - } - } - } else if (controlled instanceof Swiper && byController !== controlled) { - setControlledTranslate(controlled); - } - } - function setTransition(duration, byController) { - const Swiper = swiper.constructor; - const controlled = swiper.controller.control; - let i; - function setControlledTransition(c) { - if (c.destroyed) return; - c.setTransition(duration, swiper); - if (duration !== 0) { - c.transitionStart(); - if (c.params.autoHeight) { - nextTick(() => { - c.updateAutoHeight(); - }); - } - elementTransitionEnd(c.wrapperEl, () => { - if (!controlled) return; - c.transitionEnd(); - }); - } - } - if (Array.isArray(controlled)) { - for (i = 0; i < controlled.length; i += 1) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTransition(controlled[i]); - } - } - } else if (controlled instanceof Swiper && byController !== controlled) { - setControlledTransition(controlled); - } - } - function removeSpline() { - if (!swiper.controller.control) return; - if (swiper.controller.spline) { - swiper.controller.spline = undefined; - delete swiper.controller.spline; - } - } - on('beforeInit', () => { - if (typeof window !== 'undefined' && ( - // eslint-disable-line - typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) { - const controlElement = document.querySelector(swiper.params.controller.control); - if (controlElement && controlElement.swiper) { - swiper.controller.control = controlElement.swiper; - } else if (controlElement) { - const onControllerSwiper = e => { - swiper.controller.control = e.detail[0]; - swiper.update(); - controlElement.removeEventListener('init', onControllerSwiper); - }; - controlElement.addEventListener('init', onControllerSwiper); - } - return; - } - swiper.controller.control = swiper.params.controller.control; - }); - on('update', () => { - removeSpline(); - }); - on('resize', () => { - removeSpline(); - }); - on('observerUpdate', () => { - removeSpline(); - }); - on('setTranslate', (_s, translate, byController) => { - if (!swiper.controller.control || swiper.controller.control.destroyed) return; - swiper.controller.setTranslate(translate, byController); - }); - on('setTransition', (_s, duration, byController) => { - if (!swiper.controller.control || swiper.controller.control.destroyed) return; - swiper.controller.setTransition(duration, byController); - }); - Object.assign(swiper.controller, { - setTranslate, - setTransition - }); -} - -export { Controller as default }; diff --git a/node_modules/swiper/modules/controller.scss b/node_modules/swiper/modules/controller.scss deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/effect-cards-element.css b/node_modules/swiper/modules/effect-cards-element.css deleted file mode 100644 index f831010..0000000 --- a/node_modules/swiper/modules/effect-cards-element.css +++ /dev/null @@ -1,9 +0,0 @@ -.swiper-cards { - overflow: visible; -} -.swiper-cards ::slotted(swiper-slide) { - transform-origin: center bottom; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - overflow: hidden; -} diff --git a/node_modules/swiper/modules/effect-cards-element.min.css b/node_modules/swiper/modules/effect-cards-element.min.css deleted file mode 100644 index 97c6648..0000000 --- a/node_modules/swiper/modules/effect-cards-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-cards.css b/node_modules/swiper/modules/effect-cards.css deleted file mode 100644 index 4b9f64b..0000000 --- a/node_modules/swiper/modules/effect-cards.css +++ /dev/null @@ -1,9 +0,0 @@ -.swiper-cards { - overflow: visible; -} -.swiper-cards .swiper-slide { - transform-origin: center bottom; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - overflow: hidden; -} diff --git a/node_modules/swiper/modules/effect-cards.less b/node_modules/swiper/modules/effect-cards.less deleted file mode 100644 index ab90342..0000000 --- a/node_modules/swiper/modules/effect-cards.less +++ /dev/null @@ -1,8 +0,0 @@ -.swiper-cards { - overflow: visible; - .swiper-slide { - transform-origin: center bottom; - backface-visibility: hidden; - overflow: hidden; - } -} diff --git a/node_modules/swiper/modules/effect-cards.min.css b/node_modules/swiper/modules/effect-cards.min.css deleted file mode 100644 index 1769ef2..0000000 --- a/node_modules/swiper/modules/effect-cards.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-cards.min.mjs b/node_modules/swiper/modules/effect-cards.min.mjs deleted file mode 100644 index 2b2e86c..0000000 --- a/node_modules/swiper/modules/effect-cards.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{c as createShadow}from"../shared/create-shadow.min.mjs";import{e as effectInit}from"../shared/effect-init.min.mjs";import{e as effectTarget}from"../shared/effect-target.min.mjs";import{e as effectVirtualTransitionEnd}from"../shared/effect-virtual-transition-end.min.mjs";import{g as getSlideTransformEl}from"../shared/utils.min.mjs";function EffectCards(e){let{swiper:t,extendParams:a,on:s}=e;a({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}});effectInit({effect:"cards",swiper:t,on:s,setTranslate:()=>{const{slides:e,activeIndex:a,rtlTranslate:s}=t,r=t.params.cardsEffect,{startTranslate:i,isTouched:n}=t.touchEventsData,o=s?-t.translate:t.translate;for(let l=0;l0&&c<1&&(n||t.params.cssMode)&&o-1&&(n||t.params.cssMode)&&o>i;if(E||T){const e=(1-Math.abs((Math.abs(c)-.5)/.5))**.5;w+=-28*c*e,u+=-.5*e,S+=96*e,h=-25*e*Math.abs(c)+"%"}if(p=c<0?`calc(${p}px ${s?"-":"+"} (${S*Math.abs(c)}%))`:c>0?`calc(${p}px ${s?"-":"+"} (-${S*Math.abs(c)}%))`:`${p}px`,!t.isHorizontal()){const e=h;h=p,p=e}const g=c<0?""+(1+(1-u)*c):""+(1-(1-u)*c),x=`\n translate3d(${p}, ${h}, ${M}px)\n rotateZ(${r.rotate?s?-w:w:0}deg)\n scale(${g})\n `;if(r.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=createShadow("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(c)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(f))+e.length;effectTarget(r,d).style.transform=x}},setTransition:e=>{const a=t.slides.map((e=>getSlideTransformEl(e)));a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),effectVirtualTransitionEnd({swiper:t,duration:e,transformElements:a})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}export{EffectCards as default}; -//# sourceMappingURL=effect-cards.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-cards.min.mjs.map b/node_modules/swiper/modules/effect-cards.min.mjs.map deleted file mode 100644 index e23f337..0000000 --- a/node_modules/swiper/modules/effect-cards.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"effect-cards.mjs.mjs","names":["createShadow","effectInit","effectTarget","effectVirtualTransitionEnd","getSlideTransformEl","EffectCards","_ref","swiper","extendParams","on","cardsEffect","slideShadows","rotate","perSlideRotate","perSlideOffset","effect","setTranslate","slides","activeIndex","rtlTranslate","rtl","params","startTranslate","isTouched","touchEventsData","currentTranslate","translate","i","length","slideEl","slideProgress","progress","Math","min","max","offset","swiperSlideOffset","centeredSlides","cssMode","wrapperEl","style","transform","minTranslate","tX","tY","tZ","abs","scale","tXAdd","slideIndex","virtual","enabled","from","isSwipeToNext","isSwipeToPrev","subProgress","isHorizontal","prevY","scaleString","shadowEl","querySelector","opacity","zIndex","round","setTransition","duration","transformElements","map","forEach","el","transitionDuration","querySelectorAll","perspective","overwriteParams","watchSlidesProgress","virtualTranslate"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-cards.mjs b/node_modules/swiper/modules/effect-cards.mjs deleted file mode 100644 index 27e577a..0000000 --- a/node_modules/swiper/modules/effect-cards.mjs +++ /dev/null @@ -1,125 +0,0 @@ -import { c as createShadow } from '../shared/create-shadow.mjs'; -import { e as effectInit } from '../shared/effect-init.mjs'; -import { e as effectTarget } from '../shared/effect-target.mjs'; -import { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs'; -import { g as getSlideTransformEl } from '../shared/utils.mjs'; - -function EffectCards(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - cardsEffect: { - slideShadows: true, - rotate: true, - perSlideRotate: 2, - perSlideOffset: 8 - } - }); - const setTranslate = () => { - const { - slides, - activeIndex, - rtlTranslate: rtl - } = swiper; - const params = swiper.params.cardsEffect; - const { - startTranslate, - isTouched - } = swiper.touchEventsData; - const currentTranslate = rtl ? -swiper.translate : swiper.translate; - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - const slideProgress = slideEl.progress; - const progress = Math.min(Math.max(slideProgress, -4), 4); - let offset = slideEl.swiperSlideOffset; - if (swiper.params.centeredSlides && !swiper.params.cssMode) { - swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`; - } - if (swiper.params.centeredSlides && swiper.params.cssMode) { - offset -= slides[0].swiperSlideOffset; - } - let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset; - let tY = 0; - const tZ = -100 * Math.abs(progress); - let scale = 1; - let rotate = -params.perSlideRotate * progress; - let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75; - const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i; - const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate; - const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate; - if (isSwipeToNext || isSwipeToPrev) { - const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5; - rotate += -28 * progress * subProgress; - scale += -0.5 * subProgress; - tXAdd += 96 * subProgress; - tY = `${-25 * subProgress * Math.abs(progress)}%`; - } - if (progress < 0) { - // next - tX = `calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`; - } else if (progress > 0) { - // prev - tX = `calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`; - } else { - tX = `${tX}px`; - } - if (!swiper.isHorizontal()) { - const prevY = tY; - tY = tX; - tX = prevY; - } - const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`; - - /* eslint-disable */ - const transform = ` - translate3d(${tX}, ${tY}, ${tZ}px) - rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg) - scale(${scaleString}) - `; - /* eslint-enable */ - - if (params.slideShadows) { - // Set shadows - let shadowEl = slideEl.querySelector('.swiper-slide-shadow'); - if (!shadowEl) { - shadowEl = createShadow('cards', slideEl); - } - if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1); - } - slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = transform; - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements - }); - }; - effectInit({ - effect: 'cards', - swiper, - on, - setTranslate, - setTransition, - perspective: () => true, - overwriteParams: () => ({ - watchSlidesProgress: true, - virtualTranslate: !swiper.params.cssMode - }) - }); -} - -export { EffectCards as default }; diff --git a/node_modules/swiper/modules/effect-cards.scss b/node_modules/swiper/modules/effect-cards.scss deleted file mode 100644 index ab90342..0000000 --- a/node_modules/swiper/modules/effect-cards.scss +++ /dev/null @@ -1,8 +0,0 @@ -.swiper-cards { - overflow: visible; - .swiper-slide { - transform-origin: center bottom; - backface-visibility: hidden; - overflow: hidden; - } -} diff --git a/node_modules/swiper/modules/effect-coverflow-element.css b/node_modules/swiper/modules/effect-coverflow-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/effect-coverflow-element.min.css b/node_modules/swiper/modules/effect-coverflow-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/effect-coverflow.css b/node_modules/swiper/modules/effect-coverflow.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/effect-coverflow.less b/node_modules/swiper/modules/effect-coverflow.less deleted file mode 100644 index ac504bf..0000000 --- a/node_modules/swiper/modules/effect-coverflow.less +++ /dev/null @@ -1,2 +0,0 @@ -.swiper-coverflow { -} diff --git a/node_modules/swiper/modules/effect-coverflow.min.css b/node_modules/swiper/modules/effect-coverflow.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/effect-coverflow.min.mjs b/node_modules/swiper/modules/effect-coverflow.min.mjs deleted file mode 100644 index e116989..0000000 --- a/node_modules/swiper/modules/effect-coverflow.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{c as createShadow}from"../shared/create-shadow.min.mjs";import{e as effectInit}from"../shared/effect-init.min.mjs";import{e as effectTarget}from"../shared/effect-target.min.mjs";import{g as getSlideTransformEl}from"../shared/utils.min.mjs";function EffectCoverflow(e){let{swiper:t,extendParams:s,on:r}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}});effectInit({effect:"coverflow",swiper:t,on:r,setTranslate:()=>{const{width:e,height:s,slides:r,slidesSizesGrid:a}=t,o=t.params.coverflowEffect,i=t.isHorizontal(),l=t.translate,f=i?e/2-l:s/2-l,d=i?o.rotate:-o.rotate,h=o.depth;for(let e=0,s=r.length;e0?n:0),t&&(t.style.opacity=-n>0?-n:0)}}},setTransition:e=>{t.slides.map((e=>getSlideTransformEl(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})}export{EffectCoverflow as default}; -//# sourceMappingURL=effect-coverflow.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-coverflow.min.mjs.map b/node_modules/swiper/modules/effect-coverflow.min.mjs.map deleted file mode 100644 index 4b71baf..0000000 --- a/node_modules/swiper/modules/effect-coverflow.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"effect-coverflow.mjs.mjs","names":["createShadow","effectInit","effectTarget","getSlideTransformEl","EffectCoverflow","_ref","swiper","extendParams","on","coverflowEffect","rotate","stretch","depth","scale","modifier","slideShadows","effect","setTranslate","width","swiperWidth","height","swiperHeight","slides","slidesSizesGrid","params","isHorizontal","transform","translate","center","i","length","slideEl","slideSize","centerOffset","swiperSlideOffset","offsetMultiplier","rotateY","rotateX","translateZ","Math","abs","indexOf","parseFloat","translateY","translateX","browser","need3dFix","slideTransform","style","zIndex","round","shadowBeforeEl","querySelector","shadowAfterEl","opacity","setTransition","duration","map","forEach","el","transitionDuration","querySelectorAll","shadowEl","perspective","overwriteParams","watchSlidesProgress"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-coverflow.mjs b/node_modules/swiper/modules/effect-coverflow.mjs deleted file mode 100644 index 819c44b..0000000 --- a/node_modules/swiper/modules/effect-coverflow.mjs +++ /dev/null @@ -1,111 +0,0 @@ -import { c as createShadow } from '../shared/create-shadow.mjs'; -import { e as effectInit } from '../shared/effect-init.mjs'; -import { e as effectTarget } from '../shared/effect-target.mjs'; -import { g as getSlideTransformEl } from '../shared/utils.mjs'; - -function EffectCoverflow(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - coverflowEffect: { - rotate: 50, - stretch: 0, - depth: 100, - scale: 1, - modifier: 1, - slideShadows: true - } - }); - const setTranslate = () => { - const { - width: swiperWidth, - height: swiperHeight, - slides, - slidesSizesGrid - } = swiper; - const params = swiper.params.coverflowEffect; - const isHorizontal = swiper.isHorizontal(); - const transform = swiper.translate; - const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2; - const rotate = isHorizontal ? params.rotate : -params.rotate; - const translate = params.depth; - // Each slide offset from center - for (let i = 0, length = slides.length; i < length; i += 1) { - const slideEl = slides[i]; - const slideSize = slidesSizesGrid[i]; - const slideOffset = slideEl.swiperSlideOffset; - const centerOffset = (center - slideOffset - slideSize / 2) / slideSize; - const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier; - let rotateY = isHorizontal ? rotate * offsetMultiplier : 0; - let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; - // var rotateZ = 0 - let translateZ = -translate * Math.abs(offsetMultiplier); - let stretch = params.stretch; - // Allow percentage to make a relative stretch for responsive sliders - if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) { - stretch = parseFloat(params.stretch) / 100 * slideSize; - } - let translateY = isHorizontal ? 0 : stretch * offsetMultiplier; - let translateX = isHorizontal ? stretch * offsetMultiplier : 0; - let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); - - // Fix for ultra small values - if (Math.abs(translateX) < 0.001) translateX = 0; - if (Math.abs(translateY) < 0.001) translateY = 0; - if (Math.abs(translateZ) < 0.001) translateZ = 0; - if (Math.abs(rotateY) < 0.001) rotateY = 0; - if (Math.abs(rotateX) < 0.001) rotateX = 0; - if (Math.abs(scale) < 0.001) scale = 0; - if (swiper.browser && swiper.browser.need3dFix) { - if (Math.abs(rotateY) / 90 % 2 === 1) { - rotateY += 0.001; - } - if (Math.abs(rotateX) / 90 % 2 === 1) { - rotateX += 0.001; - } - } - const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`; - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = slideTransform; - slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; - if (params.slideShadows) { - // Set shadows - let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); - let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); - if (!shadowBeforeEl) { - shadowBeforeEl = createShadow('coverflow', slideEl, isHorizontal ? 'left' : 'top'); - } - if (!shadowAfterEl) { - shadowAfterEl = createShadow('coverflow', slideEl, isHorizontal ? 'right' : 'bottom'); - } - if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; - if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0; - } - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - }; - effectInit({ - effect: 'coverflow', - swiper, - on, - setTranslate, - setTransition, - perspective: () => true, - overwriteParams: () => ({ - watchSlidesProgress: true - }) - }); -} - -export { EffectCoverflow as default }; diff --git a/node_modules/swiper/modules/effect-coverflow.scss b/node_modules/swiper/modules/effect-coverflow.scss deleted file mode 100644 index ac504bf..0000000 --- a/node_modules/swiper/modules/effect-coverflow.scss +++ /dev/null @@ -1,2 +0,0 @@ -.swiper-coverflow { -} diff --git a/node_modules/swiper/modules/effect-creative-element.css b/node_modules/swiper/modules/effect-creative-element.css deleted file mode 100644 index 6ccf22b..0000000 --- a/node_modules/swiper/modules/effect-creative-element.css +++ /dev/null @@ -1,6 +0,0 @@ -.swiper-creative ::slotted(swiper-slide) { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - overflow: hidden; - transition-property: transform, opacity, height; -} diff --git a/node_modules/swiper/modules/effect-creative-element.min.css b/node_modules/swiper/modules/effect-creative-element.min.css deleted file mode 100644 index 70fb705..0000000 --- a/node_modules/swiper/modules/effect-creative-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-creative ::slotted(swiper-slide){-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-creative.css b/node_modules/swiper/modules/effect-creative.css deleted file mode 100644 index 2082494..0000000 --- a/node_modules/swiper/modules/effect-creative.css +++ /dev/null @@ -1,6 +0,0 @@ -.swiper-creative .swiper-slide { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - overflow: hidden; - transition-property: transform, opacity, height; -} diff --git a/node_modules/swiper/modules/effect-creative.less b/node_modules/swiper/modules/effect-creative.less deleted file mode 100644 index b893cad..0000000 --- a/node_modules/swiper/modules/effect-creative.less +++ /dev/null @@ -1,7 +0,0 @@ -.swiper-creative { - .swiper-slide { - backface-visibility: hidden; - overflow: hidden; - transition-property: transform, opacity, height; - } -} diff --git a/node_modules/swiper/modules/effect-creative.min.css b/node_modules/swiper/modules/effect-creative.min.css deleted file mode 100644 index 404da2c..0000000 --- a/node_modules/swiper/modules/effect-creative.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-creative.min.mjs b/node_modules/swiper/modules/effect-creative.min.mjs deleted file mode 100644 index 5147f34..0000000 --- a/node_modules/swiper/modules/effect-creative.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{c as createShadow}from"../shared/create-shadow.min.mjs";import{e as effectInit}from"../shared/effect-init.min.mjs";import{e as effectTarget}from"../shared/effect-target.min.mjs";import{e as effectVirtualTransitionEnd}from"../shared/effect-virtual-transition-end.min.mjs";import{g as getSlideTransformEl}from"../shared/utils.min.mjs";function EffectCreative(e){let{swiper:t,extendParams:r,on:s}=e;r({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const a=e=>"string"==typeof e?e:`${e}px`;effectInit({effect:"creative",swiper:t,on:s,setTranslate:()=>{const{slides:e,wrapperEl:r,slidesSizesGrid:s}=t,i=t.params.creativeEffect,{progressMultiplier:o}=i,l=t.params.centeredSlides;if(l){const e=s[0]/2-t.params.slidesOffsetBefore||0;r.style.transform=`translateX(calc(50% - ${e}px))`}for(let r=0;r0&&(g=i.prev,h=!0),p.forEach(((e,t)=>{p[t]=`calc(${e}px + (${a(g.translate[t])} * ${Math.abs(c*o)}))`})),d.forEach(((e,r)=>{let s=g.rotate[r]*Math.abs(c*o);t.browser&&t.browser.need3dFix&&Math.abs(s)/90%2==1&&(s+=.001),d[r]=s})),s.style.zIndex=-Math.abs(Math.round(n))+e.length;const w=p.join(", "),y=`rotateX(${d[0]}deg) rotateY(${d[1]}deg) rotateZ(${d[2]}deg)`,M=f<0?`scale(${1+(1-g.scale)*f*o})`:`scale(${1-(1-g.scale)*f*o})`,u=f<0?1+(1-g.opacity)*f*o:1-(1-g.opacity)*f*o,v=`translate3d(${w}) ${y} ${M}`;if(h&&g.shadow||!h){let e=s.querySelector(".swiper-slide-shadow");if(!e&&g.shadow&&(e=createShadow("creative",s)),e){const t=i.shadowPerProgress?c*(1/i.limitProgress):c;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const E=effectTarget(i,s);E.style.transform=v,E.style.opacity=u,g.origin&&(E.style.transformOrigin=g.origin)}},setTransition:e=>{const r=t.slides.map((e=>getSlideTransformEl(e)));r.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),effectVirtualTransitionEnd({swiper:t,duration:e,transformElements:r,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}export{EffectCreative as default}; -//# sourceMappingURL=effect-creative.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-creative.min.mjs.map b/node_modules/swiper/modules/effect-creative.min.mjs.map deleted file mode 100644 index 467a9e9..0000000 --- a/node_modules/swiper/modules/effect-creative.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"effect-creative.mjs.mjs","names":["createShadow","effectInit","effectTarget","effectVirtualTransitionEnd","getSlideTransformEl","EffectCreative","_ref","swiper","extendParams","on","creativeEffect","limitProgress","shadowPerProgress","progressMultiplier","perspective","prev","translate","rotate","opacity","scale","next","getTranslateValue","value","effect","setTranslate","slides","wrapperEl","slidesSizesGrid","params","multiplier","isCenteredSlides","centeredSlides","margin","slidesOffsetBefore","style","transform","i","length","slideEl","slideProgress","progress","Math","min","max","originalProgress","offset","swiperSlideOffset","t","cssMode","r","custom","isHorizontal","data","forEach","index","abs","val","browser","need3dFix","zIndex","round","translateString","join","rotateString","scaleString","opacityString","shadow","shadowEl","querySelector","shadowOpacity","targetEl","origin","transformOrigin","setTransition","duration","transformElements","map","el","transitionDuration","querySelectorAll","allSlides","overwriteParams","watchSlidesProgress","virtualTranslate"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-creative.mjs b/node_modules/swiper/modules/effect-creative.mjs deleted file mode 100644 index eb24733..0000000 --- a/node_modules/swiper/modules/effect-creative.mjs +++ /dev/null @@ -1,148 +0,0 @@ -import { c as createShadow } from '../shared/create-shadow.mjs'; -import { e as effectInit } from '../shared/effect-init.mjs'; -import { e as effectTarget } from '../shared/effect-target.mjs'; -import { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs'; -import { g as getSlideTransformEl } from '../shared/utils.mjs'; - -function EffectCreative(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - creativeEffect: { - limitProgress: 1, - shadowPerProgress: false, - progressMultiplier: 1, - perspective: true, - prev: { - translate: [0, 0, 0], - rotate: [0, 0, 0], - opacity: 1, - scale: 1 - }, - next: { - translate: [0, 0, 0], - rotate: [0, 0, 0], - opacity: 1, - scale: 1 - } - } - }); - const getTranslateValue = value => { - if (typeof value === 'string') return value; - return `${value}px`; - }; - const setTranslate = () => { - const { - slides, - wrapperEl, - slidesSizesGrid - } = swiper; - const params = swiper.params.creativeEffect; - const { - progressMultiplier: multiplier - } = params; - const isCenteredSlides = swiper.params.centeredSlides; - if (isCenteredSlides) { - const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0; - wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`; - } - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - const slideProgress = slideEl.progress; - const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress); - let originalProgress = progress; - if (!isCenteredSlides) { - originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress); - } - const offset = slideEl.swiperSlideOffset; - const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0]; - const r = [0, 0, 0]; - let custom = false; - if (!swiper.isHorizontal()) { - t[1] = t[0]; - t[0] = 0; - } - let data = { - translate: [0, 0, 0], - rotate: [0, 0, 0], - scale: 1, - opacity: 1 - }; - if (progress < 0) { - data = params.next; - custom = true; - } else if (progress > 0) { - data = params.prev; - custom = true; - } - // set translate - t.forEach((value, index) => { - t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`; - }); - // set rotates - r.forEach((value, index) => { - let val = data.rotate[index] * Math.abs(progress * multiplier); - if (swiper.browser && swiper.browser.need3dFix && Math.abs(val) / 90 % 2 === 1) { - val += 0.001; - } - r[index] = val; - }); - slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; - const translateString = t.join(', '); - const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`; - const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`; - const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier; - const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; - - // Set shadows - if (custom && data.shadow || !custom) { - let shadowEl = slideEl.querySelector('.swiper-slide-shadow'); - if (!shadowEl && data.shadow) { - shadowEl = createShadow('creative', slideEl); - } - if (shadowEl) { - const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress; - shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1); - } - } - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = transform; - targetEl.style.opacity = opacityString; - if (data.origin) { - targetEl.style.transformOrigin = data.origin; - } - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements, - allSlides: true - }); - }; - effectInit({ - effect: 'creative', - swiper, - on, - setTranslate, - setTransition, - perspective: () => swiper.params.creativeEffect.perspective, - overwriteParams: () => ({ - watchSlidesProgress: true, - virtualTranslate: !swiper.params.cssMode - }) - }); -} - -export { EffectCreative as default }; diff --git a/node_modules/swiper/modules/effect-creative.scss b/node_modules/swiper/modules/effect-creative.scss deleted file mode 100644 index b893cad..0000000 --- a/node_modules/swiper/modules/effect-creative.scss +++ /dev/null @@ -1,7 +0,0 @@ -.swiper-creative { - .swiper-slide { - backface-visibility: hidden; - overflow: hidden; - transition-property: transform, opacity, height; - } -} diff --git a/node_modules/swiper/modules/effect-cube-element.css b/node_modules/swiper/modules/effect-cube-element.css deleted file mode 100644 index af13615..0000000 --- a/node_modules/swiper/modules/effect-cube-element.css +++ /dev/null @@ -1,53 +0,0 @@ -.swiper-cube { - overflow: visible; -} -.swiper-cube ::slotted(swiper-slide) { - pointer-events: none; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; - visibility: hidden; - transform-origin: 0 0; - width: 100%; - height: 100%; -} -.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide) { - pointer-events: none; -} -.swiper-cube.swiper-rtl ::slotted(swiper-slide) { - transform-origin: 100% 0; -} -.swiper-cube ::slotted(.swiper-slide-active), -.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active) { - pointer-events: auto; -} -.swiper-cube ::slotted(.swiper-slide-active), -.swiper-cube ::slotted(.swiper-slide-next), -.swiper-cube ::slotted(.swiper-slide-prev) { - pointer-events: auto; - visibility: visible; -} -.swiper-cube .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - opacity: 0.6; - z-index: 0; -} -.swiper-cube .swiper-cube-shadow:before { - content: ''; - background: #000; - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 0; - filter: blur(50px); -} -.swiper-cube ::slotted(.swiper-slide-next) + ::slotted(swiper-slide) { - pointer-events: auto; - visibility: visible; -} -/* Cube slide shadows start *//* Cube slide shadows end */ diff --git a/node_modules/swiper/modules/effect-cube-element.min.css b/node_modules/swiper/modules/effect-cube-element.min.css deleted file mode 100644 index afc6ca2..0000000 --- a/node_modules/swiper/modules/effect-cube-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-cube.css b/node_modules/swiper/modules/effect-cube.css deleted file mode 100644 index 14b5d08..0000000 --- a/node_modules/swiper/modules/effect-cube.css +++ /dev/null @@ -1,62 +0,0 @@ -.swiper-cube { - overflow: visible; -} -.swiper-cube .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; - visibility: hidden; - transform-origin: 0 0; - width: 100%; - height: 100%; -} -.swiper-cube .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-cube.swiper-rtl .swiper-slide { - transform-origin: 100% 0; -} -.swiper-cube .swiper-slide-active, -.swiper-cube .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-cube .swiper-slide-active, -.swiper-cube .swiper-slide-next, -.swiper-cube .swiper-slide-prev { - pointer-events: auto; - visibility: visible; -} -.swiper-cube .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - opacity: 0.6; - z-index: 0; -} -.swiper-cube .swiper-cube-shadow:before { - content: ''; - background: #000; - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 0; - filter: blur(50px); -} -.swiper-cube .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; -} -/* Cube slide shadows start */ -.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top, -.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, -.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, -.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -/* Cube slide shadows end */ diff --git a/node_modules/swiper/modules/effect-cube.less b/node_modules/swiper/modules/effect-cube.less deleted file mode 100644 index 54bdc01..0000000 --- a/node_modules/swiper/modules/effect-cube.less +++ /dev/null @@ -1,69 +0,0 @@ -.swiper-cube { - overflow: visible; - .swiper-slide { - pointer-events: none; - backface-visibility: hidden; - z-index: 1; - visibility: hidden; - transform-origin: 0 0; - width: 100%; - height: 100%; - .swiper-slide { - pointer-events: none; - } - } - &.swiper-rtl .swiper-slide { - transform-origin: 100% 0; - } - .swiper-slide-active { - &, - & .swiper-slide-active { - pointer-events: auto; - } - } - .swiper-slide-active, - .swiper-slide-next, - .swiper-slide-prev { - pointer-events: auto; - visibility: visible; - } - - .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - opacity: 0.6; - z-index: 0; - - &:before { - content: ''; - background: #000; - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 0; - -webkit-filter: blur(50px); - filter: blur(50px); - } - } -} -.swiper-cube { - .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; - } -} -/* Cube slide shadows start */ -.swiper-cube { - .swiper-slide-shadow-cube.swiper-slide-shadow-top, - .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, - .swiper-slide-shadow-cube.swiper-slide-shadow-left, - .swiper-slide-shadow-cube.swiper-slide-shadow-right { - z-index: 0; - backface-visibility: hidden; - } -} -/* Cube slide shadows end */ diff --git a/node_modules/swiper/modules/effect-cube.min.css b/node_modules/swiper/modules/effect-cube.min.css deleted file mode 100644 index e91764c..0000000 --- a/node_modules/swiper/modules/effect-cube.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-cube.min.mjs b/node_modules/swiper/modules/effect-cube.min.mjs deleted file mode 100644 index e573926..0000000 --- a/node_modules/swiper/modules/effect-cube.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{e as effectInit}from"../shared/effect-init.min.mjs";import{c as createElement}from"../shared/utils.min.mjs";function EffectCube(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const r=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),r=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=createElement("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(a)),r||(r=createElement("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(r)),a&&(a.style.opacity=Math.max(-t,0)),r&&(r.style.opacity=Math.max(t,0))};effectInit({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:o,height:i,rtlTranslate:l,size:d,browser:n}=t,p=t.params.cubeEffect,c=t.isHorizontal(),w=t.virtual&&t.params.virtual.enabled;let h,f=0;p.shadow&&(c?(h=t.wrapperEl.querySelector(".swiper-cube-shadow"),h||(h=createElement("div","swiper-cube-shadow"),t.wrapperEl.append(h)),h.style.height=`${o}px`):(h=e.querySelector(".swiper-cube-shadow"),h||(h=createElement("div","swiper-cube-shadow"),e.append(h))));for(let e=0;e-1&&(f=90*o+90*h,l&&(f=90*-o-90*h),t.browser&&t.browser.need3dFix&&Math.abs(f)/90%2==1&&(f+=.001)),s.style.transform=x,p.slideShadows&&r(s,h,c)}if(s.style.transformOrigin=`50% 50% -${d/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${d/2}px`,p.shadow)if(c)h.style.transform=`translate3d(0px, ${o/2+p.shadowOffset}px, ${-o/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${p.shadowScale})`;else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,r=p.shadowOffset;h.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${i/2+r}px, ${-i/2/a}px) rotateX(-89.99deg)`}const m=(n.isSafari||n.isWebView)&&n.needPerspectiveFix?-d/2:0;s.style.transform=`translate3d(0px,0,${m}px) rotateX(${t.isHorizontal()?0:f}deg) rotateY(${t.isHorizontal()?-f:0}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${m}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);r(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})}export{EffectCube as default}; -//# sourceMappingURL=effect-cube.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-cube.min.mjs.map b/node_modules/swiper/modules/effect-cube.min.mjs.map deleted file mode 100644 index ef43f66..0000000 --- a/node_modules/swiper/modules/effect-cube.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"effect-cube.mjs.mjs","names":["effectInit","createElement","EffectCube","_ref","swiper","extendParams","on","cubeEffect","slideShadows","shadow","shadowOffset","shadowScale","createSlideShadows","slideEl","progress","isHorizontal","shadowBefore","querySelector","shadowAfter","split","append","style","opacity","Math","max","effect","setTranslate","el","wrapperEl","slides","width","swiperWidth","height","swiperHeight","rtlTranslate","rtl","size","swiperSize","browser","params","isVirtual","virtual","enabled","cubeShadowEl","wrapperRotate","i","length","slideIndex","parseInt","getAttribute","slideAngle","round","floor","min","tx","ty","tz","transform","need3dFix","abs","transformOrigin","shadowAngle","multiplier","sin","PI","cos","scale1","scale2","offset","zFactor","isSafari","isWebView","needPerspectiveFix","setProperty","setTransition","duration","forEach","transitionDuration","querySelectorAll","subEl","shadowEl","recreateShadows","getEffectParams","perspective","overwriteParams","slidesPerView","slidesPerGroup","watchSlidesProgress","resistanceRatio","spaceBetween","centeredSlides","virtualTranslate"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-cube.mjs b/node_modules/swiper/modules/effect-cube.mjs deleted file mode 100644 index 2d03cba..0000000 --- a/node_modules/swiper/modules/effect-cube.mjs +++ /dev/null @@ -1,176 +0,0 @@ -import { e as effectInit } from '../shared/effect-init.mjs'; -import { c as createElement } from '../shared/utils.mjs'; - -function EffectCube(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - cubeEffect: { - slideShadows: true, - shadow: true, - shadowOffset: 20, - shadowScale: 0.94 - } - }); - const createSlideShadows = (slideEl, progress, isHorizontal) => { - let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); - let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); - if (!shadowBefore) { - shadowBefore = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`.split(' ')); - slideEl.append(shadowBefore); - } - if (!shadowAfter) { - shadowAfter = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`.split(' ')); - slideEl.append(shadowAfter); - } - if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0); - if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0); - }; - const recreateShadows = () => { - // create new ones - const isHorizontal = swiper.isHorizontal(); - swiper.slides.forEach(slideEl => { - const progress = Math.max(Math.min(slideEl.progress, 1), -1); - createSlideShadows(slideEl, progress, isHorizontal); - }); - }; - const setTranslate = () => { - const { - el, - wrapperEl, - slides, - width: swiperWidth, - height: swiperHeight, - rtlTranslate: rtl, - size: swiperSize, - browser - } = swiper; - const params = swiper.params.cubeEffect; - const isHorizontal = swiper.isHorizontal(); - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - let wrapperRotate = 0; - let cubeShadowEl; - if (params.shadow) { - if (isHorizontal) { - cubeShadowEl = swiper.wrapperEl.querySelector('.swiper-cube-shadow'); - if (!cubeShadowEl) { - cubeShadowEl = createElement('div', 'swiper-cube-shadow'); - swiper.wrapperEl.append(cubeShadowEl); - } - cubeShadowEl.style.height = `${swiperWidth}px`; - } else { - cubeShadowEl = el.querySelector('.swiper-cube-shadow'); - if (!cubeShadowEl) { - cubeShadowEl = createElement('div', 'swiper-cube-shadow'); - el.append(cubeShadowEl); - } - } - } - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - let slideIndex = i; - if (isVirtual) { - slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10); - } - let slideAngle = slideIndex * 90; - let round = Math.floor(slideAngle / 360); - if (rtl) { - slideAngle = -slideAngle; - round = Math.floor(-slideAngle / 360); - } - const progress = Math.max(Math.min(slideEl.progress, 1), -1); - let tx = 0; - let ty = 0; - let tz = 0; - if (slideIndex % 4 === 0) { - tx = -round * 4 * swiperSize; - tz = 0; - } else if ((slideIndex - 1) % 4 === 0) { - tx = 0; - tz = -round * 4 * swiperSize; - } else if ((slideIndex - 2) % 4 === 0) { - tx = swiperSize + round * 4 * swiperSize; - tz = swiperSize; - } else if ((slideIndex - 3) % 4 === 0) { - tx = -swiperSize; - tz = 3 * swiperSize + swiperSize * 4 * round; - } - if (rtl) { - tx = -tx; - } - if (!isHorizontal) { - ty = tx; - tx = 0; - } - const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`; - if (progress <= 1 && progress > -1) { - wrapperRotate = slideIndex * 90 + progress * 90; - if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90; - if (swiper.browser && swiper.browser.need3dFix && Math.abs(wrapperRotate) / 90 % 2 === 1) { - wrapperRotate += 0.001; - } - } - slideEl.style.transform = transform; - if (params.slideShadows) { - createSlideShadows(slideEl, progress, isHorizontal); - } - } - wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`; - wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`; - if (params.shadow) { - if (isHorizontal) { - cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`; - } else { - const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90; - const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2); - const scale1 = params.shadowScale; - const scale2 = params.shadowScale / multiplier; - const offset = params.shadowOffset; - cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`; - } - } - const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0; - wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`; - wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`); - }; - const setTransition = duration => { - const { - el, - slides - } = swiper; - slides.forEach(slideEl => { - slideEl.style.transitionDuration = `${duration}ms`; - slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => { - subEl.style.transitionDuration = `${duration}ms`; - }); - }); - if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) { - const shadowEl = el.querySelector('.swiper-cube-shadow'); - if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`; - } - }; - effectInit({ - effect: 'cube', - swiper, - on, - setTranslate, - setTransition, - recreateShadows, - getEffectParams: () => swiper.params.cubeEffect, - perspective: () => true, - overwriteParams: () => ({ - slidesPerView: 1, - slidesPerGroup: 1, - watchSlidesProgress: true, - resistanceRatio: 0, - spaceBetween: 0, - centeredSlides: false, - virtualTranslate: true - }) - }); -} - -export { EffectCube as default }; diff --git a/node_modules/swiper/modules/effect-cube.scss b/node_modules/swiper/modules/effect-cube.scss deleted file mode 100644 index 54bdc01..0000000 --- a/node_modules/swiper/modules/effect-cube.scss +++ /dev/null @@ -1,69 +0,0 @@ -.swiper-cube { - overflow: visible; - .swiper-slide { - pointer-events: none; - backface-visibility: hidden; - z-index: 1; - visibility: hidden; - transform-origin: 0 0; - width: 100%; - height: 100%; - .swiper-slide { - pointer-events: none; - } - } - &.swiper-rtl .swiper-slide { - transform-origin: 100% 0; - } - .swiper-slide-active { - &, - & .swiper-slide-active { - pointer-events: auto; - } - } - .swiper-slide-active, - .swiper-slide-next, - .swiper-slide-prev { - pointer-events: auto; - visibility: visible; - } - - .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - opacity: 0.6; - z-index: 0; - - &:before { - content: ''; - background: #000; - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 0; - -webkit-filter: blur(50px); - filter: blur(50px); - } - } -} -.swiper-cube { - .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; - } -} -/* Cube slide shadows start */ -.swiper-cube { - .swiper-slide-shadow-cube.swiper-slide-shadow-top, - .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, - .swiper-slide-shadow-cube.swiper-slide-shadow-left, - .swiper-slide-shadow-cube.swiper-slide-shadow-right { - z-index: 0; - backface-visibility: hidden; - } -} -/* Cube slide shadows end */ diff --git a/node_modules/swiper/modules/effect-fade-element.css b/node_modules/swiper/modules/effect-fade-element.css deleted file mode 100644 index 76242c6..0000000 --- a/node_modules/swiper/modules/effect-fade-element.css +++ /dev/null @@ -1,16 +0,0 @@ -.swiper-fade.swiper-free-mode ::slotted(swiper-slide) { - transition-timing-function: ease-out; -} -.swiper-fade ::slotted(swiper-slide) { - pointer-events: none; - transition-property: opacity; -} -.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide) { - pointer-events: none; -} -.swiper-fade ::slotted(.swiper-slide-active) { - pointer-events: auto; -} -.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active) { - pointer-events: auto; -} diff --git a/node_modules/swiper/modules/effect-fade-element.min.css b/node_modules/swiper/modules/effect-fade-element.min.css deleted file mode 100644 index 6fb7280..0000000 --- a/node_modules/swiper/modules/effect-fade-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-fade.css b/node_modules/swiper/modules/effect-fade.css deleted file mode 100644 index ac7449e..0000000 --- a/node_modules/swiper/modules/effect-fade.css +++ /dev/null @@ -1,16 +0,0 @@ -.swiper-fade.swiper-free-mode .swiper-slide { - transition-timing-function: ease-out; -} -.swiper-fade .swiper-slide { - pointer-events: none; - transition-property: opacity; -} -.swiper-fade .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-fade .swiper-slide-active { - pointer-events: auto; -} -.swiper-fade .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} diff --git a/node_modules/swiper/modules/effect-fade.less b/node_modules/swiper/modules/effect-fade.less deleted file mode 100644 index 0fadca4..0000000 --- a/node_modules/swiper/modules/effect-fade.less +++ /dev/null @@ -1,20 +0,0 @@ -.swiper-fade { - &.swiper-free-mode { - .swiper-slide { - transition-timing-function: ease-out; - } - } - .swiper-slide { - pointer-events: none; - transition-property: opacity; - .swiper-slide { - pointer-events: none; - } - } - .swiper-slide-active { - pointer-events: auto; - & .swiper-slide-active { - pointer-events: auto; - } - } -} diff --git a/node_modules/swiper/modules/effect-fade.min.css b/node_modules/swiper/modules/effect-fade.min.css deleted file mode 100644 index e535e7e..0000000 --- a/node_modules/swiper/modules/effect-fade.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-fade.min.mjs b/node_modules/swiper/modules/effect-fade.min.mjs deleted file mode 100644 index 52a481c..0000000 --- a/node_modules/swiper/modules/effect-fade.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{e as effectInit}from"../shared/effect-init.min.mjs";import{e as effectTarget}from"../shared/effect-target.min.mjs";import{e as effectVirtualTransitionEnd}from"../shared/effect-virtual-transition-end.min.mjs";import{g as getSlideTransformEl}from"../shared/utils.min.mjs";function EffectFade(e){let{swiper:t,extendParams:s,on:a}=e;s({fadeEffect:{crossFade:!1}});effectInit({effect:"fade",swiper:t,on:a,setTranslate:()=>{const{slides:e}=t,s=t.params.fadeEffect;for(let a=0;a{const s=t.slides.map((e=>getSlideTransformEl(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),effectVirtualTransitionEnd({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})}export{EffectFade as default}; -//# sourceMappingURL=effect-fade.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-fade.min.mjs.map b/node_modules/swiper/modules/effect-fade.min.mjs.map deleted file mode 100644 index 91e91f1..0000000 --- a/node_modules/swiper/modules/effect-fade.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"effect-fade.mjs.mjs","names":["effectInit","effectTarget","effectVirtualTransitionEnd","getSlideTransformEl","EffectFade","_ref","swiper","extendParams","on","fadeEffect","crossFade","effect","setTranslate","slides","params","i","length","slideEl","tx","swiperSlideOffset","virtualTranslate","translate","ty","isHorizontal","slideOpacity","Math","max","abs","progress","min","targetEl","style","opacity","transform","setTransition","duration","transformElements","map","forEach","el","transitionDuration","allSlides","overwriteParams","slidesPerView","slidesPerGroup","watchSlidesProgress","spaceBetween","cssMode"],"sources":["0"],"mappings":"YAAcA,eAAkB,4CAClBC,iBAAoB,8CACpBC,+BAAkC,8DAClCC,wBAA2B,0BAEzC,SAASC,WAAWC,GAClB,IAAIC,OACFA,EAAMC,aACNA,EAAYC,GACZA,GACEH,EACJE,EAAa,CACXE,WAAY,CACVC,WAAW,KAoCfV,WAAW,CACTW,OAAQ,OACRL,SACAE,KACAI,aArCmB,KACnB,MAAMC,OACJA,GACEP,EACEQ,EAASR,EAAOQ,OAAOL,WAC7B,IAAK,IAAIM,EAAI,EAAGA,EAAIF,EAAOG,OAAQD,GAAK,EAAG,CACzC,MAAME,EAAUX,EAAOO,OAAOE,GAE9B,IAAIG,GADWD,EAAQE,kBAElBb,EAAOQ,OAAOM,mBAAkBF,GAAMZ,EAAOe,WAClD,IAAIC,EAAK,EACJhB,EAAOiB,iBACVD,EAAKJ,EACLA,EAAK,GAEP,MAAMM,EAAelB,EAAOQ,OAAOL,WAAWC,UAAYe,KAAKC,IAAI,EAAID,KAAKE,IAAIV,EAAQW,UAAW,GAAK,EAAIH,KAAKI,IAAIJ,KAAKC,IAAIT,EAAQW,UAAW,GAAI,GAC/IE,EAAW7B,aAAaa,EAAQG,GACtCa,EAASC,MAAMC,QAAUR,EACzBM,EAASC,MAAME,UAAY,eAAef,QAASI,WACrD,GAmBAY,cAjBoBC,IACpB,MAAMC,EAAoB9B,EAAOO,OAAOwB,KAAIpB,GAAWd,oBAAoBc,KAC3EmB,EAAkBE,SAAQC,IACxBA,EAAGR,MAAMS,mBAAqB,GAAGL,KAAY,IAE/CjC,2BAA2B,CACzBI,SACA6B,WACAC,oBACAK,WAAW,GACX,EAQFC,gBAAiB,KAAM,CACrBC,cAAe,EACfC,eAAgB,EAChBC,qBAAqB,EACrBC,aAAc,EACd1B,kBAAmBd,EAAOQ,OAAOiC,WAGvC,QAES3C"} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-fade.mjs b/node_modules/swiper/modules/effect-fade.mjs deleted file mode 100644 index 140e9b7..0000000 --- a/node_modules/swiper/modules/effect-fade.mjs +++ /dev/null @@ -1,66 +0,0 @@ -import { e as effectInit } from '../shared/effect-init.mjs'; -import { e as effectTarget } from '../shared/effect-target.mjs'; -import { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs'; -import { g as getSlideTransformEl } from '../shared/utils.mjs'; - -function EffectFade(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - fadeEffect: { - crossFade: false - } - }); - const setTranslate = () => { - const { - slides - } = swiper; - const params = swiper.params.fadeEffect; - for (let i = 0; i < slides.length; i += 1) { - const slideEl = swiper.slides[i]; - const offset = slideEl.swiperSlideOffset; - let tx = -offset; - if (!swiper.params.virtualTranslate) tx -= swiper.translate; - let ty = 0; - if (!swiper.isHorizontal()) { - ty = tx; - tx = 0; - } - const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0); - const targetEl = effectTarget(params, slideEl); - targetEl.style.opacity = slideOpacity; - targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`; - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements, - allSlides: true - }); - }; - effectInit({ - effect: 'fade', - swiper, - on, - setTranslate, - setTransition, - overwriteParams: () => ({ - slidesPerView: 1, - slidesPerGroup: 1, - watchSlidesProgress: true, - spaceBetween: 0, - virtualTranslate: !swiper.params.cssMode - }) - }); -} - -export { EffectFade as default }; diff --git a/node_modules/swiper/modules/effect-fade.scss b/node_modules/swiper/modules/effect-fade.scss deleted file mode 100644 index bb059dd..0000000 --- a/node_modules/swiper/modules/effect-fade.scss +++ /dev/null @@ -1,20 +0,0 @@ -.swiper-fade { - &.swiper-free-mode { - .swiper-slide { - transition-timing-function: ease-out; - } - } - .swiper-slide { - pointer-events: none; - transition-property: opacity; - .swiper-slide { - pointer-events: none; - } - } - .swiper-slide-active { - &, - & .swiper-slide-active { - pointer-events: auto; - } - } -} diff --git a/node_modules/swiper/modules/effect-flip-element.css b/node_modules/swiper/modules/effect-flip-element.css deleted file mode 100644 index 4ae8338..0000000 --- a/node_modules/swiper/modules/effect-flip-element.css +++ /dev/null @@ -1,17 +0,0 @@ -.swiper-flip { - overflow: visible; -} -.swiper-flip ::slotted(swiper-slide) { - pointer-events: none; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; -} -.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide) { - pointer-events: none; -} -.swiper-flip ::slotted(.swiper-slide-active), -.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active) { - pointer-events: auto; -} -/* Flip slide shadows start *//* Flip slide shadows end */ diff --git a/node_modules/swiper/modules/effect-flip-element.min.css b/node_modules/swiper/modules/effect-flip-element.min.css deleted file mode 100644 index 40d852b..0000000 --- a/node_modules/swiper/modules/effect-flip-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-flip.css b/node_modules/swiper/modules/effect-flip.css deleted file mode 100644 index f4b1d34..0000000 --- a/node_modules/swiper/modules/effect-flip.css +++ /dev/null @@ -1,26 +0,0 @@ -.swiper-flip { - overflow: visible; -} -.swiper-flip .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; -} -.swiper-flip .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-flip .swiper-slide-active, -.swiper-flip .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -/* Flip slide shadows start */ -.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top, -.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, -.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, -.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -/* Flip slide shadows end */ diff --git a/node_modules/swiper/modules/effect-flip.less b/node_modules/swiper/modules/effect-flip.less deleted file mode 100644 index 6c16d11..0000000 --- a/node_modules/swiper/modules/effect-flip.less +++ /dev/null @@ -1,28 +0,0 @@ -.swiper-flip { - overflow: visible; - .swiper-slide { - pointer-events: none; - backface-visibility: hidden; - z-index: 1; - .swiper-slide { - pointer-events: none; - } - } - .swiper-slide-active { - &, - & .swiper-slide-active { - pointer-events: auto; - } - } -} -/* Flip slide shadows start */ -.swiper-flip { - .swiper-slide-shadow-flip.swiper-slide-shadow-top, - .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, - .swiper-slide-shadow-flip.swiper-slide-shadow-left, - .swiper-slide-shadow-flip.swiper-slide-shadow-right { - z-index: 0; - backface-visibility: hidden; - } -} -/* Flip slide shadows end */ diff --git a/node_modules/swiper/modules/effect-flip.min.css b/node_modules/swiper/modules/effect-flip.min.css deleted file mode 100644 index b7656ff..0000000 --- a/node_modules/swiper/modules/effect-flip.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-flip.min.mjs b/node_modules/swiper/modules/effect-flip.min.mjs deleted file mode 100644 index 7938ab8..0000000 --- a/node_modules/swiper/modules/effect-flip.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{c as createShadow}from"../shared/create-shadow.min.mjs";import{e as effectInit}from"../shared/effect-init.min.mjs";import{e as effectTarget}from"../shared/effect-target.min.mjs";import{e as effectVirtualTransitionEnd}from"../shared/effect-virtual-transition-end.min.mjs";import{g as getSlideTransformEl}from"../shared/utils.min.mjs";function EffectFlip(e){let{swiper:t,extendParams:s,on:r}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const a=(e,s)=>{let r=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");r||(r=createShadow("flip",e,t.isHorizontal()?"left":"top")),a||(a=createShadow("flip",e,t.isHorizontal()?"right":"bottom")),r&&(r.style.opacity=Math.max(-s,0)),a&&(a.style.opacity=Math.max(s,0))};effectInit({effect:"flip",swiper:t,on:r,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,r=t.params.flipEffect;for(let i=0;i{const s=t.slides.map((e=>getSlideTransformEl(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),effectVirtualTransitionEnd({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),a(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})}export{EffectFlip as default}; -//# sourceMappingURL=effect-flip.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-flip.min.mjs.map b/node_modules/swiper/modules/effect-flip.min.mjs.map deleted file mode 100644 index a1c6392..0000000 --- a/node_modules/swiper/modules/effect-flip.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"effect-flip.mjs.mjs","names":["createShadow","effectInit","effectTarget","effectVirtualTransitionEnd","getSlideTransformEl","EffectFlip","_ref","swiper","extendParams","on","flipEffect","slideShadows","limitRotation","createSlideShadows","slideEl","progress","shadowBefore","isHorizontal","querySelector","shadowAfter","style","opacity","Math","max","effect","setTranslate","slides","rtlTranslate","rtl","params","i","length","min","offset","swiperSlideOffset","rotateY","rotateX","tx","cssMode","translate","ty","browser","need3dFix","abs","zIndex","round","transform","setTransition","duration","transformElements","map","forEach","el","transitionDuration","querySelectorAll","shadowEl","recreateShadows","getEffectParams","perspective","overwriteParams","slidesPerView","slidesPerGroup","watchSlidesProgress","spaceBetween","virtualTranslate"],"sources":["0"],"mappings":"YAAcA,iBAAoB,8CACpBC,eAAkB,4CAClBC,iBAAoB,8CACpBC,+BAAkC,8DAClCC,wBAA2B,0BAEzC,SAASC,WAAWC,GAClB,IAAIC,OACFA,EAAMC,aACNA,EAAYC,GACZA,GACEH,EACJE,EAAa,CACXE,WAAY,CACVC,cAAc,EACdC,eAAe,KAGnB,MAAMC,EAAqB,CAACC,EAASC,KACnC,IAAIC,EAAeT,EAAOU,eAAiBH,EAAQI,cAAc,6BAA+BJ,EAAQI,cAAc,4BAClHC,EAAcZ,EAAOU,eAAiBH,EAAQI,cAAc,8BAAgCJ,EAAQI,cAAc,+BACjHF,IACHA,EAAehB,aAAa,OAAQc,EAASP,EAAOU,eAAiB,OAAS,QAE3EE,IACHA,EAAcnB,aAAa,OAAQc,EAASP,EAAOU,eAAiB,QAAU,WAE5ED,IAAcA,EAAaI,MAAMC,QAAUC,KAAKC,KAAKR,EAAU,IAC/DI,IAAaA,EAAYC,MAAMC,QAAUC,KAAKC,IAAIR,EAAU,GAAE,EAsEpEd,WAAW,CACTuB,OAAQ,OACRjB,SACAE,KACAgB,aA7DmB,KACnB,MAAMC,OACJA,EACAC,aAAcC,GACZrB,EACEsB,EAAStB,EAAOsB,OAAOnB,WAC7B,IAAK,IAAIoB,EAAI,EAAGA,EAAIJ,EAAOK,OAAQD,GAAK,EAAG,CACzC,MAAMhB,EAAUY,EAAOI,GACvB,IAAIf,EAAWD,EAAQC,SACnBR,EAAOsB,OAAOnB,WAAWE,gBAC3BG,EAAWO,KAAKC,IAAID,KAAKU,IAAIlB,EAAQC,SAAU,IAAK,IAEtD,MAAMkB,EAASnB,EAAQoB,kBAEvB,IAAIC,GADY,IAAMpB,EAElBqB,EAAU,EACVC,EAAK9B,EAAOsB,OAAOS,SAAWL,EAAS1B,EAAOgC,WAAaN,EAC3DO,EAAK,EACJjC,EAAOU,eAKDW,IACTO,GAAWA,IALXK,EAAKH,EACLA,EAAK,EACLD,GAAWD,EACXA,EAAU,GAIR5B,EAAOkC,SAAWlC,EAAOkC,QAAQC,YAC/BpB,KAAKqB,IAAIR,GAAW,GAAK,GAAM,IACjCA,GAAW,MAETb,KAAKqB,IAAIP,GAAW,GAAK,GAAM,IACjCA,GAAW,OAGftB,EAAQM,MAAMwB,QAAUtB,KAAKqB,IAAIrB,KAAKuB,MAAM9B,IAAaW,EAAOK,OAC5DF,EAAOlB,cACTE,EAAmBC,EAASC,GAE9B,MAAM+B,EAAY,eAAeT,QAASG,qBAAsBJ,iBAAuBD,QACtEjC,aAAa2B,EAAQf,GAC7BM,MAAM0B,UAAYA,CAC7B,GAqBAC,cAnBoBC,IACpB,MAAMC,EAAoB1C,EAAOmB,OAAOwB,KAAIpC,GAAWV,oBAAoBU,KAC3EmC,EAAkBE,SAAQC,IACxBA,EAAGhC,MAAMiC,mBAAqB,GAAGL,MACjCI,EAAGE,iBAAiB,gHAAgHH,SAAQI,IAC1IA,EAASnC,MAAMiC,mBAAqB,GAAGL,KAAY,GACnD,IAEJ7C,2BAA2B,CACzBI,SACAyC,WACAC,qBACA,EAQFO,gBA1EsB,KAEtBjD,EAAOsB,OAAOnB,WACdH,EAAOmB,OAAOyB,SAAQrC,IACpB,IAAIC,EAAWD,EAAQC,SACnBR,EAAOsB,OAAOnB,WAAWE,gBAC3BG,EAAWO,KAAKC,IAAID,KAAKU,IAAIlB,EAAQC,SAAU,IAAK,IAEtDF,EAAmBC,EAASC,EAAS,GACrC,EAkEF0C,gBAAiB,IAAMlD,EAAOsB,OAAOnB,WACrCgD,YAAa,KAAM,EACnBC,gBAAiB,KAAM,CACrBC,cAAe,EACfC,eAAgB,EAChBC,qBAAqB,EACrBC,aAAc,EACdC,kBAAmBzD,EAAOsB,OAAOS,WAGvC,QAESjC"} \ No newline at end of file diff --git a/node_modules/swiper/modules/effect-flip.mjs b/node_modules/swiper/modules/effect-flip.mjs deleted file mode 100644 index 4685b67..0000000 --- a/node_modules/swiper/modules/effect-flip.mjs +++ /dev/null @@ -1,118 +0,0 @@ -import { c as createShadow } from '../shared/create-shadow.mjs'; -import { e as effectInit } from '../shared/effect-init.mjs'; -import { e as effectTarget } from '../shared/effect-target.mjs'; -import { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs'; -import { g as getSlideTransformEl } from '../shared/utils.mjs'; - -function EffectFlip(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - flipEffect: { - slideShadows: true, - limitRotation: true - } - }); - const createSlideShadows = (slideEl, progress) => { - let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); - let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); - if (!shadowBefore) { - shadowBefore = createShadow('flip', slideEl, swiper.isHorizontal() ? 'left' : 'top'); - } - if (!shadowAfter) { - shadowAfter = createShadow('flip', slideEl, swiper.isHorizontal() ? 'right' : 'bottom'); - } - if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0); - if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0); - }; - const recreateShadows = () => { - // Set shadows - swiper.params.flipEffect; - swiper.slides.forEach(slideEl => { - let progress = slideEl.progress; - if (swiper.params.flipEffect.limitRotation) { - progress = Math.max(Math.min(slideEl.progress, 1), -1); - } - createSlideShadows(slideEl, progress); - }); - }; - const setTranslate = () => { - const { - slides, - rtlTranslate: rtl - } = swiper; - const params = swiper.params.flipEffect; - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - let progress = slideEl.progress; - if (swiper.params.flipEffect.limitRotation) { - progress = Math.max(Math.min(slideEl.progress, 1), -1); - } - const offset = slideEl.swiperSlideOffset; - const rotate = -180 * progress; - let rotateY = rotate; - let rotateX = 0; - let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset; - let ty = 0; - if (!swiper.isHorizontal()) { - ty = tx; - tx = 0; - rotateX = -rotateY; - rotateY = 0; - } else if (rtl) { - rotateY = -rotateY; - } - if (swiper.browser && swiper.browser.need3dFix) { - if (Math.abs(rotateY) / 90 % 2 === 1) { - rotateY += 0.001; - } - if (Math.abs(rotateX) / 90 % 2 === 1) { - rotateX += 0.001; - } - } - slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length; - if (params.slideShadows) { - createSlideShadows(slideEl, progress); - } - const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`; - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = transform; - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements - }); - }; - effectInit({ - effect: 'flip', - swiper, - on, - setTranslate, - setTransition, - recreateShadows, - getEffectParams: () => swiper.params.flipEffect, - perspective: () => true, - overwriteParams: () => ({ - slidesPerView: 1, - slidesPerGroup: 1, - watchSlidesProgress: true, - spaceBetween: 0, - virtualTranslate: !swiper.params.cssMode - }) - }); -} - -export { EffectFlip as default }; diff --git a/node_modules/swiper/modules/effect-flip.scss b/node_modules/swiper/modules/effect-flip.scss deleted file mode 100644 index 6c16d11..0000000 --- a/node_modules/swiper/modules/effect-flip.scss +++ /dev/null @@ -1,28 +0,0 @@ -.swiper-flip { - overflow: visible; - .swiper-slide { - pointer-events: none; - backface-visibility: hidden; - z-index: 1; - .swiper-slide { - pointer-events: none; - } - } - .swiper-slide-active { - &, - & .swiper-slide-active { - pointer-events: auto; - } - } -} -/* Flip slide shadows start */ -.swiper-flip { - .swiper-slide-shadow-flip.swiper-slide-shadow-top, - .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, - .swiper-slide-shadow-flip.swiper-slide-shadow-left, - .swiper-slide-shadow-flip.swiper-slide-shadow-right { - z-index: 0; - backface-visibility: hidden; - } -} -/* Flip slide shadows end */ diff --git a/node_modules/swiper/modules/free-mode-element.css b/node_modules/swiper/modules/free-mode-element.css deleted file mode 100644 index 9c289eb..0000000 --- a/node_modules/swiper/modules/free-mode-element.css +++ /dev/null @@ -1,4 +0,0 @@ -.swiper-free-mode > .swiper-wrapper { - transition-timing-function: ease-out; - margin: 0 auto; -} diff --git a/node_modules/swiper/modules/free-mode-element.min.css b/node_modules/swiper/modules/free-mode-element.min.css deleted file mode 100644 index ecc8120..0000000 --- a/node_modules/swiper/modules/free-mode-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto} \ No newline at end of file diff --git a/node_modules/swiper/modules/free-mode.css b/node_modules/swiper/modules/free-mode.css deleted file mode 100644 index 9c289eb..0000000 --- a/node_modules/swiper/modules/free-mode.css +++ /dev/null @@ -1,4 +0,0 @@ -.swiper-free-mode > .swiper-wrapper { - transition-timing-function: ease-out; - margin: 0 auto; -} diff --git a/node_modules/swiper/modules/free-mode.less b/node_modules/swiper/modules/free-mode.less deleted file mode 100644 index 9c289eb..0000000 --- a/node_modules/swiper/modules/free-mode.less +++ /dev/null @@ -1,4 +0,0 @@ -.swiper-free-mode > .swiper-wrapper { - transition-timing-function: ease-out; - margin: 0 auto; -} diff --git a/node_modules/swiper/modules/free-mode.min.css b/node_modules/swiper/modules/free-mode.min.css deleted file mode 100644 index ecc8120..0000000 --- a/node_modules/swiper/modules/free-mode.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto} \ No newline at end of file diff --git a/node_modules/swiper/modules/free-mode.min.mjs b/node_modules/swiper/modules/free-mode.min.mjs deleted file mode 100644 index 251c4ac..0000000 --- a/node_modules/swiper/modules/free-mode.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{d as now,k as elementTransitionEnd}from"../shared/utils.min.mjs";function freeMode(e){let{swiper:t,extendParams:o,emit:n,once:s}=e;o({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:o}=t;0===e.velocities.length&&e.velocities.push({position:o[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:o[t.isHorizontal()?"currentX":"currentY"],time:now()})},onTouchEnd:function(e){let{currentPos:o}=e;if(t.params.cssMode)return;const{params:i,wrapperEl:a,rtlTranslate:r,snapGrid:l,touchEventsData:m}=t,c=now()-m.touchStartTime;if(o<-t.minTranslate())t.slideTo(t.activeIndex);else if(o>-t.maxTranslate())t.slides.length1){const e=m.velocities.pop(),o=m.velocities.pop(),n=e.position-o.position,s=e.time-o.time;t.velocity=n/s,t.velocity/=2,Math.abs(t.velocity)150||now()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=i.freeMode.momentumVelocityRatio,m.velocities.length=0;let e=1e3*i.freeMode.momentumRatio;const o=t.velocity*e;let c=t.translate+o;r&&(c=-c);let d,u=!1;const f=20*Math.abs(t.velocity)*i.freeMode.momentumBounceRatio;let p;if(ct.minTranslate())i.freeMode.momentumBounce?(c-t.minTranslate()>f&&(c=t.minTranslate()+f),d=t.minTranslate(),u=!0,m.allowMomentumBounce=!0):c=t.minTranslate(),i.loop&&i.centeredSlides&&(p=!0);else if(i.freeMode.sticky){let e;for(let t=0;t-c){e=t;break}c=Math.abs(l[e]-c){t.loopFix()})),0!==t.velocity){if(e=r?Math.abs((-c-t.translate)/t.velocity):Math.abs((c-t.translate)/t.velocity),i.freeMode.sticky){const o=Math.abs((r?-c:c)-t.translate),n=t.slidesSizesGrid[t.activeIndex];e=o{t&&!t.destroyed&&m.allowMomentumBounce&&(n("momentumBounce"),t.setTransition(i.speed),setTimeout((()=>{t.setTranslate(d),elementTransitionEnd(a,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(n("_freeModeNoMomentumRelease"),t.updateProgress(c),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,elementTransitionEnd(a,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(c),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(i.freeMode.sticky)return void t.slideToClosest();i.freeMode&&n("_freeModeNoMomentumRelease")}(!i.freeMode.momentum||c>=i.longSwipesMs)&&(n("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})}export{freeMode as default}; -//# sourceMappingURL=free-mode.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/free-mode.min.mjs.map b/node_modules/swiper/modules/free-mode.min.mjs.map deleted file mode 100644 index 97162ea..0000000 --- a/node_modules/swiper/modules/free-mode.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"free-mode.mjs.mjs","names":["now","elementTransitionEnd","freeMode","_ref","swiper","extendParams","emit","once","enabled","momentum","momentumRatio","momentumBounce","momentumBounceRatio","momentumVelocityRatio","sticky","minimumVelocity","Object","assign","onTouchStart","params","cssMode","translate","getTranslate","setTranslate","setTransition","touchEventsData","velocities","length","onTouchEnd","currentPos","rtl","onTouchMove","data","touches","push","position","isHorizontal","time","touchStartTime","_ref2","wrapperEl","rtlTranslate","snapGrid","timeDiff","minTranslate","slideTo","activeIndex","maxTranslate","slides","lastMoveEvent","pop","velocityEvent","distance","velocity","Math","abs","momentumDuration","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","needsLoopFix","allowMomentumBounce","loop","centeredSlides","nextSlide","j","swipeDirection","loopFix","moveDistance","currentSlideSize","slidesSizesGrid","speed","slideToClosest","updateProgress","transitionStart","animating","destroyed","setTimeout","transitionEnd","updateActiveIndex","updateSlidesClasses","longSwipesMs"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/free-mode.mjs b/node_modules/swiper/modules/free-mode.mjs deleted file mode 100644 index db39c3d..0000000 --- a/node_modules/swiper/modules/free-mode.mjs +++ /dev/null @@ -1,237 +0,0 @@ -import { d as now, k as elementTransitionEnd } from '../shared/utils.mjs'; - -function freeMode(_ref) { - let { - swiper, - extendParams, - emit, - once - } = _ref; - extendParams({ - freeMode: { - enabled: false, - momentum: true, - momentumRatio: 1, - momentumBounce: true, - momentumBounceRatio: 1, - momentumVelocityRatio: 1, - sticky: false, - minimumVelocity: 0.02 - } - }); - function onTouchStart() { - if (swiper.params.cssMode) return; - const translate = swiper.getTranslate(); - swiper.setTranslate(translate); - swiper.setTransition(0); - swiper.touchEventsData.velocities.length = 0; - swiper.freeMode.onTouchEnd({ - currentPos: swiper.rtl ? swiper.translate : -swiper.translate - }); - } - function onTouchMove() { - if (swiper.params.cssMode) return; - const { - touchEventsData: data, - touches - } = swiper; - // Velocity - if (data.velocities.length === 0) { - data.velocities.push({ - position: touches[swiper.isHorizontal() ? 'startX' : 'startY'], - time: data.touchStartTime - }); - } - data.velocities.push({ - position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'], - time: now() - }); - } - function onTouchEnd(_ref2) { - let { - currentPos - } = _ref2; - if (swiper.params.cssMode) return; - const { - params, - wrapperEl, - rtlTranslate: rtl, - snapGrid, - touchEventsData: data - } = swiper; - // Time diff - const touchEndTime = now(); - const timeDiff = touchEndTime - data.touchStartTime; - if (currentPos < -swiper.minTranslate()) { - swiper.slideTo(swiper.activeIndex); - return; - } - if (currentPos > -swiper.maxTranslate()) { - if (swiper.slides.length < snapGrid.length) { - swiper.slideTo(snapGrid.length - 1); - } else { - swiper.slideTo(swiper.slides.length - 1); - } - return; - } - if (params.freeMode.momentum) { - if (data.velocities.length > 1) { - const lastMoveEvent = data.velocities.pop(); - const velocityEvent = data.velocities.pop(); - const distance = lastMoveEvent.position - velocityEvent.position; - const time = lastMoveEvent.time - velocityEvent.time; - swiper.velocity = distance / time; - swiper.velocity /= 2; - if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) { - swiper.velocity = 0; - } - // this implies that the user stopped moving a finger then released. - // There would be no events with distance zero, so the last event is stale. - if (time > 150 || now() - lastMoveEvent.time > 300) { - swiper.velocity = 0; - } - } else { - swiper.velocity = 0; - } - swiper.velocity *= params.freeMode.momentumVelocityRatio; - data.velocities.length = 0; - let momentumDuration = 1000 * params.freeMode.momentumRatio; - const momentumDistance = swiper.velocity * momentumDuration; - let newPosition = swiper.translate + momentumDistance; - if (rtl) newPosition = -newPosition; - let doBounce = false; - let afterBouncePosition; - const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio; - let needsLoopFix; - if (newPosition < swiper.maxTranslate()) { - if (params.freeMode.momentumBounce) { - if (newPosition + swiper.maxTranslate() < -bounceAmount) { - newPosition = swiper.maxTranslate() - bounceAmount; - } - afterBouncePosition = swiper.maxTranslate(); - doBounce = true; - data.allowMomentumBounce = true; - } else { - newPosition = swiper.maxTranslate(); - } - if (params.loop && params.centeredSlides) needsLoopFix = true; - } else if (newPosition > swiper.minTranslate()) { - if (params.freeMode.momentumBounce) { - if (newPosition - swiper.minTranslate() > bounceAmount) { - newPosition = swiper.minTranslate() + bounceAmount; - } - afterBouncePosition = swiper.minTranslate(); - doBounce = true; - data.allowMomentumBounce = true; - } else { - newPosition = swiper.minTranslate(); - } - if (params.loop && params.centeredSlides) needsLoopFix = true; - } else if (params.freeMode.sticky) { - let nextSlide; - for (let j = 0; j < snapGrid.length; j += 1) { - if (snapGrid[j] > -newPosition) { - nextSlide = j; - break; - } - } - if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') { - newPosition = snapGrid[nextSlide]; - } else { - newPosition = snapGrid[nextSlide - 1]; - } - newPosition = -newPosition; - } - if (needsLoopFix) { - once('transitionEnd', () => { - swiper.loopFix(); - }); - } - // Fix duration - if (swiper.velocity !== 0) { - if (rtl) { - momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity); - } else { - momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity); - } - if (params.freeMode.sticky) { - // If freeMode.sticky is active and the user ends a swipe with a slow-velocity - // event, then durations can be 20+ seconds to slide one (or zero!) slides. - // It's easy to see this when simulating touch with mouse events. To fix this, - // limit single-slide swipes to the default slide duration. This also has the - // nice side effect of matching slide speed if the user stopped moving before - // lifting finger or mouse vs. moving slowly before lifting the finger/mouse. - // For faster swipes, also apply limits (albeit higher ones). - const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate); - const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex]; - if (moveDistance < currentSlideSize) { - momentumDuration = params.speed; - } else if (moveDistance < 2 * currentSlideSize) { - momentumDuration = params.speed * 1.5; - } else { - momentumDuration = params.speed * 2.5; - } - } - } else if (params.freeMode.sticky) { - swiper.slideToClosest(); - return; - } - if (params.freeMode.momentumBounce && doBounce) { - swiper.updateProgress(afterBouncePosition); - swiper.setTransition(momentumDuration); - swiper.setTranslate(newPosition); - swiper.transitionStart(true, swiper.swipeDirection); - swiper.animating = true; - elementTransitionEnd(wrapperEl, () => { - if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return; - emit('momentumBounce'); - swiper.setTransition(params.speed); - setTimeout(() => { - swiper.setTranslate(afterBouncePosition); - elementTransitionEnd(wrapperEl, () => { - if (!swiper || swiper.destroyed) return; - swiper.transitionEnd(); - }); - }, 0); - }); - } else if (swiper.velocity) { - emit('_freeModeNoMomentumRelease'); - swiper.updateProgress(newPosition); - swiper.setTransition(momentumDuration); - swiper.setTranslate(newPosition); - swiper.transitionStart(true, swiper.swipeDirection); - if (!swiper.animating) { - swiper.animating = true; - elementTransitionEnd(wrapperEl, () => { - if (!swiper || swiper.destroyed) return; - swiper.transitionEnd(); - }); - } - } else { - swiper.updateProgress(newPosition); - } - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } else if (params.freeMode.sticky) { - swiper.slideToClosest(); - return; - } else if (params.freeMode) { - emit('_freeModeNoMomentumRelease'); - } - if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) { - emit('_freeModeStaticRelease'); - swiper.updateProgress(); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - } - Object.assign(swiper, { - freeMode: { - onTouchStart, - onTouchMove, - onTouchEnd - } - }); -} - -export { freeMode as default }; diff --git a/node_modules/swiper/modules/free-mode.scss b/node_modules/swiper/modules/free-mode.scss deleted file mode 100644 index 9c289eb..0000000 --- a/node_modules/swiper/modules/free-mode.scss +++ /dev/null @@ -1,4 +0,0 @@ -.swiper-free-mode > .swiper-wrapper { - transition-timing-function: ease-out; - margin: 0 auto; -} diff --git a/node_modules/swiper/modules/grid-element.css b/node_modules/swiper/modules/grid-element.css deleted file mode 100644 index 136cb65..0000000 --- a/node_modules/swiper/modules/grid-element.css +++ /dev/null @@ -1,7 +0,0 @@ -.swiper-grid > .swiper-wrapper { - flex-wrap: wrap; -} -.swiper-grid-column > .swiper-wrapper { - flex-wrap: wrap; - flex-direction: column; -} diff --git a/node_modules/swiper/modules/grid-element.min.css b/node_modules/swiper/modules/grid-element.min.css deleted file mode 100644 index 7d5f8f9..0000000 --- a/node_modules/swiper/modules/grid-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column} \ No newline at end of file diff --git a/node_modules/swiper/modules/grid.css b/node_modules/swiper/modules/grid.css deleted file mode 100644 index 136cb65..0000000 --- a/node_modules/swiper/modules/grid.css +++ /dev/null @@ -1,7 +0,0 @@ -.swiper-grid > .swiper-wrapper { - flex-wrap: wrap; -} -.swiper-grid-column > .swiper-wrapper { - flex-wrap: wrap; - flex-direction: column; -} diff --git a/node_modules/swiper/modules/grid.less b/node_modules/swiper/modules/grid.less deleted file mode 100644 index 136cb65..0000000 --- a/node_modules/swiper/modules/grid.less +++ /dev/null @@ -1,7 +0,0 @@ -.swiper-grid > .swiper-wrapper { - flex-wrap: wrap; -} -.swiper-grid-column > .swiper-wrapper { - flex-wrap: wrap; - flex-direction: column; -} diff --git a/node_modules/swiper/modules/grid.min.css b/node_modules/swiper/modules/grid.min.css deleted file mode 100644 index 7d5f8f9..0000000 --- a/node_modules/swiper/modules/grid.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column} \ No newline at end of file diff --git a/node_modules/swiper/modules/grid.min.mjs b/node_modules/swiper/modules/grid.min.mjs deleted file mode 100644 index 84f1b4e..0000000 --- a/node_modules/swiper/modules/grid.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -function Grid(e){let i,r,a,t,{swiper:s,extendParams:l,on:o}=e;l({grid:{rows:1,fill:"column"}});const n=()=>{let e=s.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*s.size:"string"==typeof e&&(e=parseFloat(e)),e};o("init",(()=>{t=s.params.grid&&s.params.grid.rows>1})),o("update",(()=>{const{params:e,el:i}=s,r=e.grid&&e.grid.rows>1;t&&!r?(i.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),a=1,s.emitContainerClasses()):!t&&r&&(i.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&i.classList.add(`${e.containerModifierClass}grid-column`),s.emitContainerClasses()),t=r})),s.grid={initSlides:e=>{const{slidesPerView:t}=s.params,{rows:l,fill:o}=s.params.grid,n=s.virtual&&s.params.virtual.enabled?s.virtual.slides.length:e.length;a=Math.floor(n/l),i=Math.floor(n/l)===n/l?n:Math.ceil(n/l)*l,"auto"!==t&&"row"===o&&(i=Math.max(i,t*l)),r=i/l},unsetSlides:()=>{s.slides&&s.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[s.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,t,l)=>{const{slidesPerGroup:o}=s.params,d=n(),{rows:p,fill:c}=s.params.grid,g=s.virtual&&s.params.virtual.enabled?s.virtual.slides.length:l.length;let u,h,m;if("row"===c&&o>1){const r=Math.floor(e/(o*p)),a=e-p*o*r,s=0===r?o:Math.min(Math.ceil((g-r*p*o)/p),o);m=Math.floor(a/s),h=a-m*s+r*o,u=h+m*i/p,t.style.order=u}else"column"===c?(h=Math.floor(e/p),m=e-h*p,(h>a||h===a&&m===p-1)&&(m+=1,m>=p&&(m=0,h+=1))):(m=Math.floor(e/r),h=e-m*r);t.row=m,t.column=h,t.style.height=`calc((100% - ${(p-1)*d}px) / ${p})`,t.style[s.getDirectionLabel("margin-top")]=0!==m?d&&`${d}px`:"",t.swiperSlideGridSet=!0},updateWrapperSize:(e,r)=>{const{centeredSlides:a,roundLengths:t}=s.params,l=n(),{rows:o}=s.params.grid;if(s.virtualSize=(e+l)*i,s.virtualSize=Math.ceil(s.virtualSize/o)-l,s.params.cssMode||(s.wrapperEl.style[s.getDirectionLabel("width")]=`${s.virtualSize+l}px`),a){const e=[];for(let i=0;i { - let spaceBetween = swiper.params.spaceBetween; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - return spaceBetween; - }; - const initSlides = slides => { - const { - slidesPerView - } = swiper.params; - const { - rows, - fill - } = swiper.params.grid; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length; - numFullColumns = Math.floor(slidesLength / rows); - if (Math.floor(slidesLength / rows) === slidesLength / rows) { - slidesNumberEvenToRows = slidesLength; - } else { - slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows; - } - if (slidesPerView !== 'auto' && fill === 'row') { - slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows); - } - slidesPerRow = slidesNumberEvenToRows / rows; - }; - const unsetSlides = () => { - if (swiper.slides) { - swiper.slides.forEach(slide => { - if (slide.swiperSlideGridSet) { - slide.style.height = ''; - slide.style[swiper.getDirectionLabel('margin-top')] = ''; - } - }); - } - }; - const updateSlide = (i, slide, slides) => { - const { - slidesPerGroup - } = swiper.params; - const spaceBetween = getSpaceBetween(); - const { - rows, - fill - } = swiper.params.grid; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length; - // Set slides order - let newSlideOrderIndex; - let column; - let row; - if (fill === 'row' && slidesPerGroup > 1) { - const groupIndex = Math.floor(i / (slidesPerGroup * rows)); - const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex; - const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup); - row = Math.floor(slideIndexInGroup / columnsInGroup); - column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup; - newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows; - slide.style.order = newSlideOrderIndex; - } else if (fill === 'column') { - column = Math.floor(i / rows); - row = i - column * rows; - if (column > numFullColumns || column === numFullColumns && row === rows - 1) { - row += 1; - if (row >= rows) { - row = 0; - column += 1; - } - } - } else { - row = Math.floor(i / slidesPerRow); - column = i - row * slidesPerRow; - } - slide.row = row; - slide.column = column; - slide.style.height = `calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`; - slide.style[swiper.getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : ''; - slide.swiperSlideGridSet = true; - }; - const updateWrapperSize = (slideSize, snapGrid) => { - const { - centeredSlides, - roundLengths - } = swiper.params; - const spaceBetween = getSpaceBetween(); - const { - rows - } = swiper.params.grid; - swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows; - swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween; - if (!swiper.params.cssMode) { - swiper.wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; - } - if (centeredSlides) { - const newSlidesGrid = []; - for (let i = 0; i < snapGrid.length; i += 1) { - let slidesGridItem = snapGrid[i]; - if (roundLengths) slidesGridItem = Math.floor(slidesGridItem); - if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem); - } - snapGrid.splice(0, snapGrid.length); - snapGrid.push(...newSlidesGrid); - } - }; - const onInit = () => { - wasMultiRow = swiper.params.grid && swiper.params.grid.rows > 1; - }; - const onUpdate = () => { - const { - params, - el - } = swiper; - const isMultiRow = params.grid && params.grid.rows > 1; - if (wasMultiRow && !isMultiRow) { - el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); - numFullColumns = 1; - swiper.emitContainerClasses(); - } else if (!wasMultiRow && isMultiRow) { - el.classList.add(`${params.containerModifierClass}grid`); - if (params.grid.fill === 'column') { - el.classList.add(`${params.containerModifierClass}grid-column`); - } - swiper.emitContainerClasses(); - } - wasMultiRow = isMultiRow; - }; - on('init', onInit); - on('update', onUpdate); - swiper.grid = { - initSlides, - unsetSlides, - updateSlide, - updateWrapperSize - }; -} - -export { Grid as default }; diff --git a/node_modules/swiper/modules/grid.scss b/node_modules/swiper/modules/grid.scss deleted file mode 100644 index 136cb65..0000000 --- a/node_modules/swiper/modules/grid.scss +++ /dev/null @@ -1,7 +0,0 @@ -.swiper-grid > .swiper-wrapper { - flex-wrap: wrap; -} -.swiper-grid-column > .swiper-wrapper { - flex-wrap: wrap; - flex-direction: column; -} diff --git a/node_modules/swiper/modules/hash-navigation-element.css b/node_modules/swiper/modules/hash-navigation-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/hash-navigation-element.min.css b/node_modules/swiper/modules/hash-navigation-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/hash-navigation.css b/node_modules/swiper/modules/hash-navigation.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/hash-navigation.less b/node_modules/swiper/modules/hash-navigation.less deleted file mode 100644 index be8912a..0000000 --- a/node_modules/swiper/modules/hash-navigation.less +++ /dev/null @@ -1,2 +0,0 @@ -@import url('../swiper-vars.less'); - diff --git a/node_modules/swiper/modules/hash-navigation.min.css b/node_modules/swiper/modules/hash-navigation.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/hash-navigation.min.mjs b/node_modules/swiper/modules/hash-navigation.min.mjs deleted file mode 100644 index 0c58eff..0000000 --- a/node_modules/swiper/modules/hash-navigation.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{g as getDocument,a as getWindow}from"../shared/ssr-window.esm.min.mjs";import{e as elementChildren}from"../shared/utils.min.mjs";function HashNavigation(a){let{swiper:e,extendParams:t,emit:s,on:i}=a,n=!1;const r=getDocument(),h=getWindow();t({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(a,t){if(e.virtual&&e.params.virtual.enabled){const a=e.slides.filter((a=>a.getAttribute("data-hash")===t))[0];if(!a)return 0;return parseInt(a.getAttribute("data-swiper-slide-index"),10)}return e.getSlideIndex(elementChildren(e.slidesEl,`.${e.params.slideClass}[data-hash="${t}"], swiper-slide[data-hash="${t}"]`)[0])}}});const d=()=>{s("hashChange");const a=r.location.hash.replace("#",""),t=e.virtual&&e.params.virtual.enabled?e.slidesEl.querySelector(`[data-swiper-slide-index="${e.activeIndex}"]`):e.slides[e.activeIndex];if(a!==(t?t.getAttribute("data-hash"):"")){const t=e.params.hashNavigation.getSlideIndex(e,a);if(void 0===t||Number.isNaN(t))return;e.slideTo(t)}},l=()=>{if(!n||!e.params.hashNavigation.enabled)return;const a=e.virtual&&e.params.virtual.enabled?e.slidesEl.querySelector(`[data-swiper-slide-index="${e.activeIndex}"]`):e.slides[e.activeIndex],t=a?a.getAttribute("data-hash")||a.getAttribute("data-history"):"";e.params.hashNavigation.replaceState&&h.history&&h.history.replaceState?(h.history.replaceState(null,null,`#${t}`||""),s("hashSet")):(r.location.hash=t||"",s("hashSet"))};i("init",(()=>{e.params.hashNavigation.enabled&&(()=>{if(!e.params.hashNavigation.enabled||e.params.history&&e.params.history.enabled)return;n=!0;const a=r.location.hash.replace("#","");if(a){const t=0,s=e.params.hashNavigation.getSlideIndex(e,a);e.slideTo(s||0,t,e.params.runCallbacksOnInit,!0)}e.params.hashNavigation.watchState&&h.addEventListener("hashchange",d)})()})),i("destroy",(()=>{e.params.hashNavigation.enabled&&e.params.hashNavigation.watchState&&h.removeEventListener("hashchange",d)})),i("transitionEnd _freeModeNoMomentumRelease",(()=>{n&&l()})),i("slideChange",(()=>{n&&e.params.cssMode&&l()}))}export{HashNavigation as default}; -//# sourceMappingURL=hash-navigation.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/hash-navigation.min.mjs.map b/node_modules/swiper/modules/hash-navigation.min.mjs.map deleted file mode 100644 index 373df60..0000000 --- a/node_modules/swiper/modules/hash-navigation.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"hash-navigation.mjs.mjs","names":["getDocument","getWindow","elementChildren","HashNavigation","_ref","swiper","extendParams","emit","on","initialized","document","window","hashNavigation","enabled","replaceState","watchState","getSlideIndex","_s","hash","virtual","params","slideWithHash","slides","filter","slideEl","getAttribute","parseInt","slidesEl","slideClass","onHashChange","newHash","location","replace","activeSlideEl","querySelector","activeIndex","newIndex","Number","isNaN","slideTo","setHash","activeSlideHash","history","speed","index","runCallbacksOnInit","addEventListener","init","removeEventListener","cssMode"],"sources":["0"],"mappings":"YAAcA,iBAAkBC,cAAiB,+CACnCC,oBAAuB,0BAErC,SAASC,eAAeC,GACtB,IAAIC,OACFA,EAAMC,aACNA,EAAYC,KACZA,EAAIC,GACJA,GACEJ,EACAK,GAAc,EAClB,MAAMC,EAAWV,cACXW,EAASV,YACfK,EAAa,CACXM,eAAgB,CACdC,SAAS,EACTC,cAAc,EACdC,YAAY,EACZ,aAAAC,CAAcC,EAAIC,GAChB,GAAIb,EAAOc,SAAWd,EAAOe,OAAOD,QAAQN,QAAS,CACnD,MAAMQ,EAAgBhB,EAAOiB,OAAOC,QAAOC,GAAWA,EAAQC,aAAa,eAAiBP,IAAM,GAClG,IAAKG,EAAe,OAAO,EAE3B,OADcK,SAASL,EAAcI,aAAa,2BAA4B,GAEhF,CACA,OAAOpB,EAAOW,cAAcd,gBAAgBG,EAAOsB,SAAU,IAAItB,EAAOe,OAAOQ,yBAAyBV,gCAAmCA,OAAU,GACvJ,KAGJ,MAAMW,EAAe,KACnBtB,EAAK,cACL,MAAMuB,EAAUpB,EAASqB,SAASb,KAAKc,QAAQ,IAAK,IAC9CC,EAAgB5B,EAAOc,SAAWd,EAAOe,OAAOD,QAAQN,QAAUR,EAAOsB,SAASO,cAAc,6BAA6B7B,EAAO8B,iBAAmB9B,EAAOiB,OAAOjB,EAAO8B,aAElL,GAAIL,KADoBG,EAAgBA,EAAcR,aAAa,aAAe,IACjD,CAC/B,MAAMW,EAAW/B,EAAOe,OAAOR,eAAeI,cAAcX,EAAQyB,GACpE,QAAwB,IAAbM,GAA4BC,OAAOC,MAAMF,GAAW,OAC/D/B,EAAOkC,QAAQH,EACjB,GAEII,EAAU,KACd,IAAK/B,IAAgBJ,EAAOe,OAAOR,eAAeC,QAAS,OAC3D,MAAMoB,EAAgB5B,EAAOc,SAAWd,EAAOe,OAAOD,QAAQN,QAAUR,EAAOsB,SAASO,cAAc,6BAA6B7B,EAAO8B,iBAAmB9B,EAAOiB,OAAOjB,EAAO8B,aAC5KM,EAAkBR,EAAgBA,EAAcR,aAAa,cAAgBQ,EAAcR,aAAa,gBAAkB,GAC5HpB,EAAOe,OAAOR,eAAeE,cAAgBH,EAAO+B,SAAW/B,EAAO+B,QAAQ5B,cAChFH,EAAO+B,QAAQ5B,aAAa,KAAM,KAAM,IAAI2B,KAAqB,IACjElC,EAAK,aAELG,EAASqB,SAASb,KAAOuB,GAAmB,GAC5ClC,EAAK,WACP,EAoBFC,EAAG,QAAQ,KACLH,EAAOe,OAAOR,eAAeC,SAnBtB,MACX,IAAKR,EAAOe,OAAOR,eAAeC,SAAWR,EAAOe,OAAOsB,SAAWrC,EAAOe,OAAOsB,QAAQ7B,QAAS,OACrGJ,GAAc,EACd,MAAMS,EAAOR,EAASqB,SAASb,KAAKc,QAAQ,IAAK,IACjD,GAAId,EAAM,CACR,MAAMyB,EAAQ,EACRC,EAAQvC,EAAOe,OAAOR,eAAeI,cAAcX,EAAQa,GACjEb,EAAOkC,QAAQK,GAAS,EAAGD,EAAOtC,EAAOe,OAAOyB,oBAAoB,EACtE,CACIxC,EAAOe,OAAOR,eAAeG,YAC/BJ,EAAOmC,iBAAiB,aAAcjB,EACxC,EASEkB,EACF,IAEFvC,EAAG,WAAW,KACRH,EAAOe,OAAOR,eAAeC,SAV7BR,EAAOe,OAAOR,eAAeG,YAC/BJ,EAAOqC,oBAAoB,aAAcnB,EAW3C,IAEFrB,EAAG,4CAA4C,KACzCC,GACF+B,GACF,IAEFhC,EAAG,eAAe,KACZC,GAAeJ,EAAOe,OAAO6B,SAC/BT,GACF,GAEJ,QAESrC"} \ No newline at end of file diff --git a/node_modules/swiper/modules/hash-navigation.mjs b/node_modules/swiper/modules/hash-navigation.mjs deleted file mode 100644 index cf33420..0000000 --- a/node_modules/swiper/modules/hash-navigation.mjs +++ /dev/null @@ -1,93 +0,0 @@ -import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs'; -import { e as elementChildren } from '../shared/utils.mjs'; - -function HashNavigation(_ref) { - let { - swiper, - extendParams, - emit, - on - } = _ref; - let initialized = false; - const document = getDocument(); - const window = getWindow(); - extendParams({ - hashNavigation: { - enabled: false, - replaceState: false, - watchState: false, - getSlideIndex(_s, hash) { - if (swiper.virtual && swiper.params.virtual.enabled) { - const slideWithHash = swiper.slides.filter(slideEl => slideEl.getAttribute('data-hash') === hash)[0]; - if (!slideWithHash) return 0; - const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10); - return index; - } - return swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0]); - } - } - }); - const onHashChange = () => { - emit('hashChange'); - const newHash = document.location.hash.replace('#', ''); - const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex]; - const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : ''; - if (newHash !== activeSlideHash) { - const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash); - if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return; - swiper.slideTo(newIndex); - } - }; - const setHash = () => { - if (!initialized || !swiper.params.hashNavigation.enabled) return; - const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex]; - const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : ''; - if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) { - window.history.replaceState(null, null, `#${activeSlideHash}` || ''); - emit('hashSet'); - } else { - document.location.hash = activeSlideHash || ''; - emit('hashSet'); - } - }; - const init = () => { - if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return; - initialized = true; - const hash = document.location.hash.replace('#', ''); - if (hash) { - const speed = 0; - const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash); - swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true); - } - if (swiper.params.hashNavigation.watchState) { - window.addEventListener('hashchange', onHashChange); - } - }; - const destroy = () => { - if (swiper.params.hashNavigation.watchState) { - window.removeEventListener('hashchange', onHashChange); - } - }; - on('init', () => { - if (swiper.params.hashNavigation.enabled) { - init(); - } - }); - on('destroy', () => { - if (swiper.params.hashNavigation.enabled) { - destroy(); - } - }); - on('transitionEnd _freeModeNoMomentumRelease', () => { - if (initialized) { - setHash(); - } - }); - on('slideChange', () => { - if (initialized && swiper.params.cssMode) { - setHash(); - } - }); -} - -export { HashNavigation as default }; diff --git a/node_modules/swiper/modules/hash-navigation.scss b/node_modules/swiper/modules/hash-navigation.scss deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/history-element.css b/node_modules/swiper/modules/history-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/history-element.min.css b/node_modules/swiper/modules/history-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/history.css b/node_modules/swiper/modules/history.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/history.less b/node_modules/swiper/modules/history.less deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/history.min.css b/node_modules/swiper/modules/history.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/history.min.mjs b/node_modules/swiper/modules/history.min.mjs deleted file mode 100644 index b88cbf9..0000000 --- a/node_modules/swiper/modules/history.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{a as getWindow}from"../shared/ssr-window.esm.min.mjs";function History(e){let{swiper:t,extendParams:a,on:s}=e;a({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let r=!1,i={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=getWindow();let a;a=e?new URL(e):t.location;const s=a.pathname.slice(1).split("/").filter((e=>""!==e)),r=s.length;return{key:s[r-2],value:s[r-1]}},n=(e,a)=>{const s=getWindow();if(!r||!t.params.history.enabled)return;let i;i=t.params.url?new URL(t.params.url):s.location;const o=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${a}"]`):t.slides[a];let n=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let a=t.params.history.root;"/"===a[a.length-1]&&(a=a.slice(0,a.length-1)),n=`${a}/${e?`${e}/`:""}${n}`}else i.pathname.includes(e)||(n=`${e?`${e}/`:""}${n}`);t.params.history.keepQuery&&(n+=i.search);const p=s.history.state;p&&p.value===n||(t.params.history.replaceState?s.history.replaceState({value:n},null,n):s.history.pushState({value:n},null,n))},p=(e,a,s)=>{if(a)for(let r=0,i=t.slides.length;r{i=o(t.params.url),p(t.params.speed,i.value,!1)};s("init",(()=>{t.params.history.enabled&&(()=>{const e=getWindow();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);r=!0,i=o(t.params.url),i.key||i.value?(p(0,i.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",d)):t.params.history.replaceState||e.addEventListener("popstate",d)}})()})),s("destroy",(()=>{t.params.history.enabled&&(()=>{const e=getWindow();t.params.history.replaceState||e.removeEventListener("popstate",d)})()})),s("transitionEnd _freeModeNoMomentumRelease",(()=>{r&&n(t.params.history.key,t.activeIndex)})),s("slideChange",(()=>{r&&t.params.cssMode&&n(t.params.history.key,t.activeIndex)}))}export{History as default}; -//# sourceMappingURL=history.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/history.min.mjs.map b/node_modules/swiper/modules/history.min.mjs.map deleted file mode 100644 index 821c584..0000000 --- a/node_modules/swiper/modules/history.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"history.mjs.mjs","names":["getWindow","History","_ref","swiper","extendParams","on","history","enabled","root","replaceState","key","keepQuery","initialized","paths","slugify","text","toString","replace","getPathValues","urlOverride","window","location","URL","pathArray","pathname","slice","split","filter","part","total","length","value","setHistory","index","params","url","slide","virtual","slidesEl","querySelector","slides","getAttribute","includes","search","currentState","state","pushState","scrollToSlide","speed","runCallbacks","i","getSlideIndex","slideTo","setHistoryPopState","hashNavigation","runCallbacksOnInit","addEventListener","init","removeEventListener","destroy","activeIndex","cssMode"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/history.mjs b/node_modules/swiper/modules/history.mjs deleted file mode 100644 index 466c8b8..0000000 --- a/node_modules/swiper/modules/history.mjs +++ /dev/null @@ -1,142 +0,0 @@ -import { a as getWindow } from '../shared/ssr-window.esm.mjs'; - -function History(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - history: { - enabled: false, - root: '', - replaceState: false, - key: 'slides', - keepQuery: false - } - }); - let initialized = false; - let paths = {}; - const slugify = text => { - return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, ''); - }; - const getPathValues = urlOverride => { - const window = getWindow(); - let location; - if (urlOverride) { - location = new URL(urlOverride); - } else { - location = window.location; - } - const pathArray = location.pathname.slice(1).split('/').filter(part => part !== ''); - const total = pathArray.length; - const key = pathArray[total - 2]; - const value = pathArray[total - 1]; - return { - key, - value - }; - }; - const setHistory = (key, index) => { - const window = getWindow(); - if (!initialized || !swiper.params.history.enabled) return; - let location; - if (swiper.params.url) { - location = new URL(swiper.params.url); - } else { - location = window.location; - } - const slide = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${index}"]`) : swiper.slides[index]; - let value = slugify(slide.getAttribute('data-history')); - if (swiper.params.history.root.length > 0) { - let root = swiper.params.history.root; - if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1); - value = `${root}/${key ? `${key}/` : ''}${value}`; - } else if (!location.pathname.includes(key)) { - value = `${key ? `${key}/` : ''}${value}`; - } - if (swiper.params.history.keepQuery) { - value += location.search; - } - const currentState = window.history.state; - if (currentState && currentState.value === value) { - return; - } - if (swiper.params.history.replaceState) { - window.history.replaceState({ - value - }, null, value); - } else { - window.history.pushState({ - value - }, null, value); - } - }; - const scrollToSlide = (speed, value, runCallbacks) => { - if (value) { - for (let i = 0, length = swiper.slides.length; i < length; i += 1) { - const slide = swiper.slides[i]; - const slideHistory = slugify(slide.getAttribute('data-history')); - if (slideHistory === value) { - const index = swiper.getSlideIndex(slide); - swiper.slideTo(index, speed, runCallbacks); - } - } - } else { - swiper.slideTo(0, speed, runCallbacks); - } - }; - const setHistoryPopState = () => { - paths = getPathValues(swiper.params.url); - scrollToSlide(swiper.params.speed, paths.value, false); - }; - const init = () => { - const window = getWindow(); - if (!swiper.params.history) return; - if (!window.history || !window.history.pushState) { - swiper.params.history.enabled = false; - swiper.params.hashNavigation.enabled = true; - return; - } - initialized = true; - paths = getPathValues(swiper.params.url); - if (!paths.key && !paths.value) { - if (!swiper.params.history.replaceState) { - window.addEventListener('popstate', setHistoryPopState); - } - return; - } - scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit); - if (!swiper.params.history.replaceState) { - window.addEventListener('popstate', setHistoryPopState); - } - }; - const destroy = () => { - const window = getWindow(); - if (!swiper.params.history.replaceState) { - window.removeEventListener('popstate', setHistoryPopState); - } - }; - on('init', () => { - if (swiper.params.history.enabled) { - init(); - } - }); - on('destroy', () => { - if (swiper.params.history.enabled) { - destroy(); - } - }); - on('transitionEnd _freeModeNoMomentumRelease', () => { - if (initialized) { - setHistory(swiper.params.history.key, swiper.activeIndex); - } - }); - on('slideChange', () => { - if (initialized && swiper.params.cssMode) { - setHistory(swiper.params.history.key, swiper.activeIndex); - } - }); -} - -export { History as default }; diff --git a/node_modules/swiper/modules/history.scss b/node_modules/swiper/modules/history.scss deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/index.min.mjs b/node_modules/swiper/modules/index.min.mjs deleted file mode 100644 index 41b89c3..0000000 --- a/node_modules/swiper/modules/index.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -export{default as Virtual}from"./virtual.min.mjs";export{default as Keyboard}from"./keyboard.min.mjs";export{default as Mousewheel}from"./mousewheel.min.mjs";export{default as Navigation}from"./navigation.min.mjs";export{default as Pagination}from"./pagination.min.mjs";export{default as Scrollbar}from"./scrollbar.min.mjs";export{default as Parallax}from"./parallax.min.mjs";export{default as Zoom}from"./zoom.min.mjs";export{default as Controller}from"./controller.min.mjs";export{default as A11y}from"./a11y.min.mjs";export{default as History}from"./history.min.mjs";export{default as HashNavigation}from"./hash-navigation.min.mjs";export{default as Autoplay}from"./autoplay.min.mjs";export{default as Thumbs}from"./thumbs.min.mjs";export{default as FreeMode}from"./free-mode.min.mjs";export{default as Grid}from"./grid.min.mjs";export{default as Manipulation}from"./manipulation.min.mjs";export{default as EffectFade}from"./effect-fade.min.mjs";export{default as EffectCube}from"./effect-cube.min.mjs";export{default as EffectFlip}from"./effect-flip.min.mjs";export{default as EffectCoverflow}from"./effect-coverflow.min.mjs";export{default as EffectCreative}from"./effect-creative.min.mjs";export{default as EffectCards}from"./effect-cards.min.mjs"; -//# sourceMappingURL=index.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/index.min.mjs.map b/node_modules/swiper/modules/index.min.mjs.map deleted file mode 100644 index 1492964..0000000 --- a/node_modules/swiper/modules/index.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.mjs.mjs","names":[],"sources":["0"],"mappings":"OAAQ,uBAAyB,2BACzB,wBAA0B,4BAC1B,0BAA4B,8BAC5B,0BAA4B,8BAC5B,0BAA4B,8BAC5B,yBAA2B,6BAC3B,wBAA0B,4BAC1B,oBAAsB,wBACtB,0BAA4B,8BAC5B,oBAAsB,wBACtB,uBAAyB,2BACzB,8BAAgC,mCAChC,wBAA0B,4BAC1B,sBAAwB,0BACxB,wBAA0B,6BAC1B,oBAAsB,wBACtB,4BAA8B,gCAC9B,0BAA4B,+BAC5B,0BAA4B,+BAC5B,0BAA4B,+BAC5B,+BAAiC,oCACjC,8BAAgC,mCAChC,2BAA6B"} \ No newline at end of file diff --git a/node_modules/swiper/modules/index.mjs b/node_modules/swiper/modules/index.mjs deleted file mode 100644 index 3186045..0000000 --- a/node_modules/swiper/modules/index.mjs +++ /dev/null @@ -1,23 +0,0 @@ -export {default as Virtual} from './virtual.mjs'; -export {default as Keyboard} from './keyboard.mjs'; -export {default as Mousewheel} from './mousewheel.mjs'; -export {default as Navigation} from './navigation.mjs'; -export {default as Pagination} from './pagination.mjs'; -export {default as Scrollbar} from './scrollbar.mjs'; -export {default as Parallax} from './parallax.mjs'; -export {default as Zoom} from './zoom.mjs'; -export {default as Controller} from './controller.mjs'; -export {default as A11y} from './a11y.mjs'; -export {default as History} from './history.mjs'; -export {default as HashNavigation} from './hash-navigation.mjs'; -export {default as Autoplay} from './autoplay.mjs'; -export {default as Thumbs} from './thumbs.mjs'; -export {default as FreeMode} from './free-mode.mjs'; -export {default as Grid} from './grid.mjs'; -export {default as Manipulation} from './manipulation.mjs'; -export {default as EffectFade} from './effect-fade.mjs'; -export {default as EffectCube} from './effect-cube.mjs'; -export {default as EffectFlip} from './effect-flip.mjs'; -export {default as EffectCoverflow} from './effect-coverflow.mjs'; -export {default as EffectCreative} from './effect-creative.mjs'; -export {default as EffectCards} from './effect-cards.mjs'; \ No newline at end of file diff --git a/node_modules/swiper/modules/keyboard-element.css b/node_modules/swiper/modules/keyboard-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/keyboard-element.min.css b/node_modules/swiper/modules/keyboard-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/keyboard.css b/node_modules/swiper/modules/keyboard.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/keyboard.less b/node_modules/swiper/modules/keyboard.less deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/keyboard.min.css b/node_modules/swiper/modules/keyboard.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/keyboard.min.mjs b/node_modules/swiper/modules/keyboard.min.mjs deleted file mode 100644 index f1d9d2d..0000000 --- a/node_modules/swiper/modules/keyboard.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{g as getDocument,a as getWindow}from"../shared/ssr-window.esm.min.mjs";import{a as elementParents,b as elementOffset}from"../shared/utils.min.mjs";function Keyboard(e){let{swiper:t,extendParams:n,on:a,emit:r}=e;const l=getDocument(),i=getWindow();function o(e){if(!t.enabled)return;const{rtlTranslate:n}=t;let a=e;a.originalEvent&&(a=a.originalEvent);const o=a.keyCode||a.charCode,s=t.params.keyboard.pageUpDown,d=s&&33===o,f=s&&34===o,m=37===o,b=39===o,c=38===o,p=40===o;if(!t.allowSlideNext&&(t.isHorizontal()&&b||t.isVertical()&&p||f))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&m||t.isVertical()&&c||d))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||l.activeElement&&l.activeElement.nodeName&&("input"===l.activeElement.nodeName.toLowerCase()||"textarea"===l.activeElement.nodeName.toLowerCase()))){if(t.params.keyboard.onlyInViewport&&(d||f||m||b||c||p)){let e=!1;if(elementParents(t.el,`.${t.params.slideClass}, swiper-slide`).length>0&&0===elementParents(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,r=a.clientWidth,l=a.clientHeight,o=i.innerWidth,s=i.innerHeight,d=elementOffset(a);n&&(d.left-=a.scrollLeft);const f=[[d.left,d.top],[d.left+r,d.top],[d.left,d.top+l],[d.left+r,d.top+l]];for(let t=0;t=0&&n[0]<=o&&n[1]>=0&&n[1]<=s){if(0===n[0]&&0===n[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||f||m||b)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((f||b)&&!n||(d||m)&&n)&&t.slideNext(),((d||m)&&!n||(f||b)&&n)&&t.slidePrev()):((d||f||c||p)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(f||p)&&t.slideNext(),(d||c)&&t.slidePrev()),r("keyPress",o)}}function s(){t.keyboard.enabled||(l.addEventListener("keydown",o),t.keyboard.enabled=!0)}function d(){t.keyboard.enabled&&(l.removeEventListener("keydown",o),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},n({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),a("init",(()=>{t.params.keyboard.enabled&&s()})),a("destroy",(()=>{t.keyboard.enabled&&d()})),Object.assign(t.keyboard,{enable:s,disable:d})}export{Keyboard as default}; -//# sourceMappingURL=keyboard.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/keyboard.min.mjs.map b/node_modules/swiper/modules/keyboard.min.mjs.map deleted file mode 100644 index 04ab4eb..0000000 --- a/node_modules/swiper/modules/keyboard.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"keyboard.mjs.mjs","names":["getDocument","getWindow","elementParents","elementOffset","Keyboard","_ref","swiper","extendParams","on","emit","document","window","handle","event","enabled","rtlTranslate","rtl","e","originalEvent","kc","keyCode","charCode","pageUpDown","params","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","allowSlideNext","isHorizontal","isVertical","allowSlidePrev","shiftKey","altKey","ctrlKey","metaKey","activeElement","nodeName","toLowerCase","onlyInViewport","inView","el","slideClass","length","slideActiveClass","swiperWidth","clientWidth","swiperHeight","clientHeight","windowWidth","innerWidth","windowHeight","innerHeight","swiperOffset","left","scrollLeft","swiperCoord","top","i","point","preventDefault","returnValue","slideNext","slidePrev","enable","addEventListener","disable","removeEventListener","Object","assign"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/keyboard.mjs b/node_modules/swiper/modules/keyboard.mjs deleted file mode 100644 index ba62a46..0000000 --- a/node_modules/swiper/modules/keyboard.mjs +++ /dev/null @@ -1,117 +0,0 @@ -import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs'; -import { a as elementParents, b as elementOffset } from '../shared/utils.mjs'; - -/* eslint-disable consistent-return */ -function Keyboard(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const document = getDocument(); - const window = getWindow(); - swiper.keyboard = { - enabled: false - }; - extendParams({ - keyboard: { - enabled: false, - onlyInViewport: true, - pageUpDown: true - } - }); - function handle(event) { - if (!swiper.enabled) return; - const { - rtlTranslate: rtl - } = swiper; - let e = event; - if (e.originalEvent) e = e.originalEvent; // jquery fix - const kc = e.keyCode || e.charCode; - const pageUpDown = swiper.params.keyboard.pageUpDown; - const isPageUp = pageUpDown && kc === 33; - const isPageDown = pageUpDown && kc === 34; - const isArrowLeft = kc === 37; - const isArrowRight = kc === 39; - const isArrowUp = kc === 38; - const isArrowDown = kc === 40; - // Directions locks - if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) { - return false; - } - if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) { - return false; - } - if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) { - return undefined; - } - if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) { - return undefined; - } - if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) { - let inView = false; - // Check that swiper should be inside of visible area of window - if (elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) { - return undefined; - } - const el = swiper.el; - const swiperWidth = el.clientWidth; - const swiperHeight = el.clientHeight; - const windowWidth = window.innerWidth; - const windowHeight = window.innerHeight; - const swiperOffset = elementOffset(el); - if (rtl) swiperOffset.left -= el.scrollLeft; - const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]]; - for (let i = 0; i < swiperCoord.length; i += 1) { - const point = swiperCoord[i]; - if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) { - if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line - inView = true; - } - } - if (!inView) return undefined; - } - if (swiper.isHorizontal()) { - if (isPageUp || isPageDown || isArrowLeft || isArrowRight) { - if (e.preventDefault) e.preventDefault();else e.returnValue = false; - } - if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext(); - if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev(); - } else { - if (isPageUp || isPageDown || isArrowUp || isArrowDown) { - if (e.preventDefault) e.preventDefault();else e.returnValue = false; - } - if (isPageDown || isArrowDown) swiper.slideNext(); - if (isPageUp || isArrowUp) swiper.slidePrev(); - } - emit('keyPress', kc); - return undefined; - } - function enable() { - if (swiper.keyboard.enabled) return; - document.addEventListener('keydown', handle); - swiper.keyboard.enabled = true; - } - function disable() { - if (!swiper.keyboard.enabled) return; - document.removeEventListener('keydown', handle); - swiper.keyboard.enabled = false; - } - on('init', () => { - if (swiper.params.keyboard.enabled) { - enable(); - } - }); - on('destroy', () => { - if (swiper.keyboard.enabled) { - disable(); - } - }); - Object.assign(swiper.keyboard, { - enable, - disable - }); -} - -export { Keyboard as default }; diff --git a/node_modules/swiper/modules/keyboard.scss b/node_modules/swiper/modules/keyboard.scss deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/manipulation-element.css b/node_modules/swiper/modules/manipulation-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/manipulation-element.min.css b/node_modules/swiper/modules/manipulation-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/manipulation.css b/node_modules/swiper/modules/manipulation.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/manipulation.less b/node_modules/swiper/modules/manipulation.less deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/manipulation.min.css b/node_modules/swiper/modules/manipulation.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/manipulation.min.mjs b/node_modules/swiper/modules/manipulation.min.mjs deleted file mode 100644 index 1b7832f..0000000 --- a/node_modules/swiper/modules/manipulation.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -function appendSlide(e){const l=this,{params:o,slidesEl:i}=l;o.loop&&l.loopDestroy();const t=e=>{if("string"==typeof e){const l=document.createElement("div");l.innerHTML=e,i.append(l.children[0]),l.innerHTML=""}else i.append(e)};if("object"==typeof e&&"length"in e)for(let l=0;l{if("string"==typeof e){const l=document.createElement("div");l.innerHTML=e,t.prepend(l.children[0]),l.innerHTML=""}else t.prepend(e)};if("object"==typeof e&&"length"in e){for(let l=0;l=s)return void o.appendSlide(l);let p=d>e?d+1:d;const r=[];for(let l=s-1;l>=e;l-=1){const e=o.slides[l];e.remove(),r.unshift(e)}if("object"==typeof l&&"length"in l){for(let e=0;ee?d+l.length:d}else n.append(l);for(let e=0;e { - if (typeof slideEl === 'string') { - const tempDOM = document.createElement('div'); - tempDOM.innerHTML = slideEl; - slidesEl.append(tempDOM.children[0]); - tempDOM.innerHTML = ''; - } else { - slidesEl.append(slideEl); - } - }; - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) appendElement(slides[i]); - } - } else { - appendElement(slides); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } -} - -function prependSlide(slides) { - const swiper = this; - const { - params, - activeIndex, - slidesEl - } = swiper; - if (params.loop) { - swiper.loopDestroy(); - } - let newActiveIndex = activeIndex + 1; - const prependElement = slideEl => { - if (typeof slideEl === 'string') { - const tempDOM = document.createElement('div'); - tempDOM.innerHTML = slideEl; - slidesEl.prepend(tempDOM.children[0]); - tempDOM.innerHTML = ''; - } else { - slidesEl.prepend(slideEl); - } - }; - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) prependElement(slides[i]); - } - newActiveIndex = activeIndex + slides.length; - } else { - prependElement(slides); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - swiper.slideTo(newActiveIndex, 0, false); -} - -function addSlide(index, slides) { - const swiper = this; - const { - params, - activeIndex, - slidesEl - } = swiper; - let activeIndexBuffer = activeIndex; - if (params.loop) { - activeIndexBuffer -= swiper.loopedSlides; - swiper.loopDestroy(); - swiper.recalcSlides(); - } - const baseLength = swiper.slides.length; - if (index <= 0) { - swiper.prependSlide(slides); - return; - } - if (index >= baseLength) { - swiper.appendSlide(slides); - return; - } - let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer; - const slidesBuffer = []; - for (let i = baseLength - 1; i >= index; i -= 1) { - const currentSlide = swiper.slides[i]; - currentSlide.remove(); - slidesBuffer.unshift(currentSlide); - } - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) slidesEl.append(slides[i]); - } - newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer; - } else { - slidesEl.append(slides); - } - for (let i = 0; i < slidesBuffer.length; i += 1) { - slidesEl.append(slidesBuffer[i]); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - if (params.loop) { - swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); - } else { - swiper.slideTo(newActiveIndex, 0, false); - } -} - -function removeSlide(slidesIndexes) { - const swiper = this; - const { - params, - activeIndex - } = swiper; - let activeIndexBuffer = activeIndex; - if (params.loop) { - activeIndexBuffer -= swiper.loopedSlides; - swiper.loopDestroy(); - } - let newActiveIndex = activeIndexBuffer; - let indexToRemove; - if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) { - for (let i = 0; i < slidesIndexes.length; i += 1) { - indexToRemove = slidesIndexes[i]; - if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove(); - if (indexToRemove < newActiveIndex) newActiveIndex -= 1; - } - newActiveIndex = Math.max(newActiveIndex, 0); - } else { - indexToRemove = slidesIndexes; - if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove(); - if (indexToRemove < newActiveIndex) newActiveIndex -= 1; - newActiveIndex = Math.max(newActiveIndex, 0); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - if (params.loop) { - swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); - } else { - swiper.slideTo(newActiveIndex, 0, false); - } -} - -function removeAllSlides() { - const swiper = this; - const slidesIndexes = []; - for (let i = 0; i < swiper.slides.length; i += 1) { - slidesIndexes.push(i); - } - swiper.removeSlide(slidesIndexes); -} - -function Manipulation(_ref) { - let { - swiper - } = _ref; - Object.assign(swiper, { - appendSlide: appendSlide.bind(swiper), - prependSlide: prependSlide.bind(swiper), - addSlide: addSlide.bind(swiper), - removeSlide: removeSlide.bind(swiper), - removeAllSlides: removeAllSlides.bind(swiper) - }); -} - -export { Manipulation as default }; diff --git a/node_modules/swiper/modules/manipulation.scss b/node_modules/swiper/modules/manipulation.scss deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/mousewheel-element.css b/node_modules/swiper/modules/mousewheel-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/mousewheel-element.min.css b/node_modules/swiper/modules/mousewheel-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/mousewheel.css b/node_modules/swiper/modules/mousewheel.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/mousewheel.less b/node_modules/swiper/modules/mousewheel.less deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/mousewheel.min.css b/node_modules/swiper/modules/mousewheel.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/mousewheel.min.mjs b/node_modules/swiper/modules/mousewheel.min.mjs deleted file mode 100644 index 312e9b6..0000000 --- a/node_modules/swiper/modules/mousewheel.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{a as getWindow}from"../shared/ssr-window.esm.min.mjs";import{n as nextTick,d as now}from"../shared/utils.min.mjs";function Mousewheel(e){let{swiper:t,extendParams:a,on:s,emit:n}=e;const l=getWindow();let i;a({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let r,o=now();const d=[];function m(){t.enabled&&(t.mouseEntered=!0)}function p(){t.enabled&&(t.mouseEntered=!1)}function u(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&now()-o<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),n("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),n("scroll",e.raw)),o=(new l.Date).getTime(),!1)))}function h(e){let a=e,s=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const l=t.params.mousewheel;t.params.cssMode&&a.preventDefault();let o=t.el;"container"!==t.params.mousewheel.eventsTarget&&(o=document.querySelector(t.params.mousewheel.eventsTarget));const m=o&&o.contains(a.target);if(!t.mouseEntered&&!m&&!l.releaseOnEdges)return!0;a.originalEvent&&(a=a.originalEvent);let p=0;const h=t.rtlTranslate?-1:1,c=function(e){let t=0,a=0,s=0,n=0;return"detail"in e&&(a=e.detail),"wheelDelta"in e&&(a=-e.wheelDelta/120),"wheelDeltaY"in e&&(a=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=a,a=0),s=10*t,n=10*a,"deltaY"in e&&(n=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=n,n=0),(s||n)&&e.deltaMode&&(1===e.deltaMode?(s*=40,n*=40):(s*=800,n*=800)),s&&!t&&(t=s<1?-1:1),n&&!a&&(a=n<1?-1:1),{spinX:t,spinY:a,pixelX:s,pixelY:n}}(a);if(l.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(c.pixelX)>Math.abs(c.pixelY)))return!0;p=-c.pixelX*h}else{if(!(Math.abs(c.pixelY)>Math.abs(c.pixelX)))return!0;p=-c.pixelY}else p=Math.abs(c.pixelX)>Math.abs(c.pixelY)?-c.pixelX*h:-c.pixelY;if(0===p)return!0;l.invert&&(p=-p);let w=t.getTranslate()+p*l.sensitivity;if(w>=t.minTranslate()&&(w=t.minTranslate()),w<=t.maxTranslate()&&(w=t.maxTranslate()),s=!!t.params.loop||!(w===t.minTranslate()||w===t.maxTranslate()),s&&t.params.nested&&a.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:now(),delta:Math.abs(p),direction:Math.sign(p)},s=r&&e.time=t.minTranslate()&&(o=t.minTranslate()),o<=t.maxTranslate()&&(o=t.maxTranslate()),t.setTransition(0),t.setTranslate(o),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!m&&t.isBeginning||!u&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(i),i=void 0,d.length>=15&&d.shift();const a=d.length?d[d.length-1]:void 0,s=d[0];if(d.push(e),a&&(e.delta>a.delta||e.direction!==a.direction))d.splice(0);else if(d.length>=15&&e.time-s.time<500&&s.delta-e.delta>=1&&e.delta<=6){const a=p>0?.8:.2;r=e,d.splice(0),i=nextTick((()=>{t.slideToClosest(t.params.speed,!0,void 0,a)}),0)}i||(i=nextTick((()=>{r=e,d.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(s||n("scroll",a),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),l.releaseOnEdges&&(o===t.minTranslate()||o===t.maxTranslate()))return!0}}else{const a={time:now(),delta:Math.abs(p),direction:Math.sign(p),raw:e};d.length>=2&&d.shift();const s=d.length?d[d.length-1]:void 0;if(d.push(a),s?(a.direction!==s.direction||a.delta>s.delta||a.time>s.time+150)&&u(a):u(a),function(e){const a=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&a.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&a.releaseOnEdges)return!0;return!1}(a))return!0}return a.preventDefault?a.preventDefault():a.returnValue=!1,!1}function c(e){let a=t.el;"container"!==t.params.mousewheel.eventsTarget&&(a=document.querySelector(t.params.mousewheel.eventsTarget)),a[e]("mouseenter",m),a[e]("mouseleave",p),a[e]("wheel",h)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",h),!0):!t.mousewheel.enabled&&(c("addEventListener"),t.mousewheel.enabled=!0,!0)}function f(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,h),!0):!!t.mousewheel.enabled&&(c("removeEventListener"),t.mousewheel.enabled=!1,!0)}s("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&f(),t.params.mousewheel.enabled&&w()})),s("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&f()})),Object.assign(t.mousewheel,{enable:w,disable:f})}export{Mousewheel as default}; -//# sourceMappingURL=mousewheel.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/mousewheel.min.mjs.map b/node_modules/swiper/modules/mousewheel.min.mjs.map deleted file mode 100644 index 678fdba..0000000 --- a/node_modules/swiper/modules/mousewheel.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mousewheel.mjs.mjs","names":["getWindow","nextTick","now","Mousewheel","_ref","swiper","extendParams","on","emit","window","timeout","mousewheel","enabled","releaseOnEdges","invert","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","noMousewheelClass","lastEventBeforeSnap","lastScrollTime","recentWheelEvents","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","params","delta","direction","isEnd","loop","animating","slideNext","raw","isBeginning","slidePrev","Date","getTime","handle","event","e","disableParentSwiper","target","closest","cssMode","preventDefault","targetEl","el","document","querySelector","targetElContainsTarget","contains","originalEvent","rtlFactor","rtlTranslate","data","sX","sY","pX","pY","detail","wheelDelta","wheelDeltaY","wheelDeltaX","axis","HORIZONTAL_AXIS","deltaY","deltaX","shiftKey","deltaMode","spinX","spinY","pixelX","pixelY","normalize","isHorizontal","Math","abs","positions","getTranslate","minTranslate","maxTranslate","nested","stopPropagation","freeMode","time","sign","ignoreWheelEvents","undefined","position","wasBeginning","wasEnd","setTransition","setTranslate","updateProgress","updateActiveIndex","updateSlidesClasses","loopFix","byMousewheel","sticky","clearTimeout","length","shift","prevEvent","firstEvent","push","splice","snapToThreshold","slideToClosest","speed","autoplay","autoplayDisableOnInteraction","stop","releaseScroll","returnValue","events","method","enable","wrapperEl","removeEventListener","disable","addEventListener","Object","assign"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/mousewheel.mjs b/node_modules/swiper/modules/mousewheel.mjs deleted file mode 100644 index 28c4d2e..0000000 --- a/node_modules/swiper/modules/mousewheel.mjs +++ /dev/null @@ -1,393 +0,0 @@ -import { a as getWindow } from '../shared/ssr-window.esm.mjs'; -import { n as nextTick, d as now } from '../shared/utils.mjs'; - -/* eslint-disable consistent-return */ -function Mousewheel(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const window = getWindow(); - extendParams({ - mousewheel: { - enabled: false, - releaseOnEdges: false, - invert: false, - forceToAxis: false, - sensitivity: 1, - eventsTarget: 'container', - thresholdDelta: null, - thresholdTime: null, - noMousewheelClass: 'swiper-no-mousewheel' - } - }); - swiper.mousewheel = { - enabled: false - }; - let timeout; - let lastScrollTime = now(); - let lastEventBeforeSnap; - const recentWheelEvents = []; - function normalize(e) { - // Reasonable defaults - const PIXEL_STEP = 10; - const LINE_HEIGHT = 40; - const PAGE_HEIGHT = 800; - let sX = 0; - let sY = 0; // spinX, spinY - let pX = 0; - let pY = 0; // pixelX, pixelY - - // Legacy - if ('detail' in e) { - sY = e.detail; - } - if ('wheelDelta' in e) { - sY = -e.wheelDelta / 120; - } - if ('wheelDeltaY' in e) { - sY = -e.wheelDeltaY / 120; - } - if ('wheelDeltaX' in e) { - sX = -e.wheelDeltaX / 120; - } - - // side scrolling on FF with DOMMouseScroll - if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) { - sX = sY; - sY = 0; - } - pX = sX * PIXEL_STEP; - pY = sY * PIXEL_STEP; - if ('deltaY' in e) { - pY = e.deltaY; - } - if ('deltaX' in e) { - pX = e.deltaX; - } - if (e.shiftKey && !pX) { - // if user scrolls with shift he wants horizontal scroll - pX = pY; - pY = 0; - } - if ((pX || pY) && e.deltaMode) { - if (e.deltaMode === 1) { - // delta in LINE units - pX *= LINE_HEIGHT; - pY *= LINE_HEIGHT; - } else { - // delta in PAGE units - pX *= PAGE_HEIGHT; - pY *= PAGE_HEIGHT; - } - } - - // Fall-back if spin cannot be determined - if (pX && !sX) { - sX = pX < 1 ? -1 : 1; - } - if (pY && !sY) { - sY = pY < 1 ? -1 : 1; - } - return { - spinX: sX, - spinY: sY, - pixelX: pX, - pixelY: pY - }; - } - function handleMouseEnter() { - if (!swiper.enabled) return; - swiper.mouseEntered = true; - } - function handleMouseLeave() { - if (!swiper.enabled) return; - swiper.mouseEntered = false; - } - function animateSlider(newEvent) { - if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) { - // Prevent if delta of wheel scroll delta is below configured threshold - return false; - } - if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) { - // Prevent if time between scrolls is below configured threshold - return false; - } - - // If the movement is NOT big enough and - // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider): - // Don't go any further (avoid insignificant scroll movement). - if (newEvent.delta >= 6 && now() - lastScrollTime < 60) { - // Return false as a default - return true; - } - // If user is scrolling towards the end: - // If the slider hasn't hit the latest slide or - // if the slider is a loop and - // if the slider isn't moving right now: - // Go to next slide and - // emit a scroll event. - // Else (the user is scrolling towards the beginning) and - // if the slider hasn't hit the first slide or - // if the slider is a loop and - // if the slider isn't moving right now: - // Go to prev slide and - // emit a scroll event. - if (newEvent.direction < 0) { - if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) { - swiper.slideNext(); - emit('scroll', newEvent.raw); - } - } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) { - swiper.slidePrev(); - emit('scroll', newEvent.raw); - } - // If you got here is because an animation has been triggered so store the current time - lastScrollTime = new window.Date().getTime(); - // Return false as a default - return false; - } - function releaseScroll(newEvent) { - const params = swiper.params.mousewheel; - if (newEvent.direction < 0) { - if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) { - // Return true to animate scroll on edges - return true; - } - } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) { - // Return true to animate scroll on edges - return true; - } - return false; - } - function handle(event) { - let e = event; - let disableParentSwiper = true; - if (!swiper.enabled) return; - - // Ignore event if the target or its parents have the swiper-no-mousewheel class - if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return; - const params = swiper.params.mousewheel; - if (swiper.params.cssMode) { - e.preventDefault(); - } - let targetEl = swiper.el; - if (swiper.params.mousewheel.eventsTarget !== 'container') { - targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget); - } - const targetElContainsTarget = targetEl && targetEl.contains(e.target); - if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true; - if (e.originalEvent) e = e.originalEvent; // jquery fix - let delta = 0; - const rtlFactor = swiper.rtlTranslate ? -1 : 1; - const data = normalize(e); - if (params.forceToAxis) { - if (swiper.isHorizontal()) { - if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true; - } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true; - } else { - delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY; - } - if (delta === 0) return true; - if (params.invert) delta = -delta; - - // Get the scroll positions - let positions = swiper.getTranslate() + delta * params.sensitivity; - if (positions >= swiper.minTranslate()) positions = swiper.minTranslate(); - if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); - - // When loop is true: - // the disableParentSwiper will be true. - // When loop is false: - // if the scroll positions is not on edge, - // then the disableParentSwiper will be true. - // if the scroll on edge positions, - // then the disableParentSwiper will be false. - disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate()); - if (disableParentSwiper && swiper.params.nested) e.stopPropagation(); - if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) { - // Register the new event in a variable which stores the relevant data - const newEvent = { - time: now(), - delta: Math.abs(delta), - direction: Math.sign(delta), - raw: event - }; - - // Keep the most recent events - if (recentWheelEvents.length >= 2) { - recentWheelEvents.shift(); // only store the last N events - } - - const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; - recentWheelEvents.push(newEvent); - - // If there is at least one previous recorded event: - // If direction has changed or - // if the scroll is quicker than the previous one: - // Animate the slider. - // Else (this is the first time the wheel is moved): - // Animate the slider. - if (prevEvent) { - if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) { - animateSlider(newEvent); - } - } else { - animateSlider(newEvent); - } - - // If it's time to release the scroll: - // Return now so you don't hit the preventDefault. - if (releaseScroll(newEvent)) { - return true; - } - } else { - // Freemode or scrollContainer: - - // If we recently snapped after a momentum scroll, then ignore wheel events - // to give time for the deceleration to finish. Stop ignoring after 500 msecs - // or if it's a new scroll (larger delta or inverse sign as last event before - // an end-of-momentum snap). - const newEvent = { - time: now(), - delta: Math.abs(delta), - direction: Math.sign(delta) - }; - const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction; - if (!ignoreWheelEvents) { - lastEventBeforeSnap = undefined; - let position = swiper.getTranslate() + delta * params.sensitivity; - const wasBeginning = swiper.isBeginning; - const wasEnd = swiper.isEnd; - if (position >= swiper.minTranslate()) position = swiper.minTranslate(); - if (position <= swiper.maxTranslate()) position = swiper.maxTranslate(); - swiper.setTransition(0); - swiper.setTranslate(position); - swiper.updateProgress(); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) { - swiper.updateSlidesClasses(); - } - if (swiper.params.loop) { - swiper.loopFix({ - direction: newEvent.direction < 0 ? 'next' : 'prev', - byMousewheel: true - }); - } - if (swiper.params.freeMode.sticky) { - // When wheel scrolling starts with sticky (aka snap) enabled, then detect - // the end of a momentum scroll by storing recent (N=15?) wheel events. - // 1. do all N events have decreasing or same (absolute value) delta? - // 2. did all N events arrive in the last M (M=500?) msecs? - // 3. does the earliest event have an (absolute value) delta that's - // at least P (P=1?) larger than the most recent event's delta? - // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels? - // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration. - // Snap immediately and ignore remaining wheel events in this scroll. - // See comment above for "remaining wheel events in this scroll" determination. - // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event. - clearTimeout(timeout); - timeout = undefined; - if (recentWheelEvents.length >= 15) { - recentWheelEvents.shift(); // only store the last N events - } - - const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; - const firstEvent = recentWheelEvents[0]; - recentWheelEvents.push(newEvent); - if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) { - // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log. - recentWheelEvents.splice(0); - } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) { - // We're at the end of the deceleration of a momentum scroll, so there's no need - // to wait for more events. Snap ASAP on the next tick. - // Also, because there's some remaining momentum we'll bias the snap in the - // direction of the ongoing scroll because it's better UX for the scroll to snap - // in the same direction as the scroll instead of reversing to snap. Therefore, - // if it's already scrolled more than 20% in the current direction, keep going. - const snapToThreshold = delta > 0 ? 0.8 : 0.2; - lastEventBeforeSnap = newEvent; - recentWheelEvents.splice(0); - timeout = nextTick(() => { - swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); - }, 0); // no delay; move on next tick - } - - if (!timeout) { - // if we get here, then we haven't detected the end of a momentum scroll, so - // we'll consider a scroll "complete" when there haven't been any wheel events - // for 500ms. - timeout = nextTick(() => { - const snapToThreshold = 0.5; - lastEventBeforeSnap = newEvent; - recentWheelEvents.splice(0); - swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); - }, 500); - } - } - - // Emit event - if (!ignoreWheelEvents) emit('scroll', e); - - // Stop autoplay - if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); - // Return page scroll on edge positions - if (params.releaseOnEdges && (position === swiper.minTranslate() || position === swiper.maxTranslate())) { - return true; - } - } - } - if (e.preventDefault) e.preventDefault();else e.returnValue = false; - return false; - } - function events(method) { - let targetEl = swiper.el; - if (swiper.params.mousewheel.eventsTarget !== 'container') { - targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget); - } - targetEl[method]('mouseenter', handleMouseEnter); - targetEl[method]('mouseleave', handleMouseLeave); - targetEl[method]('wheel', handle); - } - function enable() { - if (swiper.params.cssMode) { - swiper.wrapperEl.removeEventListener('wheel', handle); - return true; - } - if (swiper.mousewheel.enabled) return false; - events('addEventListener'); - swiper.mousewheel.enabled = true; - return true; - } - function disable() { - if (swiper.params.cssMode) { - swiper.wrapperEl.addEventListener(event, handle); - return true; - } - if (!swiper.mousewheel.enabled) return false; - events('removeEventListener'); - swiper.mousewheel.enabled = false; - return true; - } - on('init', () => { - if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) { - disable(); - } - if (swiper.params.mousewheel.enabled) enable(); - }); - on('destroy', () => { - if (swiper.params.cssMode) { - enable(); - } - if (swiper.mousewheel.enabled) disable(); - }); - Object.assign(swiper.mousewheel, { - enable, - disable - }); -} - -export { Mousewheel as default }; diff --git a/node_modules/swiper/modules/mousewheel.scss b/node_modules/swiper/modules/mousewheel.scss deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/navigation-element.css b/node_modules/swiper/modules/navigation-element.css deleted file mode 100644 index 46a2918..0000000 --- a/node_modules/swiper/modules/navigation-element.css +++ /dev/null @@ -1,63 +0,0 @@ -:host { - --swiper-navigation-size: 44px; - /* - --swiper-navigation-top-offset: 50%; - --swiper-navigation-sides-offset: 10px; - --swiper-navigation-color: var(--swiper-theme-color); - */ -} -.swiper-button-prev, -.swiper-button-next { - position: absolute; - top: var(--swiper-navigation-top-offset, 50%); - width: calc(var(--swiper-navigation-size) / 44 * 27); - height: var(--swiper-navigation-size); - margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); - z-index: 10; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - color: var(--swiper-navigation-color, var(--swiper-theme-color)); -} -.swiper-button-prev.swiper-button-disabled, -.swiper-button-next.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; -} -.swiper-button-prev.swiper-button-hidden, -.swiper-button-next.swiper-button-hidden { - opacity: 0; - cursor: auto; - pointer-events: none; -} -.swiper-navigation-disabled .swiper-button-prev, -.swiper-navigation-disabled .swiper-button-next { - display: none !important; -} -.swiper-button-prev svg, -.swiper-button-next svg { - width: 100%; - height: 100%; - object-fit: contain; - transform-origin: center; -} -.swiper-rtl .swiper-button-prev svg, -.swiper-rtl .swiper-button-next svg { - transform: rotate(180deg); -} -.swiper-button-prev, -.swiper-rtl .swiper-button-next { - left: var(--swiper-navigation-sides-offset, 10px); - right: auto; -} -.swiper-button-next, -.swiper-rtl .swiper-button-prev { - right: var(--swiper-navigation-sides-offset, 10px); - left: auto; -} -.swiper-button-lock { - display: none; -} -/* Navigation font start *//* Navigation font end */ diff --git a/node_modules/swiper/modules/navigation-element.min.css b/node_modules/swiper/modules/navigation-element.min.css deleted file mode 100644 index 70d1870..0000000 --- a/node_modules/swiper/modules/navigation-element.min.css +++ /dev/null @@ -1 +0,0 @@ -:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none} \ No newline at end of file diff --git a/node_modules/swiper/modules/navigation.css b/node_modules/swiper/modules/navigation.css deleted file mode 100644 index a287b8a..0000000 --- a/node_modules/swiper/modules/navigation.css +++ /dev/null @@ -1,86 +0,0 @@ -:root { - --swiper-navigation-size: 44px; - /* - --swiper-navigation-top-offset: 50%; - --swiper-navigation-sides-offset: 10px; - --swiper-navigation-color: var(--swiper-theme-color); - */ -} -.swiper-button-prev, -.swiper-button-next { - position: absolute; - top: var(--swiper-navigation-top-offset, 50%); - width: calc(var(--swiper-navigation-size) / 44 * 27); - height: var(--swiper-navigation-size); - margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); - z-index: 10; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - color: var(--swiper-navigation-color, var(--swiper-theme-color)); -} -.swiper-button-prev.swiper-button-disabled, -.swiper-button-next.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; -} -.swiper-button-prev.swiper-button-hidden, -.swiper-button-next.swiper-button-hidden { - opacity: 0; - cursor: auto; - pointer-events: none; -} -.swiper-navigation-disabled .swiper-button-prev, -.swiper-navigation-disabled .swiper-button-next { - display: none !important; -} -.swiper-button-prev svg, -.swiper-button-next svg { - width: 100%; - height: 100%; - object-fit: contain; - transform-origin: center; -} -.swiper-rtl .swiper-button-prev svg, -.swiper-rtl .swiper-button-next svg { - transform: rotate(180deg); -} -.swiper-button-prev, -.swiper-rtl .swiper-button-next { - left: var(--swiper-navigation-sides-offset, 10px); - right: auto; -} -.swiper-button-next, -.swiper-rtl .swiper-button-prev { - right: var(--swiper-navigation-sides-offset, 10px); - left: auto; -} -.swiper-button-lock { - display: none; -} -/* Navigation font start */ -.swiper-button-prev:after, -.swiper-button-next:after { - font-family: swiper-icons; - font-size: var(--swiper-navigation-size); - text-transform: none !important; - letter-spacing: 0; - font-variant: initial; - line-height: 1; -} -.swiper-button-prev:after, -.swiper-rtl .swiper-button-next:after { - content: 'prev'; -} -.swiper-button-next, -.swiper-rtl .swiper-button-prev { - right: var(--swiper-navigation-sides-offset, 10px); - left: auto; -} -.swiper-button-next:after, -.swiper-rtl .swiper-button-prev:after { - content: 'next'; -} -/* Navigation font end */ diff --git a/node_modules/swiper/modules/navigation.less b/node_modules/swiper/modules/navigation.less deleted file mode 100644 index 5243fe6..0000000 --- a/node_modules/swiper/modules/navigation.less +++ /dev/null @@ -1,86 +0,0 @@ -@import url('../swiper-vars.less'); - -:root { - --swiper-navigation-size: 44px; - /* - --swiper-navigation-top-offset: 50%; - --swiper-navigation-sides-offset: 10px; - --swiper-navigation-color: var(--swiper-theme-color); - */ -} -.swiper-button-prev, -.swiper-button-next { - position: absolute; - top: var(--swiper-navigation-top-offset, 50%); - width: calc(var(--swiper-navigation-size) / 44 * 27); - height: var(--swiper-navigation-size); - margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); - z-index: 10; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - color: var(--swiper-navigation-color, var(--swiper-theme-color)); - &.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; - } - &.swiper-button-hidden { - opacity: 0; - cursor: auto; - pointer-events: none; - } - .swiper-navigation-disabled & { - display: none !important; - } - svg { - width: 100%; - height: 100%; - object-fit: contain; - transform-origin: center; - } - .swiper-rtl & svg { - transform: rotate(180deg); - } -} -.swiper-button-prev, -.swiper-rtl .swiper-button-next { - left: var(--swiper-navigation-sides-offset, 10px); - right: auto; -} -.swiper-button-next, -.swiper-rtl .swiper-button-prev { - right: var(--swiper-navigation-sides-offset, 10px); - left: auto; -} -.swiper-button-lock { - display: none; -} -/* Navigation font start */ -.swiper-button-prev, -.swiper-button-next { - &:after { - font-family: swiper-icons; - font-size: var(--swiper-navigation-size); - text-transform: none !important; - letter-spacing: 0; - font-variant: initial; - line-height: 1; - } -} -.swiper-button-prev, -.swiper-rtl .swiper-button-next { - &:after { - content: 'prev'; - } -} -.swiper-button-next, -.swiper-rtl .swiper-button-prev { - &:after { - content: 'next'; - } - right: var(--swiper-navigation-sides-offset, 10px); - left: auto; -} -/* Navigation font end */ diff --git a/node_modules/swiper/modules/navigation.min.css b/node_modules/swiper/modules/navigation.min.css deleted file mode 100644 index d93c5d8..0000000 --- a/node_modules/swiper/modules/navigation.min.css +++ /dev/null @@ -1 +0,0 @@ -:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'} \ No newline at end of file diff --git a/node_modules/swiper/modules/navigation.min.mjs b/node_modules/swiper/modules/navigation.min.mjs deleted file mode 100644 index 5fb5c2f..0000000 --- a/node_modules/swiper/modules/navigation.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{c as createElementIfNotDefined}from"../shared/create-element-if-not-defined.min.mjs";import{m as makeElementsArray}from"../shared/utils.min.mjs";function Navigation(a){let{swiper:e,extendParams:n,on:i,emit:t}=a;function s(a){let n;return a&&"string"==typeof a&&e.isElement&&(n=e.el.querySelector(a),n)?n:(a&&("string"==typeof a&&(n=[...document.querySelectorAll(a)]),e.params.uniqueNavElements&&"string"==typeof a&&n&&n.length>1&&1===e.el.querySelectorAll(a).length?n=e.el.querySelector(a):n&&1===n.length&&(n=n[0])),a&&!n?a:n)}function l(a,n){const i=e.params.navigation;(a=makeElementsArray(a)).forEach((a=>{a&&(a.classList[n?"add":"remove"](...i.disabledClass.split(" ")),"BUTTON"===a.tagName&&(a.disabled=n),e.params.watchOverflow&&e.enabled&&a.classList[e.isLocked?"add":"remove"](i.lockClass))}))}function r(){const{nextEl:a,prevEl:n}=e.navigation;if(e.params.loop)return l(n,!1),void l(a,!1);l(n,e.isBeginning&&!e.params.rewind),l(a,e.isEnd&&!e.params.rewind)}function o(a){a.preventDefault(),(!e.isBeginning||e.params.loop||e.params.rewind)&&(e.slidePrev(),t("navigationPrev"))}function d(a){a.preventDefault(),(!e.isEnd||e.params.loop||e.params.rewind)&&(e.slideNext(),t("navigationNext"))}function m(){const a=e.params.navigation;if(e.params.navigation=createElementIfNotDefined(e,e.originalParams.navigation,e.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!a.nextEl&&!a.prevEl)return;let n=s(a.nextEl),i=s(a.prevEl);Object.assign(e.navigation,{nextEl:n,prevEl:i}),n=makeElementsArray(n),i=makeElementsArray(i);const t=(n,i)=>{n&&n.addEventListener("click","next"===i?d:o),!e.enabled&&n&&n.classList.add(...a.lockClass.split(" "))};n.forEach((a=>t(a,"next"))),i.forEach((a=>t(a,"prev")))}function c(){let{nextEl:a,prevEl:n}=e.navigation;a=makeElementsArray(a),n=makeElementsArray(n);const i=(a,n)=>{a.removeEventListener("click","next"===n?d:o),a.classList.remove(...e.params.navigation.disabledClass.split(" "))};a.forEach((a=>i(a,"next"))),n.forEach((a=>i(a,"prev")))}n({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},i("init",(()=>{!1===e.params.navigation.enabled?p():(m(),r())})),i("toEdge fromEdge lock unlock",(()=>{r()})),i("destroy",(()=>{c()})),i("enable disable",(()=>{let{nextEl:a,prevEl:n}=e.navigation;a=makeElementsArray(a),n=makeElementsArray(n),e.enabled?r():[...a,...n].filter((a=>!!a)).forEach((a=>a.classList.add(e.params.navigation.lockClass)))})),i("click",((a,n)=>{let{nextEl:i,prevEl:s}=e.navigation;i=makeElementsArray(i),s=makeElementsArray(s);const l=n.target;if(e.params.navigation.hideOnClick&&!s.includes(l)&&!i.includes(l)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===l||e.pagination.el.contains(l)))return;let a;i.length?a=i[0].classList.contains(e.params.navigation.hiddenClass):s.length&&(a=s[0].classList.contains(e.params.navigation.hiddenClass)),t(!0===a?"navigationShow":"navigationHide"),[...i,...s].filter((a=>!!a)).forEach((a=>a.classList.toggle(e.params.navigation.hiddenClass)))}}));const p=()=>{e.el.classList.add(...e.params.navigation.navigationDisabledClass.split(" ")),c()};Object.assign(e.navigation,{enable:()=>{e.el.classList.remove(...e.params.navigation.navigationDisabledClass.split(" ")),m(),r()},disable:p,update:r,init:m,destroy:c})}export{Navigation as default}; -//# sourceMappingURL=navigation.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/navigation.min.mjs.map b/node_modules/swiper/modules/navigation.min.mjs.map deleted file mode 100644 index 8aeee82..0000000 --- a/node_modules/swiper/modules/navigation.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"navigation.mjs.mjs","names":["createElementIfNotDefined","makeElementsArray","Navigation","_ref","swiper","extendParams","on","emit","getEl","el","res","isElement","querySelector","document","querySelectorAll","params","uniqueNavElements","length","toggleEl","disabled","navigation","forEach","subEl","classList","disabledClass","split","tagName","watchOverflow","enabled","isLocked","lockClass","update","nextEl","prevEl","loop","isBeginning","rewind","isEnd","onPrevClick","e","preventDefault","slidePrev","onNextClick","slideNext","init","originalParams","Object","assign","initButton","dir","addEventListener","add","destroy","destroyButton","removeEventListener","remove","hideOnClick","hiddenClass","navigationDisabledClass","disable","filter","_s","targetEl","target","includes","pagination","clickable","contains","isHidden","toggle","enable"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/navigation.mjs b/node_modules/swiper/modules/navigation.mjs deleted file mode 100644 index 6d2e24b..0000000 --- a/node_modules/swiper/modules/navigation.mjs +++ /dev/null @@ -1,193 +0,0 @@ -import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs'; -import { m as makeElementsArray } from '../shared/utils.mjs'; - -function Navigation(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - extendParams({ - navigation: { - nextEl: null, - prevEl: null, - hideOnClick: false, - disabledClass: 'swiper-button-disabled', - hiddenClass: 'swiper-button-hidden', - lockClass: 'swiper-button-lock', - navigationDisabledClass: 'swiper-navigation-disabled' - } - }); - swiper.navigation = { - nextEl: null, - prevEl: null - }; - function getEl(el) { - let res; - if (el && typeof el === 'string' && swiper.isElement) { - res = swiper.el.querySelector(el); - if (res) return res; - } - if (el) { - if (typeof el === 'string') res = [...document.querySelectorAll(el)]; - if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) { - res = swiper.el.querySelector(el); - } else if (res && res.length === 1) { - res = res[0]; - } - } - if (el && !res) return el; - // if (Array.isArray(res) && res.length === 1) res = res[0]; - return res; - } - function toggleEl(el, disabled) { - const params = swiper.params.navigation; - el = makeElementsArray(el); - el.forEach(subEl => { - if (subEl) { - subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' ')); - if (subEl.tagName === 'BUTTON') subEl.disabled = disabled; - if (swiper.params.watchOverflow && swiper.enabled) { - subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass); - } - } - }); - } - function update() { - // Update Navigation Buttons - const { - nextEl, - prevEl - } = swiper.navigation; - if (swiper.params.loop) { - toggleEl(prevEl, false); - toggleEl(nextEl, false); - return; - } - toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind); - toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind); - } - function onPrevClick(e) { - e.preventDefault(); - if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return; - swiper.slidePrev(); - emit('navigationPrev'); - } - function onNextClick(e) { - e.preventDefault(); - if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return; - swiper.slideNext(); - emit('navigationNext'); - } - function init() { - const params = swiper.params.navigation; - swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, { - nextEl: 'swiper-button-next', - prevEl: 'swiper-button-prev' - }); - if (!(params.nextEl || params.prevEl)) return; - let nextEl = getEl(params.nextEl); - let prevEl = getEl(params.prevEl); - Object.assign(swiper.navigation, { - nextEl, - prevEl - }); - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - const initButton = (el, dir) => { - if (el) { - el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick); - } - if (!swiper.enabled && el) { - el.classList.add(...params.lockClass.split(' ')); - } - }; - nextEl.forEach(el => initButton(el, 'next')); - prevEl.forEach(el => initButton(el, 'prev')); - } - function destroy() { - let { - nextEl, - prevEl - } = swiper.navigation; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - const destroyButton = (el, dir) => { - el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick); - el.classList.remove(...swiper.params.navigation.disabledClass.split(' ')); - }; - nextEl.forEach(el => destroyButton(el, 'next')); - prevEl.forEach(el => destroyButton(el, 'prev')); - } - on('init', () => { - if (swiper.params.navigation.enabled === false) { - // eslint-disable-next-line - disable(); - } else { - init(); - update(); - } - }); - on('toEdge fromEdge lock unlock', () => { - update(); - }); - on('destroy', () => { - destroy(); - }); - on('enable disable', () => { - let { - nextEl, - prevEl - } = swiper.navigation; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - if (swiper.enabled) { - update(); - return; - } - [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass)); - }); - on('click', (_s, e) => { - let { - nextEl, - prevEl - } = swiper.navigation; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - const targetEl = e.target; - if (swiper.params.navigation.hideOnClick && !prevEl.includes(targetEl) && !nextEl.includes(targetEl)) { - if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return; - let isHidden; - if (nextEl.length) { - isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass); - } else if (prevEl.length) { - isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass); - } - if (isHidden === true) { - emit('navigationShow'); - } else { - emit('navigationHide'); - } - [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass)); - } - }); - const enable = () => { - swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' ')); - init(); - update(); - }; - const disable = () => { - swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' ')); - destroy(); - }; - Object.assign(swiper.navigation, { - enable, - disable, - update, - init, - destroy - }); -} - -export { Navigation as default }; diff --git a/node_modules/swiper/modules/navigation.scss b/node_modules/swiper/modules/navigation.scss deleted file mode 100644 index 8fb729d..0000000 --- a/node_modules/swiper/modules/navigation.scss +++ /dev/null @@ -1,87 +0,0 @@ -@import '../swiper-vars.scss'; -@at-root { - :root { - --swiper-navigation-size: 44px; - /* - --swiper-navigation-top-offset: 50%; - --swiper-navigation-sides-offset: 10px; - --swiper-navigation-color: var(--swiper-theme-color); - */ - } -} -.swiper-button-prev, -.swiper-button-next { - position: absolute; - top: var(--swiper-navigation-top-offset, 50%); - width: calc(var(--swiper-navigation-size) / 44 * 27); - height: var(--swiper-navigation-size); - margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); - z-index: 10; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - color: var(--swiper-navigation-color, var(--swiper-theme-color)); - &.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; - } - &.swiper-button-hidden { - opacity: 0; - cursor: auto; - pointer-events: none; - } - .swiper-navigation-disabled & { - display: none !important; - } - svg { - width: 100%; - height: 100%; - object-fit: contain; - transform-origin: center; - } - .swiper-rtl & svg { - transform: rotate(180deg); - } -} -.swiper-button-prev, -.swiper-rtl .swiper-button-next { - left: var(--swiper-navigation-sides-offset, 10px); - right: auto; -} -.swiper-button-next, -.swiper-rtl .swiper-button-prev { - right: var(--swiper-navigation-sides-offset, 10px); - left: auto; -} -.swiper-button-lock { - display: none; -} -/* Navigation font start */ -.swiper-button-prev, -.swiper-button-next { - &:after { - font-family: swiper-icons; - font-size: var(--swiper-navigation-size); - text-transform: none !important; - letter-spacing: 0; - font-variant: initial; - line-height: 1; - } -} -.swiper-button-prev, -.swiper-rtl .swiper-button-next { - &:after { - content: 'prev'; - } -} -.swiper-button-next, -.swiper-rtl .swiper-button-prev { - &:after { - content: 'next'; - } - right: var(--swiper-navigation-sides-offset, 10px); - left: auto; -} -/* Navigation font end */ diff --git a/node_modules/swiper/modules/pagination-element.css b/node_modules/swiper/modules/pagination-element.css deleted file mode 100644 index cae824f..0000000 --- a/node_modules/swiper/modules/pagination-element.css +++ /dev/null @@ -1,184 +0,0 @@ -:host { - /* - --swiper-pagination-color: var(--swiper-theme-color); - --swiper-pagination-left: auto; - --swiper-pagination-right: 8px; - --swiper-pagination-bottom: 8px; - --swiper-pagination-top: auto; - --swiper-pagination-fraction-color: inherit; - --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25); - --swiper-pagination-progressbar-size: 4px; - --swiper-pagination-bullet-size: 8px; - --swiper-pagination-bullet-width: 8px; - --swiper-pagination-bullet-height: 8px; - --swiper-pagination-bullet-border-radius: 50%; - --swiper-pagination-bullet-inactive-color: #000; - --swiper-pagination-bullet-inactive-opacity: 0.2; - --swiper-pagination-bullet-opacity: 1; - --swiper-pagination-bullet-horizontal-gap: 4px; - --swiper-pagination-bullet-vertical-gap: 6px; - */ -} -.swiper-pagination { - position: absolute; - text-align: center; - transition: 300ms opacity; - transform: translate3d(0, 0, 0); - z-index: 10; -} -.swiper-pagination.swiper-pagination-hidden { - opacity: 0; -} -.swiper-pagination-disabled > .swiper-pagination, -.swiper-pagination.swiper-pagination-disabled { - display: none !important; -} -/* Common Styles */ -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-horizontal > .swiper-pagination-bullets, -.swiper-pagination-bullets.swiper-pagination-horizontal { - bottom: var(--swiper-pagination-bottom, 8px); - top: var(--swiper-pagination-top, auto); - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullets-dynamic { - overflow: hidden; - font-size: 0; -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transform: scale(0.33); - position: relative; -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active { - transform: scale(1); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main { - transform: scale(1); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev { - transform: scale(0.66); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev { - transform: scale(0.33); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next { - transform: scale(0.66); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next { - transform: scale(0.33); -} -.swiper-pagination-bullet { - width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px)); - height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px)); - display: inline-block; - border-radius: var(--swiper-pagination-bullet-border-radius, 50%); - background: var(--swiper-pagination-bullet-inactive-color, #000); - opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2); -} -button.swiper-pagination-bullet { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - -webkit-appearance: none; - appearance: none; -} -.swiper-pagination-clickable .swiper-pagination-bullet { - cursor: pointer; -} -.swiper-pagination-bullet:only-child { - display: none !important; -} -.swiper-pagination-bullet-active { - opacity: var(--swiper-pagination-bullet-opacity, 1); - background: var(--swiper-pagination-color, var(--swiper-theme-color)); -} -.swiper-vertical > .swiper-pagination-bullets, -.swiper-pagination-vertical.swiper-pagination-bullets { - right: var(--swiper-pagination-right, 8px); - left: var(--swiper-pagination-left, auto); - top: 50%; - transform: translate3d(0px, -50%, 0); -} -.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet, -.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet { - margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0; - display: block; -} -.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, -.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { - top: 50%; - transform: translateY(-50%); - width: 8px; -} -.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, -.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - display: inline-block; - transition: 200ms transform, - 200ms top; -} -.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, -.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { - margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); -} -.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, -.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { - left: 50%; - transform: translateX(-50%); - white-space: nowrap; -} -.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, -.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transition: 200ms transform, - 200ms left; -} -.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transition: 200ms transform, - 200ms right; -} -/* Fraction */ -.swiper-pagination-fraction { - color: var(--swiper-pagination-fraction-color, inherit); -} -/* Progress */ -.swiper-pagination-progressbar { - background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25)); - position: absolute; -} -.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { - background: var(--swiper-pagination-color, var(--swiper-theme-color)); - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - transform: scale(0); - transform-origin: left top; -} -.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { - transform-origin: right top; -} -.swiper-horizontal > .swiper-pagination-progressbar, -.swiper-pagination-progressbar.swiper-pagination-horizontal, -.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, -.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite { - width: 100%; - height: var(--swiper-pagination-progressbar-size, 4px); - left: 0; - top: 0; -} -.swiper-vertical > .swiper-pagination-progressbar, -.swiper-pagination-progressbar.swiper-pagination-vertical, -.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, -.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite { - width: var(--swiper-pagination-progressbar-size, 4px); - height: 100%; - left: 0; - top: 0; -} -.swiper-pagination-lock { - display: none; -} diff --git a/node_modules/swiper/modules/pagination-element.min.css b/node_modules/swiper/modules/pagination-element.min.css deleted file mode 100644 index 398a345..0000000 --- a/node_modules/swiper/modules/pagination-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none} \ No newline at end of file diff --git a/node_modules/swiper/modules/pagination.css b/node_modules/swiper/modules/pagination.css deleted file mode 100644 index 20bda39..0000000 --- a/node_modules/swiper/modules/pagination.css +++ /dev/null @@ -1,184 +0,0 @@ -:root { - /* - --swiper-pagination-color: var(--swiper-theme-color); - --swiper-pagination-left: auto; - --swiper-pagination-right: 8px; - --swiper-pagination-bottom: 8px; - --swiper-pagination-top: auto; - --swiper-pagination-fraction-color: inherit; - --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25); - --swiper-pagination-progressbar-size: 4px; - --swiper-pagination-bullet-size: 8px; - --swiper-pagination-bullet-width: 8px; - --swiper-pagination-bullet-height: 8px; - --swiper-pagination-bullet-border-radius: 50%; - --swiper-pagination-bullet-inactive-color: #000; - --swiper-pagination-bullet-inactive-opacity: 0.2; - --swiper-pagination-bullet-opacity: 1; - --swiper-pagination-bullet-horizontal-gap: 4px; - --swiper-pagination-bullet-vertical-gap: 6px; - */ -} -.swiper-pagination { - position: absolute; - text-align: center; - transition: 300ms opacity; - transform: translate3d(0, 0, 0); - z-index: 10; -} -.swiper-pagination.swiper-pagination-hidden { - opacity: 0; -} -.swiper-pagination-disabled > .swiper-pagination, -.swiper-pagination.swiper-pagination-disabled { - display: none !important; -} -/* Common Styles */ -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-horizontal > .swiper-pagination-bullets, -.swiper-pagination-bullets.swiper-pagination-horizontal { - bottom: var(--swiper-pagination-bottom, 8px); - top: var(--swiper-pagination-top, auto); - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullets-dynamic { - overflow: hidden; - font-size: 0; -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transform: scale(0.33); - position: relative; -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active { - transform: scale(1); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main { - transform: scale(1); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev { - transform: scale(0.66); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev { - transform: scale(0.33); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next { - transform: scale(0.66); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next { - transform: scale(0.33); -} -.swiper-pagination-bullet { - width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px)); - height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px)); - display: inline-block; - border-radius: var(--swiper-pagination-bullet-border-radius, 50%); - background: var(--swiper-pagination-bullet-inactive-color, #000); - opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2); -} -button.swiper-pagination-bullet { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - -webkit-appearance: none; - appearance: none; -} -.swiper-pagination-clickable .swiper-pagination-bullet { - cursor: pointer; -} -.swiper-pagination-bullet:only-child { - display: none !important; -} -.swiper-pagination-bullet-active { - opacity: var(--swiper-pagination-bullet-opacity, 1); - background: var(--swiper-pagination-color, var(--swiper-theme-color)); -} -.swiper-vertical > .swiper-pagination-bullets, -.swiper-pagination-vertical.swiper-pagination-bullets { - right: var(--swiper-pagination-right, 8px); - left: var(--swiper-pagination-left, auto); - top: 50%; - transform: translate3d(0px, -50%, 0); -} -.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet, -.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet { - margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0; - display: block; -} -.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, -.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { - top: 50%; - transform: translateY(-50%); - width: 8px; -} -.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, -.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - display: inline-block; - transition: 200ms transform, - 200ms top; -} -.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, -.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { - margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); -} -.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, -.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { - left: 50%; - transform: translateX(-50%); - white-space: nowrap; -} -.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, -.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transition: 200ms transform, - 200ms left; -} -.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transition: 200ms transform, - 200ms right; -} -/* Fraction */ -.swiper-pagination-fraction { - color: var(--swiper-pagination-fraction-color, inherit); -} -/* Progress */ -.swiper-pagination-progressbar { - background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25)); - position: absolute; -} -.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { - background: var(--swiper-pagination-color, var(--swiper-theme-color)); - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - transform: scale(0); - transform-origin: left top; -} -.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { - transform-origin: right top; -} -.swiper-horizontal > .swiper-pagination-progressbar, -.swiper-pagination-progressbar.swiper-pagination-horizontal, -.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, -.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite { - width: 100%; - height: var(--swiper-pagination-progressbar-size, 4px); - left: 0; - top: 0; -} -.swiper-vertical > .swiper-pagination-progressbar, -.swiper-pagination-progressbar.swiper-pagination-vertical, -.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, -.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite { - width: var(--swiper-pagination-progressbar-size, 4px); - height: 100%; - left: 0; - top: 0; -} -.swiper-pagination-lock { - display: none; -} diff --git a/node_modules/swiper/modules/pagination.less b/node_modules/swiper/modules/pagination.less deleted file mode 100644 index 202e40c..0000000 --- a/node_modules/swiper/modules/pagination.less +++ /dev/null @@ -1,187 +0,0 @@ -@import url('../swiper-vars.less'); - -:root { - /* - --swiper-pagination-color: var(--swiper-theme-color); - --swiper-pagination-left: auto; - --swiper-pagination-right: 8px; - --swiper-pagination-bottom: 8px; - --swiper-pagination-top: auto; - --swiper-pagination-fraction-color: inherit; - --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25); - --swiper-pagination-progressbar-size: 4px; - --swiper-pagination-bullet-size: 8px; - --swiper-pagination-bullet-width: 8px; - --swiper-pagination-bullet-height: 8px; - --swiper-pagination-bullet-border-radius: 50%; - --swiper-pagination-bullet-inactive-color: #000; - --swiper-pagination-bullet-inactive-opacity: 0.2; - --swiper-pagination-bullet-opacity: 1; - --swiper-pagination-bullet-horizontal-gap: 4px; - --swiper-pagination-bullet-vertical-gap: 6px; - */ -} -.swiper-pagination { - position: absolute; - text-align: center; - transition: 300ms opacity; - transform: translate3d(0, 0, 0); - z-index: 10; - &.swiper-pagination-hidden { - opacity: 0; - } - .swiper-pagination-disabled > &, - &.swiper-pagination-disabled { - display: none !important; - } -} -/* Common Styles */ -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-horizontal > .swiper-pagination-bullets, -.swiper-pagination-bullets.swiper-pagination-horizontal { - bottom: var(--swiper-pagination-bottom, 8px); - top: var(--swiper-pagination-top, auto); - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullets-dynamic { - overflow: hidden; - font-size: 0; - .swiper-pagination-bullet { - transform: scale(0.33); - position: relative; - } - .swiper-pagination-bullet-active { - transform: scale(1); - } - .swiper-pagination-bullet-active-main { - transform: scale(1); - } - .swiper-pagination-bullet-active-prev { - transform: scale(0.66); - } - .swiper-pagination-bullet-active-prev-prev { - transform: scale(0.33); - } - .swiper-pagination-bullet-active-next { - transform: scale(0.66); - } - .swiper-pagination-bullet-active-next-next { - transform: scale(0.33); - } -} -.swiper-pagination-bullet { - width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px)); - height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px)); - display: inline-block; - border-radius: var(--swiper-pagination-bullet-border-radius, 50%); - background: var(--swiper-pagination-bullet-inactive-color, #000); - opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2); - button& { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - appearance: none; - } - .swiper-pagination-clickable & { - cursor: pointer; - } - - &:only-child { - display: none !important; - } -} -.swiper-pagination-bullet-active { - opacity: var(--swiper-pagination-bullet-opacity, 1); - background: var(--swiper-pagination-color, var(--swiper-theme-color)); -} - -.swiper-vertical > .swiper-pagination-bullets, -.swiper-pagination-vertical.swiper-pagination-bullets { - right: var(--swiper-pagination-right, 8px); - left: var(--swiper-pagination-left, auto); - top: 50%; - transform: translate3d(0px, -50%, 0); - .swiper-pagination-bullet { - margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0; - display: block; - } - &.swiper-pagination-bullets-dynamic { - top: 50%; - transform: translateY(-50%); - width: 8px; - .swiper-pagination-bullet { - display: inline-block; - transition: - 200ms transform, - 200ms top; - } - } -} -.swiper-horizontal > .swiper-pagination-bullets, -.swiper-pagination-horizontal.swiper-pagination-bullets { - .swiper-pagination-bullet { - margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); - } - &.swiper-pagination-bullets-dynamic { - left: 50%; - transform: translateX(-50%); - white-space: nowrap; - .swiper-pagination-bullet { - transition: - 200ms transform, - 200ms left; - } - } -} -.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transition: - 200ms transform, - 200ms right; -} -/* Fraction */ -.swiper-pagination-fraction { - color: var(--swiper-pagination-fraction-color, inherit); -} -/* Progress */ -.swiper-pagination-progressbar { - background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25)); - position: absolute; - .swiper-pagination-progressbar-fill { - background: var(--swiper-pagination-color, var(--swiper-theme-color)); - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - transform: scale(0); - transform-origin: left top; - } - .swiper-rtl & .swiper-pagination-progressbar-fill { - transform-origin: right top; - } - .swiper-horizontal > &, - &.swiper-pagination-horizontal, - .swiper-vertical > &.swiper-pagination-progressbar-opposite, - &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite { - width: 100%; - height: var(--swiper-pagination-progressbar-size, 4px); - left: 0; - top: 0; - } - .swiper-vertical > &, - &.swiper-pagination-vertical, - .swiper-horizontal > &.swiper-pagination-progressbar-opposite, - &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite { - width: var(--swiper-pagination-progressbar-size, 4px); - height: 100%; - left: 0; - top: 0; - } -} -.swiper-pagination-lock { - display: none; -} diff --git a/node_modules/swiper/modules/pagination.min.css b/node_modules/swiper/modules/pagination.min.css deleted file mode 100644 index 398a345..0000000 --- a/node_modules/swiper/modules/pagination.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none} \ No newline at end of file diff --git a/node_modules/swiper/modules/pagination.min.mjs b/node_modules/swiper/modules/pagination.min.mjs deleted file mode 100644 index 0db352f..0000000 --- a/node_modules/swiper/modules/pagination.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{c as classesToSelector}from"../shared/classes-to-selector.min.mjs";import{c as createElementIfNotDefined}from"../shared/create-element-if-not-defined.min.mjs";import{m as makeElementsArray,f as elementOuterSize,h as elementIndex,a as elementParents}from"../shared/utils.min.mjs";function Pagination(e){let{swiper:a,extendParams:s,on:l,emit:t}=e;const i="swiper-pagination";let n;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:e=>e,formatFractionTotal:e=>e,bulletClass:`${i}-bullet`,bulletActiveClass:`${i}-bullet-active`,modifierClass:`${i}-`,currentClass:`${i}-current`,totalClass:`${i}-total`,hiddenClass:`${i}-hidden`,progressbarFillClass:`${i}-progressbar-fill`,progressbarOppositeClass:`${i}-progressbar-opposite`,clickableClass:`${i}-clickable`,lockClass:`${i}-lock`,horizontalClass:`${i}-horizontal`,verticalClass:`${i}-vertical`,paginationDisabledClass:`${i}-disabled`}}),a.pagination={el:null,bullets:[]};let r=0;function o(){return!a.params.pagination.el||!a.pagination.el||Array.isArray(a.pagination.el)&&0===a.pagination.el.length}function p(e,s){const{bulletActiveClass:l}=a.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${l}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${l}-${s}-${s}`))}function c(e){const s=e.target.closest(classesToSelector(a.params.pagination.bulletClass));if(!s)return;e.preventDefault();const l=elementIndex(s)*a.params.slidesPerGroup;if(a.params.loop){if(a.realIndex===l)return;a.slideToLoop(l)}else a.slideTo(l)}function d(){const e=a.rtl,s=a.params.pagination;if(o())return;let l,i,c=a.pagination.el;c=makeElementsArray(c);const d=a.virtual&&a.params.virtual.enabled?a.virtual.slides.length:a.slides.length,m=a.params.loop?Math.ceil(d/a.params.slidesPerGroup):a.snapGrid.length;if(a.params.loop?(i=a.previousRealIndex||0,l=a.params.slidesPerGroup>1?Math.floor(a.realIndex/a.params.slidesPerGroup):a.realIndex):void 0!==a.snapIndex?(l=a.snapIndex,i=a.previousSnapIndex):(i=a.previousIndex||0,l=a.activeIndex||0),"bullets"===s.type&&a.pagination.bullets&&a.pagination.bullets.length>0){const t=a.pagination.bullets;let o,d,m;if(s.dynamicBullets&&(n=elementOuterSize(t[0],a.isHorizontal()?"width":"height",!0),c.forEach((e=>{e.style[a.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==i&&(r+=l-(i||0),r>s.dynamicMainBullets-1?r=s.dynamicMainBullets-1:r<0&&(r=0)),o=Math.max(l-r,0),d=o+(Math.min(t.length,s.dynamicMainBullets)-1),m=(d+o)/2),t.forEach((e=>{const a=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...a)})),c.length>1)t.forEach((e=>{const t=elementIndex(e);t===l?e.classList.add(...s.bulletActiveClass.split(" ")):a.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(t>=o&&t<=d&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),t===o&&p(e,"prev"),t===d&&p(e,"next"))}));else{const e=t[l];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),a.isElement&&t.forEach(((e,a)=>{e.setAttribute("part",a===l?"bullet-active":"bullet")})),s.dynamicBullets){const e=t[o],a=t[d];for(let e=o;e<=d;e+=1)t[e]&&t[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));p(e,"prev"),p(a,"next")}}if(s.dynamicBullets){const l=Math.min(t.length,s.dynamicMainBullets+4),i=(n*l-n)/2-m*n,r=e?"right":"left";t.forEach((e=>{e.style[a.isHorizontal()?r:"top"]=`${i}px`}))}}c.forEach(((e,i)=>{if("fraction"===s.type&&(e.querySelectorAll(classesToSelector(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(l+1)})),e.querySelectorAll(classesToSelector(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(m)}))),"progressbar"===s.type){let t;t=s.progressbarOpposite?a.isHorizontal()?"vertical":"horizontal":a.isHorizontal()?"horizontal":"vertical";const i=(l+1)/m;let n=1,r=1;"horizontal"===t?n=i:r=i,e.querySelectorAll(classesToSelector(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${r})`,e.style.transitionDuration=`${a.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(e.innerHTML=s.renderCustom(a,l+1,m),0===i&&t("paginationRender",e)):(0===i&&t("paginationRender",e),t("paginationUpdate",e)),a.params.watchOverflow&&a.enabled&&e.classList[a.isLocked?"add":"remove"](s.lockClass)}))}function m(){const e=a.params.pagination;if(o())return;const s=a.virtual&&a.params.virtual.enabled?a.virtual.slides.length:a.grid&&a.params.grid.rows>1?a.slides.length/Math.ceil(a.params.grid.rows):a.slides.length;let l=a.pagination.el;l=makeElementsArray(l);let i="";if("bullets"===e.type){let l=a.params.loop?Math.ceil(s/a.params.slidesPerGroup):a.snapGrid.length;a.params.freeMode&&a.params.freeMode.enabled&&l>s&&(l=s);for(let s=0;s`}"fraction"===e.type&&(i=e.renderFraction?e.renderFraction.call(a,e.currentClass,e.totalClass):` / `),"progressbar"===e.type&&(i=e.renderProgressbar?e.renderProgressbar.call(a,e.progressbarFillClass):``),a.pagination.bullets=[],l.forEach((s=>{"custom"!==e.type&&(s.innerHTML=i||""),"bullets"===e.type&&a.pagination.bullets.push(...s.querySelectorAll(classesToSelector(e.bulletClass)))})),"custom"!==e.type&&t("paginationRender",l[0])}function u(){a.params.pagination=createElementIfNotDefined(a,a.originalParams.pagination,a.params.pagination,{el:"swiper-pagination"});const e=a.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&a.isElement&&(s=a.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(a.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...a.el.querySelectorAll(e.el)],s.length>1&&(s=s.filter((e=>elementParents(e,".swiper")[0]===a.el))[0])),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(a.pagination,{el:s}),s=makeElementsArray(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(a.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),r=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",c),a.enabled||s.classList.add(e.lockClass)})))}function g(){const e=a.params.pagination;if(o())return;let s=a.pagination.el;s&&(s=makeElementsArray(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(a.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",c))}))),a.pagination.bullets&&a.pagination.bullets.forEach((a=>a.classList.remove(...e.bulletActiveClass.split(" "))))}l("changeDirection",(()=>{if(!a.pagination||!a.pagination.el)return;const e=a.params.pagination;let{el:s}=a.pagination;s=makeElementsArray(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(a.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),l("init",(()=>{!1===a.params.pagination.enabled?b():(u(),m(),d())})),l("activeIndexChange",(()=>{void 0===a.snapIndex&&d()})),l("snapIndexChange",(()=>{d()})),l("snapGridLengthChange",(()=>{m(),d()})),l("destroy",(()=>{g()})),l("enable disable",(()=>{let{el:e}=a.pagination;e&&(e=makeElementsArray(e),e.forEach((e=>e.classList[a.enabled?"remove":"add"](a.params.pagination.lockClass))))})),l("lock unlock",(()=>{d()})),l("click",((e,s)=>{const l=s.target,i=makeElementsArray(a.pagination.el);if(a.params.pagination.el&&a.params.pagination.hideOnClick&&i&&i.length>0&&!l.classList.contains(a.params.pagination.bulletClass)){if(a.navigation&&(a.navigation.nextEl&&l===a.navigation.nextEl||a.navigation.prevEl&&l===a.navigation.prevEl))return;const e=i[0].classList.contains(a.params.pagination.hiddenClass);t(!0===e?"paginationShow":"paginationHide"),i.forEach((e=>e.classList.toggle(a.params.pagination.hiddenClass)))}}));const b=()=>{a.el.classList.add(a.params.pagination.paginationDisabledClass);let{el:e}=a.pagination;e&&(e=makeElementsArray(e),e.forEach((e=>e.classList.add(a.params.pagination.paginationDisabledClass)))),g()};Object.assign(a.pagination,{enable:()=>{a.el.classList.remove(a.params.pagination.paginationDisabledClass);let{el:e}=a.pagination;e&&(e=makeElementsArray(e),e.forEach((e=>e.classList.remove(a.params.pagination.paginationDisabledClass)))),u(),m(),d()},disable:b,render:m,update:d,init:u,destroy:g})}export{Pagination as default}; -//# sourceMappingURL=pagination.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/pagination.min.mjs.map b/node_modules/swiper/modules/pagination.min.mjs.map deleted file mode 100644 index eee8355..0000000 --- a/node_modules/swiper/modules/pagination.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"pagination.mjs.mjs","names":["classesToSelector","createElementIfNotDefined","makeElementsArray","elementOuterSize","elementIndex","elementParents","Pagination","_ref","swiper","extendParams","on","emit","pfx","bulletSize","pagination","el","bulletElement","clickable","hideOnClick","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","type","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","hiddenClass","progressbarFillClass","progressbarOppositeClass","clickableClass","lockClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","params","Array","isArray","length","setSideBullets","bulletEl","position","classList","add","onBulletClick","e","target","closest","preventDefault","index","slidesPerGroup","loop","realIndex","slideToLoop","slideTo","update","rtl","current","previousIndex","slidesLength","virtual","enabled","slides","total","Math","ceil","snapGrid","previousRealIndex","floor","snapIndex","previousSnapIndex","activeIndex","firstIndex","lastIndex","midIndex","isHorizontal","forEach","subEl","style","undefined","max","min","classesToRemove","map","suffix","s","includes","split","flat","remove","bullet","bulletIndex","isElement","setAttribute","firstDisplayedBullet","lastDisplayedBullet","i","dynamicBulletsLength","bulletsOffset","offsetProp","subElIndex","querySelectorAll","fractionEl","textContent","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","transform","transitionDuration","speed","innerHTML","watchOverflow","isLocked","render","grid","rows","paginationHTML","numberOfBullets","freeMode","call","push","init","originalParams","querySelector","document","uniqueNavElements","filter","Object","assign","addEventListener","destroy","removeEventListener","disable","_s","targetEl","contains","navigation","nextEl","prevEl","isHidden","toggle","enable"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/pagination.mjs b/node_modules/swiper/modules/pagination.mjs deleted file mode 100644 index e38786d..0000000 --- a/node_modules/swiper/modules/pagination.mjs +++ /dev/null @@ -1,443 +0,0 @@ -import { c as classesToSelector } from '../shared/classes-to-selector.mjs'; -import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs'; -import { m as makeElementsArray, f as elementOuterSize, h as elementIndex, a as elementParents } from '../shared/utils.mjs'; - -function Pagination(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const pfx = 'swiper-pagination'; - extendParams({ - pagination: { - el: null, - bulletElement: 'span', - clickable: false, - hideOnClick: false, - renderBullet: null, - renderProgressbar: null, - renderFraction: null, - renderCustom: null, - progressbarOpposite: false, - type: 'bullets', - // 'bullets' or 'progressbar' or 'fraction' or 'custom' - dynamicBullets: false, - dynamicMainBullets: 1, - formatFractionCurrent: number => number, - formatFractionTotal: number => number, - bulletClass: `${pfx}-bullet`, - bulletActiveClass: `${pfx}-bullet-active`, - modifierClass: `${pfx}-`, - currentClass: `${pfx}-current`, - totalClass: `${pfx}-total`, - hiddenClass: `${pfx}-hidden`, - progressbarFillClass: `${pfx}-progressbar-fill`, - progressbarOppositeClass: `${pfx}-progressbar-opposite`, - clickableClass: `${pfx}-clickable`, - lockClass: `${pfx}-lock`, - horizontalClass: `${pfx}-horizontal`, - verticalClass: `${pfx}-vertical`, - paginationDisabledClass: `${pfx}-disabled` - } - }); - swiper.pagination = { - el: null, - bullets: [] - }; - let bulletSize; - let dynamicBulletIndex = 0; - function isPaginationDisabled() { - return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0; - } - function setSideBullets(bulletEl, position) { - const { - bulletActiveClass - } = swiper.params.pagination; - if (!bulletEl) return; - bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`]; - if (bulletEl) { - bulletEl.classList.add(`${bulletActiveClass}-${position}`); - bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`]; - if (bulletEl) { - bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`); - } - } - } - function onBulletClick(e) { - const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass)); - if (!bulletEl) { - return; - } - e.preventDefault(); - const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup; - if (swiper.params.loop) { - if (swiper.realIndex === index) return; - swiper.slideToLoop(index); - } else { - swiper.slideTo(index); - } - } - function update() { - // Render || Update Pagination bullets/items - const rtl = swiper.rtl; - const params = swiper.params.pagination; - if (isPaginationDisabled()) return; - let el = swiper.pagination.el; - el = makeElementsArray(el); - // Current/Total - let current; - let previousIndex; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; - const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length; - if (swiper.params.loop) { - previousIndex = swiper.previousRealIndex || 0; - current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex; - } else if (typeof swiper.snapIndex !== 'undefined') { - current = swiper.snapIndex; - previousIndex = swiper.previousSnapIndex; - } else { - previousIndex = swiper.previousIndex || 0; - current = swiper.activeIndex || 0; - } - // Types - if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) { - const bullets = swiper.pagination.bullets; - let firstIndex; - let lastIndex; - let midIndex; - if (params.dynamicBullets) { - bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true); - el.forEach(subEl => { - subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`; - }); - if (params.dynamicMainBullets > 1 && previousIndex !== undefined) { - dynamicBulletIndex += current - (previousIndex || 0); - if (dynamicBulletIndex > params.dynamicMainBullets - 1) { - dynamicBulletIndex = params.dynamicMainBullets - 1; - } else if (dynamicBulletIndex < 0) { - dynamicBulletIndex = 0; - } - } - firstIndex = Math.max(current - dynamicBulletIndex, 0); - lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1); - midIndex = (lastIndex + firstIndex) / 2; - } - bullets.forEach(bulletEl => { - const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat(); - bulletEl.classList.remove(...classesToRemove); - }); - if (el.length > 1) { - bullets.forEach(bullet => { - const bulletIndex = elementIndex(bullet); - if (bulletIndex === current) { - bullet.classList.add(...params.bulletActiveClass.split(' ')); - } else if (swiper.isElement) { - bullet.setAttribute('part', 'bullet'); - } - if (params.dynamicBullets) { - if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) { - bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' ')); - } - if (bulletIndex === firstIndex) { - setSideBullets(bullet, 'prev'); - } - if (bulletIndex === lastIndex) { - setSideBullets(bullet, 'next'); - } - } - }); - } else { - const bullet = bullets[current]; - if (bullet) { - bullet.classList.add(...params.bulletActiveClass.split(' ')); - } - if (swiper.isElement) { - bullets.forEach((bulletEl, bulletIndex) => { - bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet'); - }); - } - if (params.dynamicBullets) { - const firstDisplayedBullet = bullets[firstIndex]; - const lastDisplayedBullet = bullets[lastIndex]; - for (let i = firstIndex; i <= lastIndex; i += 1) { - if (bullets[i]) { - bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' ')); - } - } - setSideBullets(firstDisplayedBullet, 'prev'); - setSideBullets(lastDisplayedBullet, 'next'); - } - } - if (params.dynamicBullets) { - const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4); - const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize; - const offsetProp = rtl ? 'right' : 'left'; - bullets.forEach(bullet => { - bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`; - }); - } - } - el.forEach((subEl, subElIndex) => { - if (params.type === 'fraction') { - subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => { - fractionEl.textContent = params.formatFractionCurrent(current + 1); - }); - subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => { - totalEl.textContent = params.formatFractionTotal(total); - }); - } - if (params.type === 'progressbar') { - let progressbarDirection; - if (params.progressbarOpposite) { - progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal'; - } else { - progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical'; - } - const scale = (current + 1) / total; - let scaleX = 1; - let scaleY = 1; - if (progressbarDirection === 'horizontal') { - scaleX = scale; - } else { - scaleY = scale; - } - subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => { - progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`; - progressEl.style.transitionDuration = `${swiper.params.speed}ms`; - }); - } - if (params.type === 'custom' && params.renderCustom) { - subEl.innerHTML = params.renderCustom(swiper, current + 1, total); - if (subElIndex === 0) emit('paginationRender', subEl); - } else { - if (subElIndex === 0) emit('paginationRender', subEl); - emit('paginationUpdate', subEl); - } - if (swiper.params.watchOverflow && swiper.enabled) { - subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass); - } - }); - } - function render() { - // Render Container - const params = swiper.params.pagination; - if (isPaginationDisabled()) return; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length; - let el = swiper.pagination.el; - el = makeElementsArray(el); - let paginationHTML = ''; - if (params.type === 'bullets') { - let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length; - if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) { - numberOfBullets = slidesLength; - } - for (let i = 0; i < numberOfBullets; i += 1) { - if (params.renderBullet) { - paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass); - } else { - // prettier-ignore - paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part="bullet"' : ''} class="${params.bulletClass}">`; - } - } - } - if (params.type === 'fraction') { - if (params.renderFraction) { - paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass); - } else { - paginationHTML = `` + ' / ' + ``; - } - } - if (params.type === 'progressbar') { - if (params.renderProgressbar) { - paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass); - } else { - paginationHTML = ``; - } - } - swiper.pagination.bullets = []; - el.forEach(subEl => { - if (params.type !== 'custom') { - subEl.innerHTML = paginationHTML || ''; - } - if (params.type === 'bullets') { - swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass))); - } - }); - if (params.type !== 'custom') { - emit('paginationRender', el[0]); - } - } - function init() { - swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, { - el: 'swiper-pagination' - }); - const params = swiper.params.pagination; - if (!params.el) return; - let el; - if (typeof params.el === 'string' && swiper.isElement) { - el = swiper.el.querySelector(params.el); - } - if (!el && typeof params.el === 'string') { - el = [...document.querySelectorAll(params.el)]; - } - if (!el) { - el = params.el; - } - if (!el || el.length === 0) return; - if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) { - el = [...swiper.el.querySelectorAll(params.el)]; - // check if it belongs to another nested Swiper - if (el.length > 1) { - el = el.filter(subEl => { - if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false; - return true; - })[0]; - } - } - if (Array.isArray(el) && el.length === 1) el = el[0]; - Object.assign(swiper.pagination, { - el - }); - el = makeElementsArray(el); - el.forEach(subEl => { - if (params.type === 'bullets' && params.clickable) { - subEl.classList.add(...(params.clickableClass || '').split(' ')); - } - subEl.classList.add(params.modifierClass + params.type); - subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - if (params.type === 'bullets' && params.dynamicBullets) { - subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`); - dynamicBulletIndex = 0; - if (params.dynamicMainBullets < 1) { - params.dynamicMainBullets = 1; - } - } - if (params.type === 'progressbar' && params.progressbarOpposite) { - subEl.classList.add(params.progressbarOppositeClass); - } - if (params.clickable) { - subEl.addEventListener('click', onBulletClick); - } - if (!swiper.enabled) { - subEl.classList.add(params.lockClass); - } - }); - } - function destroy() { - const params = swiper.params.pagination; - if (isPaginationDisabled()) return; - let el = swiper.pagination.el; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.classList.remove(params.hiddenClass); - subEl.classList.remove(params.modifierClass + params.type); - subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - if (params.clickable) { - subEl.classList.remove(...(params.clickableClass || '').split(' ')); - subEl.removeEventListener('click', onBulletClick); - } - }); - } - if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' '))); - } - on('changeDirection', () => { - if (!swiper.pagination || !swiper.pagination.el) return; - const params = swiper.params.pagination; - let { - el - } = swiper.pagination; - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.classList.remove(params.horizontalClass, params.verticalClass); - subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - }); - }); - on('init', () => { - if (swiper.params.pagination.enabled === false) { - // eslint-disable-next-line - disable(); - } else { - init(); - render(); - update(); - } - }); - on('activeIndexChange', () => { - if (typeof swiper.snapIndex === 'undefined') { - update(); - } - }); - on('snapIndexChange', () => { - update(); - }); - on('snapGridLengthChange', () => { - render(); - update(); - }); - on('destroy', () => { - destroy(); - }); - on('enable disable', () => { - let { - el - } = swiper.pagination; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass)); - } - }); - on('lock unlock', () => { - update(); - }); - on('click', (_s, e) => { - const targetEl = e.target; - const el = makeElementsArray(swiper.pagination.el); - if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) { - if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return; - const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass); - if (isHidden === true) { - emit('paginationShow'); - } else { - emit('paginationHide'); - } - el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass)); - } - }); - const enable = () => { - swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass); - let { - el - } = swiper.pagination; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass)); - } - init(); - render(); - update(); - }; - const disable = () => { - swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass); - let { - el - } = swiper.pagination; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass)); - } - destroy(); - }; - Object.assign(swiper.pagination, { - enable, - disable, - render, - update, - init, - destroy - }); -} - -export { Pagination as default }; diff --git a/node_modules/swiper/modules/pagination.scss b/node_modules/swiper/modules/pagination.scss deleted file mode 100644 index 5595484..0000000 --- a/node_modules/swiper/modules/pagination.scss +++ /dev/null @@ -1,188 +0,0 @@ -@import '../swiper-vars.scss'; -@at-root { - :root { - /* - --swiper-pagination-color: var(--swiper-theme-color); - --swiper-pagination-left: auto; - --swiper-pagination-right: 8px; - --swiper-pagination-bottom: 8px; - --swiper-pagination-top: auto; - --swiper-pagination-fraction-color: inherit; - --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25); - --swiper-pagination-progressbar-size: 4px; - --swiper-pagination-bullet-size: 8px; - --swiper-pagination-bullet-width: 8px; - --swiper-pagination-bullet-height: 8px; - --swiper-pagination-bullet-border-radius: 50%; - --swiper-pagination-bullet-inactive-color: #000; - --swiper-pagination-bullet-inactive-opacity: 0.2; - --swiper-pagination-bullet-opacity: 1; - --swiper-pagination-bullet-horizontal-gap: 4px; - --swiper-pagination-bullet-vertical-gap: 6px; - */ - } -} -.swiper-pagination { - position: absolute; - text-align: center; - transition: 300ms opacity; - transform: translate3d(0, 0, 0); - z-index: 10; - &.swiper-pagination-hidden { - opacity: 0; - } - .swiper-pagination-disabled > &, - &.swiper-pagination-disabled { - display: none !important; - } -} -/* Common Styles */ -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-horizontal > .swiper-pagination-bullets, -.swiper-pagination-bullets.swiper-pagination-horizontal { - bottom: var(--swiper-pagination-bottom, 8px); - top: var(--swiper-pagination-top, auto); - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullets-dynamic { - overflow: hidden; - font-size: 0; - .swiper-pagination-bullet { - transform: scale(0.33); - position: relative; - } - .swiper-pagination-bullet-active { - transform: scale(1); - } - .swiper-pagination-bullet-active-main { - transform: scale(1); - } - .swiper-pagination-bullet-active-prev { - transform: scale(0.66); - } - .swiper-pagination-bullet-active-prev-prev { - transform: scale(0.33); - } - .swiper-pagination-bullet-active-next { - transform: scale(0.66); - } - .swiper-pagination-bullet-active-next-next { - transform: scale(0.33); - } -} -.swiper-pagination-bullet { - width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px)); - height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px)); - display: inline-block; - border-radius: var(--swiper-pagination-bullet-border-radius, 50%); - background: var(--swiper-pagination-bullet-inactive-color, #000); - opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2); - @at-root button#{&} { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - appearance: none; - } - .swiper-pagination-clickable & { - cursor: pointer; - } - - &:only-child { - display: none !important; - } -} -.swiper-pagination-bullet-active { - opacity: var(--swiper-pagination-bullet-opacity, 1); - background: var(--swiper-pagination-color, var(--swiper-theme-color)); -} - -.swiper-vertical > .swiper-pagination-bullets, -.swiper-pagination-vertical.swiper-pagination-bullets { - right: var(--swiper-pagination-right, 8px); - left: var(--swiper-pagination-left, auto); - top: 50%; - transform: translate3d(0px, -50%, 0); - .swiper-pagination-bullet { - margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0; - display: block; - } - &.swiper-pagination-bullets-dynamic { - top: 50%; - transform: translateY(-50%); - width: 8px; - .swiper-pagination-bullet { - display: inline-block; - transition: - 200ms transform, - 200ms top; - } - } -} -.swiper-horizontal > .swiper-pagination-bullets, -.swiper-pagination-horizontal.swiper-pagination-bullets { - .swiper-pagination-bullet { - margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); - } - &.swiper-pagination-bullets-dynamic { - left: 50%; - transform: translateX(-50%); - white-space: nowrap; - .swiper-pagination-bullet { - transition: - 200ms transform, - 200ms left; - } - } -} -.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transition: - 200ms transform, - 200ms right; -} -/* Fraction */ -.swiper-pagination-fraction { - color: var(--swiper-pagination-fraction-color, inherit); -} -/* Progress */ -.swiper-pagination-progressbar { - background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25)); - position: absolute; - .swiper-pagination-progressbar-fill { - background: var(--swiper-pagination-color, var(--swiper-theme-color)); - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - transform: scale(0); - transform-origin: left top; - } - .swiper-rtl & .swiper-pagination-progressbar-fill { - transform-origin: right top; - } - .swiper-horizontal > &, - &.swiper-pagination-horizontal, - .swiper-vertical > &.swiper-pagination-progressbar-opposite, - &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite { - width: 100%; - height: var(--swiper-pagination-progressbar-size, 4px); - left: 0; - top: 0; - } - .swiper-vertical > &, - &.swiper-pagination-vertical, - .swiper-horizontal > &.swiper-pagination-progressbar-opposite, - &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite { - width: var(--swiper-pagination-progressbar-size, 4px); - height: 100%; - left: 0; - top: 0; - } -} -.swiper-pagination-lock { - display: none; -} diff --git a/node_modules/swiper/modules/parallax-element.css b/node_modules/swiper/modules/parallax-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/parallax-element.min.css b/node_modules/swiper/modules/parallax-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/parallax.css b/node_modules/swiper/modules/parallax.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/parallax.less b/node_modules/swiper/modules/parallax.less deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/parallax.min.css b/node_modules/swiper/modules/parallax.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/parallax.min.mjs b/node_modules/swiper/modules/parallax.min.mjs deleted file mode 100644 index b70fbd0..0000000 --- a/node_modules/swiper/modules/parallax.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{e as elementChildren}from"../shared/utils.min.mjs";function Parallax(a){let{swiper:e,extendParams:t,on:l}=a;t({parallax:{enabled:!1}});const r="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",s=(a,t)=>{const{rtl:l}=e,r=l?-1:1,s=a.getAttribute("data-swiper-parallax")||"0";let i=a.getAttribute("data-swiper-parallax-x"),p=a.getAttribute("data-swiper-parallax-y");const n=a.getAttribute("data-swiper-parallax-scale"),o=a.getAttribute("data-swiper-parallax-opacity"),d=a.getAttribute("data-swiper-parallax-rotate");if(i||p?(i=i||"0",p=p||"0"):e.isHorizontal()?(i=s,p="0"):(p=s,i="0"),i=i.indexOf("%")>=0?parseInt(i,10)*t*r+"%":i*t*r+"px",p=p.indexOf("%")>=0?parseInt(p,10)*t+"%":p*t+"px",null!=o){const e=o-(o-1)*(1-Math.abs(t));a.style.opacity=e}let x=`translate3d(${i}, ${p}, 0px)`;if(null!=n){x+=` scale(${n-(n-1)*(1-Math.abs(t))})`}if(d&&null!=d){x+=` rotate(${d*t*-1}deg)`}a.style.transform=x},i=()=>{const{el:a,slides:t,progress:l,snapGrid:i,isElement:p}=e,n=elementChildren(a,r);e.isElement&&n.push(...elementChildren(e.hostEl,r)),n.forEach((a=>{s(a,l)})),t.forEach(((a,t)=>{let p=a.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(p+=Math.ceil(t/2)-l*(i.length-1)),p=Math.min(Math.max(p,-1),1),a.querySelectorAll(`${r}, [data-swiper-parallax-rotate]`).forEach((a=>{s(a,p)}))}))};l("beforeInit",(()=>{e.params.parallax.enabled&&(e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0)})),l("init",(()=>{e.params.parallax.enabled&&i()})),l("setTranslate",(()=>{e.params.parallax.enabled&&i()})),l("setTransition",((a,t)=>{e.params.parallax.enabled&&function(a){void 0===a&&(a=e.params.speed);const{el:t,hostEl:l}=e,s=[...t.querySelectorAll(r)];e.isElement&&s.push(...l.querySelectorAll(r)),s.forEach((e=>{let t=parseInt(e.getAttribute("data-swiper-parallax-duration"),10)||a;0===a&&(t=0),e.style.transitionDuration=`${t}ms`}))}(t)}))}export{Parallax as default}; -//# sourceMappingURL=parallax.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/parallax.min.mjs.map b/node_modules/swiper/modules/parallax.min.mjs.map deleted file mode 100644 index 395322a..0000000 --- a/node_modules/swiper/modules/parallax.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parallax.mjs.mjs","names":["elementChildren","Parallax","_ref","swiper","extendParams","on","parallax","enabled","elementsSelector","setTransform","el","progress","rtl","rtlFactor","p","getAttribute","x","y","scale","opacity","rotate","isHorizontal","indexOf","parseInt","currentOpacity","Math","abs","style","transform","setTranslate","slides","snapGrid","isElement","elements","push","hostEl","forEach","subEl","slideEl","slideIndex","slideProgress","params","slidesPerGroup","slidesPerView","ceil","length","min","max","querySelectorAll","watchSlidesProgress","originalParams","_swiper","duration","speed","parallaxEl","parallaxDuration","transitionDuration","setTransition"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/parallax.mjs b/node_modules/swiper/modules/parallax.mjs deleted file mode 100644 index 1f467de..0000000 --- a/node_modules/swiper/modules/parallax.mjs +++ /dev/null @@ -1,124 +0,0 @@ -import { e as elementChildren } from '../shared/utils.mjs'; - -function Parallax(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - parallax: { - enabled: false - } - }); - const elementsSelector = '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'; - const setTransform = (el, progress) => { - const { - rtl - } = swiper; - const rtlFactor = rtl ? -1 : 1; - const p = el.getAttribute('data-swiper-parallax') || '0'; - let x = el.getAttribute('data-swiper-parallax-x'); - let y = el.getAttribute('data-swiper-parallax-y'); - const scale = el.getAttribute('data-swiper-parallax-scale'); - const opacity = el.getAttribute('data-swiper-parallax-opacity'); - const rotate = el.getAttribute('data-swiper-parallax-rotate'); - if (x || y) { - x = x || '0'; - y = y || '0'; - } else if (swiper.isHorizontal()) { - x = p; - y = '0'; - } else { - y = p; - x = '0'; - } - if (x.indexOf('%') >= 0) { - x = `${parseInt(x, 10) * progress * rtlFactor}%`; - } else { - x = `${x * progress * rtlFactor}px`; - } - if (y.indexOf('%') >= 0) { - y = `${parseInt(y, 10) * progress}%`; - } else { - y = `${y * progress}px`; - } - if (typeof opacity !== 'undefined' && opacity !== null) { - const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress)); - el.style.opacity = currentOpacity; - } - let transform = `translate3d(${x}, ${y}, 0px)`; - if (typeof scale !== 'undefined' && scale !== null) { - const currentScale = scale - (scale - 1) * (1 - Math.abs(progress)); - transform += ` scale(${currentScale})`; - } - if (rotate && typeof rotate !== 'undefined' && rotate !== null) { - const currentRotate = rotate * progress * -1; - transform += ` rotate(${currentRotate}deg)`; - } - el.style.transform = transform; - }; - const setTranslate = () => { - const { - el, - slides, - progress, - snapGrid, - isElement - } = swiper; - const elements = elementChildren(el, elementsSelector); - if (swiper.isElement) { - elements.push(...elementChildren(swiper.hostEl, elementsSelector)); - } - elements.forEach(subEl => { - setTransform(subEl, progress); - }); - slides.forEach((slideEl, slideIndex) => { - let slideProgress = slideEl.progress; - if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') { - slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1); - } - slideProgress = Math.min(Math.max(slideProgress, -1), 1); - slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl => { - setTransform(subEl, slideProgress); - }); - }); - }; - const setTransition = function (duration) { - if (duration === void 0) { - duration = swiper.params.speed; - } - const { - el, - hostEl - } = swiper; - const elements = [...el.querySelectorAll(elementsSelector)]; - if (swiper.isElement) { - elements.push(...hostEl.querySelectorAll(elementsSelector)); - } - elements.forEach(parallaxEl => { - let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration; - if (duration === 0) parallaxDuration = 0; - parallaxEl.style.transitionDuration = `${parallaxDuration}ms`; - }); - }; - on('beforeInit', () => { - if (!swiper.params.parallax.enabled) return; - swiper.params.watchSlidesProgress = true; - swiper.originalParams.watchSlidesProgress = true; - }); - on('init', () => { - if (!swiper.params.parallax.enabled) return; - setTranslate(); - }); - on('setTranslate', () => { - if (!swiper.params.parallax.enabled) return; - setTranslate(); - }); - on('setTransition', (_swiper, duration) => { - if (!swiper.params.parallax.enabled) return; - setTransition(duration); - }); -} - -export { Parallax as default }; diff --git a/node_modules/swiper/modules/parallax.scss b/node_modules/swiper/modules/parallax.scss deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/scrollbar-element.css b/node_modules/swiper/modules/scrollbar-element.css deleted file mode 100644 index b6b755e..0000000 --- a/node_modules/swiper/modules/scrollbar-element.css +++ /dev/null @@ -1,58 +0,0 @@ -:host { - /* - --swiper-scrollbar-border-radius: 10px; - --swiper-scrollbar-top: auto; - --swiper-scrollbar-bottom: 4px; - --swiper-scrollbar-left: auto; - --swiper-scrollbar-right: 4px; - --swiper-scrollbar-sides-offset: 1%; - --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1); - --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5); - --swiper-scrollbar-size: 4px; - */ -} -.swiper-scrollbar { - border-radius: var(--swiper-scrollbar-border-radius, 10px); - position: relative; - touch-action: none; - background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1)); -} -.swiper-scrollbar-disabled > .swiper-scrollbar, -.swiper-scrollbar.swiper-scrollbar-disabled { - display: none !important; -} -.swiper-horizontal > .swiper-scrollbar, -.swiper-scrollbar.swiper-scrollbar-horizontal { - position: absolute; - left: var(--swiper-scrollbar-sides-offset, 1%); - bottom: var(--swiper-scrollbar-bottom, 4px); - top: var(--swiper-scrollbar-top, auto); - z-index: 50; - height: var(--swiper-scrollbar-size, 4px); - width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); -} -.swiper-vertical > .swiper-scrollbar, -.swiper-scrollbar.swiper-scrollbar-vertical { - position: absolute; - left: var(--swiper-scrollbar-left, auto); - right: var(--swiper-scrollbar-right, 4px); - top: var(--swiper-scrollbar-sides-offset, 1%); - z-index: 50; - width: var(--swiper-scrollbar-size, 4px); - height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5)); - border-radius: var(--swiper-scrollbar-border-radius, 10px); - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -.swiper-scrollbar-lock { - display: none; -} diff --git a/node_modules/swiper/modules/scrollbar-element.min.css b/node_modules/swiper/modules/scrollbar-element.min.css deleted file mode 100644 index dc9860f..0000000 --- a/node_modules/swiper/modules/scrollbar-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none} \ No newline at end of file diff --git a/node_modules/swiper/modules/scrollbar.css b/node_modules/swiper/modules/scrollbar.css deleted file mode 100644 index 678451c..0000000 --- a/node_modules/swiper/modules/scrollbar.css +++ /dev/null @@ -1,58 +0,0 @@ -:root { - /* - --swiper-scrollbar-border-radius: 10px; - --swiper-scrollbar-top: auto; - --swiper-scrollbar-bottom: 4px; - --swiper-scrollbar-left: auto; - --swiper-scrollbar-right: 4px; - --swiper-scrollbar-sides-offset: 1%; - --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1); - --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5); - --swiper-scrollbar-size: 4px; - */ -} -.swiper-scrollbar { - border-radius: var(--swiper-scrollbar-border-radius, 10px); - position: relative; - touch-action: none; - background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1)); -} -.swiper-scrollbar-disabled > .swiper-scrollbar, -.swiper-scrollbar.swiper-scrollbar-disabled { - display: none !important; -} -.swiper-horizontal > .swiper-scrollbar, -.swiper-scrollbar.swiper-scrollbar-horizontal { - position: absolute; - left: var(--swiper-scrollbar-sides-offset, 1%); - bottom: var(--swiper-scrollbar-bottom, 4px); - top: var(--swiper-scrollbar-top, auto); - z-index: 50; - height: var(--swiper-scrollbar-size, 4px); - width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); -} -.swiper-vertical > .swiper-scrollbar, -.swiper-scrollbar.swiper-scrollbar-vertical { - position: absolute; - left: var(--swiper-scrollbar-left, auto); - right: var(--swiper-scrollbar-right, 4px); - top: var(--swiper-scrollbar-sides-offset, 1%); - z-index: 50; - width: var(--swiper-scrollbar-size, 4px); - height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5)); - border-radius: var(--swiper-scrollbar-border-radius, 10px); - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -.swiper-scrollbar-lock { - display: none; -} diff --git a/node_modules/swiper/modules/scrollbar.less b/node_modules/swiper/modules/scrollbar.less deleted file mode 100644 index 4920d9b..0000000 --- a/node_modules/swiper/modules/scrollbar.less +++ /dev/null @@ -1,59 +0,0 @@ -:root { - /* - --swiper-scrollbar-border-radius: 10px; - --swiper-scrollbar-top: auto; - --swiper-scrollbar-bottom: 4px; - --swiper-scrollbar-left: auto; - --swiper-scrollbar-right: 4px; - --swiper-scrollbar-sides-offset: 1%; - --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1); - --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5); - --swiper-scrollbar-size: 4px; - */ -} -.swiper-scrollbar { - border-radius: var(--swiper-scrollbar-border-radius, 10px); - position: relative; - -ms-touch-action: none; - touch-action: none; - background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1)); - .swiper-scrollbar-disabled > &, - &.swiper-scrollbar-disabled { - display: none !important; - } - .swiper-horizontal > &, - &.swiper-scrollbar-horizontal { - position: absolute; - left: var(--swiper-scrollbar-sides-offset, 1%); - bottom: var(--swiper-scrollbar-bottom, 4px); - top: var(--swiper-scrollbar-top, auto); - z-index: 50; - height: var(--swiper-scrollbar-size, 4px); - width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); - } - .swiper-vertical > &, - &.swiper-scrollbar-vertical { - position: absolute; - left: var(--swiper-scrollbar-left, auto); - right: var(--swiper-scrollbar-right, 4px); - top: var(--swiper-scrollbar-sides-offset, 1%); - z-index: 50; - width: var(--swiper-scrollbar-size, 4px); - height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); - } -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5)); - border-radius: var(--swiper-scrollbar-border-radius, 10px); - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -.swiper-scrollbar-lock { - display: none; -} diff --git a/node_modules/swiper/modules/scrollbar.min.css b/node_modules/swiper/modules/scrollbar.min.css deleted file mode 100644 index dc9860f..0000000 --- a/node_modules/swiper/modules/scrollbar.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none} \ No newline at end of file diff --git a/node_modules/swiper/modules/scrollbar.min.mjs b/node_modules/swiper/modules/scrollbar.min.mjs deleted file mode 100644 index a190521..0000000 --- a/node_modules/swiper/modules/scrollbar.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{g as getDocument}from"../shared/ssr-window.esm.min.mjs";import{m as makeElementsArray,i as classesToTokens,c as createElement,n as nextTick,b as elementOffset}from"../shared/utils.min.mjs";import{c as createElementIfNotDefined}from"../shared/create-element-if-not-defined.min.mjs";import{c as classesToSelector}from"../shared/classes-to-selector.min.mjs";function Scrollbar(s){let{swiper:l,extendParams:e,on:a,emit:r}=s;const t=getDocument();let o,n,i,c,p=!1,m=null,d=null;function b(){if(!l.params.scrollbar.el||!l.scrollbar.el)return;const{scrollbar:s,rtlTranslate:e}=l,{dragEl:a,el:r}=s,t=l.params.scrollbar,o=l.params.loop?l.progressLoop:l.progress;let c=n,p=(i-n)*o;e?(p=-p,p>0?(c=n-p,p=0):-p+n>i&&(c=i+p)):p<0?(c=n+p,p=0):p+n>i&&(c=i-p),l.isHorizontal()?(a.style.transform=`translate3d(${p}px, 0, 0)`,a.style.width=`${c}px`):(a.style.transform=`translate3d(0px, ${p}px, 0)`,a.style.height=`${c}px`),t.hide&&(clearTimeout(m),r.style.opacity=1,m=setTimeout((()=>{r.style.opacity=0,r.style.transitionDuration="400ms"}),1e3))}function u(){if(!l.params.scrollbar.el||!l.scrollbar.el)return;const{scrollbar:s}=l,{dragEl:e,el:a}=s;e.style.width="",e.style.height="",i=l.isHorizontal()?a.offsetWidth:a.offsetHeight,c=l.size/(l.virtualSize+l.params.slidesOffsetBefore-(l.params.centeredSlides?l.snapGrid[0]:0)),n="auto"===l.params.scrollbar.dragSize?i*c:parseInt(l.params.scrollbar.dragSize,10),l.isHorizontal()?e.style.width=`${n}px`:e.style.height=`${n}px`,a.style.display=c>=1?"none":"",l.params.scrollbar.hide&&(a.style.opacity=0),l.params.watchOverflow&&l.enabled&&s.el.classList[l.isLocked?"add":"remove"](l.params.scrollbar.lockClass)}function f(s){return l.isHorizontal()?s.clientX:s.clientY}function g(s){const{scrollbar:e,rtlTranslate:a}=l,{el:r}=e;let t;t=(f(s)-elementOffset(r)[l.isHorizontal()?"left":"top"]-(null!==o?o:n/2))/(i-n),t=Math.max(Math.min(t,1),0),a&&(t=1-t);const c=l.minTranslate()+(l.maxTranslate()-l.minTranslate())*t;l.updateProgress(c),l.setTranslate(c),l.updateActiveIndex(),l.updateSlidesClasses()}function y(s){const e=l.params.scrollbar,{scrollbar:a,wrapperEl:t}=l,{el:n,dragEl:i}=a;p=!0,o=s.target===i?f(s)-s.target.getBoundingClientRect()[l.isHorizontal()?"left":"top"]:null,s.preventDefault(),s.stopPropagation(),t.style.transitionDuration="100ms",i.style.transitionDuration="100ms",g(s),clearTimeout(d),n.style.transitionDuration="0ms",e.hide&&(n.style.opacity=1),l.params.cssMode&&(l.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",s)}function h(s){const{scrollbar:e,wrapperEl:a}=l,{el:t,dragEl:o}=e;p&&(s.preventDefault&&s.cancelable?s.preventDefault():s.returnValue=!1,g(s),a.style.transitionDuration="0ms",t.style.transitionDuration="0ms",o.style.transitionDuration="0ms",r("scrollbarDragMove",s))}function T(s){const e=l.params.scrollbar,{scrollbar:a,wrapperEl:t}=l,{el:o}=a;p&&(p=!1,l.params.cssMode&&(l.wrapperEl.style["scroll-snap-type"]="",t.style.transitionDuration=""),e.hide&&(clearTimeout(d),d=nextTick((()=>{o.style.opacity=0,o.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",s),e.snapOnRelease&&l.slideToClosest())}function v(s){const{scrollbar:e,params:a}=l,r=e.el;if(!r)return;const o=r,n=!!a.passiveListeners&&{passive:!1,capture:!1},i=!!a.passiveListeners&&{passive:!0,capture:!1};if(!o)return;const c="on"===s?"addEventListener":"removeEventListener";o[c]("pointerdown",y,n),t[c]("pointermove",h,n),t[c]("pointerup",T,i)}function D(){const{scrollbar:s,el:e}=l;l.params.scrollbar=createElementIfNotDefined(l,l.originalParams.scrollbar,l.params.scrollbar,{el:"swiper-scrollbar"});const a=l.params.scrollbar;if(!a.el)return;let r,o;if("string"==typeof a.el&&l.isElement&&(r=l.el.querySelector(a.el)),r||"string"!=typeof a.el)r||(r=a.el);else if(r=t.querySelectorAll(a.el),!r.length)return;l.params.uniqueNavElements&&"string"==typeof a.el&&r.length>1&&1===e.querySelectorAll(a.el).length&&(r=e.querySelector(a.el)),r.length>0&&(r=r[0]),r.classList.add(l.isHorizontal()?a.horizontalClass:a.verticalClass),r&&(o=r.querySelector(classesToSelector(l.params.scrollbar.dragClass)),o||(o=createElement("div",l.params.scrollbar.dragClass),r.append(o))),Object.assign(s,{el:r,dragEl:o}),a.draggable&&l.params.scrollbar.el&&l.scrollbar.el&&v("on"),r&&r.classList[l.enabled?"remove":"add"](...classesToTokens(l.params.scrollbar.lockClass))}function C(){const s=l.params.scrollbar,e=l.scrollbar.el;e&&e.classList.remove(...classesToTokens(l.isHorizontal()?s.horizontalClass:s.verticalClass)),l.params.scrollbar.el&&l.scrollbar.el&&v("off")}e({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),l.scrollbar={el:null,dragEl:null},a("changeDirection",(()=>{if(!l.scrollbar||!l.scrollbar.el)return;const s=l.params.scrollbar;let{el:e}=l.scrollbar;e=makeElementsArray(e),e.forEach((e=>{e.classList.remove(s.horizontalClass,s.verticalClass),e.classList.add(l.isHorizontal()?s.horizontalClass:s.verticalClass)}))})),a("init",(()=>{!1===l.params.scrollbar.enabled?E():(D(),u(),b())})),a("update resize observerUpdate lock unlock changeDirection",(()=>{u()})),a("setTranslate",(()=>{b()})),a("setTransition",((s,e)=>{!function(s){l.params.scrollbar.el&&l.scrollbar.el&&(l.scrollbar.dragEl.style.transitionDuration=`${s}ms`)}(e)})),a("enable disable",(()=>{const{el:s}=l.scrollbar;s&&s.classList[l.enabled?"remove":"add"](...classesToTokens(l.params.scrollbar.lockClass))})),a("destroy",(()=>{C()}));const E=()=>{l.el.classList.add(...classesToTokens(l.params.scrollbar.scrollbarDisabledClass)),l.scrollbar.el&&l.scrollbar.el.classList.add(...classesToTokens(l.params.scrollbar.scrollbarDisabledClass)),C()};Object.assign(l.scrollbar,{enable:()=>{l.el.classList.remove(...classesToTokens(l.params.scrollbar.scrollbarDisabledClass)),l.scrollbar.el&&l.scrollbar.el.classList.remove(...classesToTokens(l.params.scrollbar.scrollbarDisabledClass)),D(),u(),b()},disable:E,updateSize:u,setTranslate:b,init:D,destroy:C})}export{Scrollbar as default}; -//# sourceMappingURL=scrollbar.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/scrollbar.min.mjs.map b/node_modules/swiper/modules/scrollbar.min.mjs.map deleted file mode 100644 index 84930e3..0000000 --- a/node_modules/swiper/modules/scrollbar.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scrollbar.mjs.mjs","names":["getDocument","makeElementsArray","classesToTokens","createElement","nextTick","elementOffset","createElementIfNotDefined","classesToSelector","Scrollbar","_ref","swiper","extendParams","on","emit","document","dragStartPos","dragSize","trackSize","divider","isTouched","timeout","dragTimeout","setTranslate","params","scrollbar","el","rtlTranslate","rtl","dragEl","progress","loop","progressLoop","newSize","newPos","isHorizontal","style","transform","width","height","hide","clearTimeout","opacity","setTimeout","transitionDuration","updateSize","offsetWidth","offsetHeight","size","virtualSize","slidesOffsetBefore","centeredSlides","snapGrid","parseInt","display","watchOverflow","enabled","classList","isLocked","lockClass","getPointerPosition","e","clientX","clientY","setDragPosition","positionRatio","Math","max","min","position","minTranslate","maxTranslate","updateProgress","updateActiveIndex","updateSlidesClasses","onDragStart","wrapperEl","target","getBoundingClientRect","preventDefault","stopPropagation","cssMode","onDragMove","cancelable","returnValue","onDragEnd","snapOnRelease","slideToClosest","events","method","activeListener","passiveListeners","passive","capture","passiveListener","eventMethod","init","swiperEl","originalParams","isElement","querySelector","querySelectorAll","length","uniqueNavElements","add","horizontalClass","verticalClass","dragClass","append","Object","assign","draggable","destroy","remove","scrollbarDisabledClass","forEach","subEl","disable","_s","duration","setTransition","enable"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/scrollbar.mjs b/node_modules/swiper/modules/scrollbar.mjs deleted file mode 100644 index 052fee6..0000000 --- a/node_modules/swiper/modules/scrollbar.mjs +++ /dev/null @@ -1,366 +0,0 @@ -import { g as getDocument } from '../shared/ssr-window.esm.mjs'; -import { m as makeElementsArray, i as classesToTokens, c as createElement, n as nextTick, b as elementOffset } from '../shared/utils.mjs'; -import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs'; -import { c as classesToSelector } from '../shared/classes-to-selector.mjs'; - -function Scrollbar(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const document = getDocument(); - let isTouched = false; - let timeout = null; - let dragTimeout = null; - let dragStartPos; - let dragSize; - let trackSize; - let divider; - extendParams({ - scrollbar: { - el: null, - dragSize: 'auto', - hide: false, - draggable: false, - snapOnRelease: true, - lockClass: 'swiper-scrollbar-lock', - dragClass: 'swiper-scrollbar-drag', - scrollbarDisabledClass: 'swiper-scrollbar-disabled', - horizontalClass: `swiper-scrollbar-horizontal`, - verticalClass: `swiper-scrollbar-vertical` - } - }); - swiper.scrollbar = { - el: null, - dragEl: null - }; - function setTranslate() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - const { - scrollbar, - rtlTranslate: rtl - } = swiper; - const { - dragEl, - el - } = scrollbar; - const params = swiper.params.scrollbar; - const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress; - let newSize = dragSize; - let newPos = (trackSize - dragSize) * progress; - if (rtl) { - newPos = -newPos; - if (newPos > 0) { - newSize = dragSize - newPos; - newPos = 0; - } else if (-newPos + dragSize > trackSize) { - newSize = trackSize + newPos; - } - } else if (newPos < 0) { - newSize = dragSize + newPos; - newPos = 0; - } else if (newPos + dragSize > trackSize) { - newSize = trackSize - newPos; - } - if (swiper.isHorizontal()) { - dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`; - dragEl.style.width = `${newSize}px`; - } else { - dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`; - dragEl.style.height = `${newSize}px`; - } - if (params.hide) { - clearTimeout(timeout); - el.style.opacity = 1; - timeout = setTimeout(() => { - el.style.opacity = 0; - el.style.transitionDuration = '400ms'; - }, 1000); - } - } - function setTransition(duration) { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`; - } - function updateSize() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - const { - scrollbar - } = swiper; - const { - dragEl, - el - } = scrollbar; - dragEl.style.width = ''; - dragEl.style.height = ''; - trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight; - divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0)); - if (swiper.params.scrollbar.dragSize === 'auto') { - dragSize = trackSize * divider; - } else { - dragSize = parseInt(swiper.params.scrollbar.dragSize, 10); - } - if (swiper.isHorizontal()) { - dragEl.style.width = `${dragSize}px`; - } else { - dragEl.style.height = `${dragSize}px`; - } - if (divider >= 1) { - el.style.display = 'none'; - } else { - el.style.display = ''; - } - if (swiper.params.scrollbar.hide) { - el.style.opacity = 0; - } - if (swiper.params.watchOverflow && swiper.enabled) { - scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass); - } - } - function getPointerPosition(e) { - return swiper.isHorizontal() ? e.clientX : e.clientY; - } - function setDragPosition(e) { - const { - scrollbar, - rtlTranslate: rtl - } = swiper; - const { - el - } = scrollbar; - let positionRatio; - positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize); - positionRatio = Math.max(Math.min(positionRatio, 1), 0); - if (rtl) { - positionRatio = 1 - positionRatio; - } - const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio; - swiper.updateProgress(position); - swiper.setTranslate(position); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - function onDragStart(e) { - const params = swiper.params.scrollbar; - const { - scrollbar, - wrapperEl - } = swiper; - const { - el, - dragEl - } = scrollbar; - isTouched = true; - dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null; - e.preventDefault(); - e.stopPropagation(); - wrapperEl.style.transitionDuration = '100ms'; - dragEl.style.transitionDuration = '100ms'; - setDragPosition(e); - clearTimeout(dragTimeout); - el.style.transitionDuration = '0ms'; - if (params.hide) { - el.style.opacity = 1; - } - if (swiper.params.cssMode) { - swiper.wrapperEl.style['scroll-snap-type'] = 'none'; - } - emit('scrollbarDragStart', e); - } - function onDragMove(e) { - const { - scrollbar, - wrapperEl - } = swiper; - const { - el, - dragEl - } = scrollbar; - if (!isTouched) return; - if (e.preventDefault && e.cancelable) e.preventDefault();else e.returnValue = false; - setDragPosition(e); - wrapperEl.style.transitionDuration = '0ms'; - el.style.transitionDuration = '0ms'; - dragEl.style.transitionDuration = '0ms'; - emit('scrollbarDragMove', e); - } - function onDragEnd(e) { - const params = swiper.params.scrollbar; - const { - scrollbar, - wrapperEl - } = swiper; - const { - el - } = scrollbar; - if (!isTouched) return; - isTouched = false; - if (swiper.params.cssMode) { - swiper.wrapperEl.style['scroll-snap-type'] = ''; - wrapperEl.style.transitionDuration = ''; - } - if (params.hide) { - clearTimeout(dragTimeout); - dragTimeout = nextTick(() => { - el.style.opacity = 0; - el.style.transitionDuration = '400ms'; - }, 1000); - } - emit('scrollbarDragEnd', e); - if (params.snapOnRelease) { - swiper.slideToClosest(); - } - } - function events(method) { - const { - scrollbar, - params - } = swiper; - const el = scrollbar.el; - if (!el) return; - const target = el; - const activeListener = params.passiveListeners ? { - passive: false, - capture: false - } : false; - const passiveListener = params.passiveListeners ? { - passive: true, - capture: false - } : false; - if (!target) return; - const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; - target[eventMethod]('pointerdown', onDragStart, activeListener); - document[eventMethod]('pointermove', onDragMove, activeListener); - document[eventMethod]('pointerup', onDragEnd, passiveListener); - } - function enableDraggable() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - events('on'); - } - function disableDraggable() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - events('off'); - } - function init() { - const { - scrollbar, - el: swiperEl - } = swiper; - swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, { - el: 'swiper-scrollbar' - }); - const params = swiper.params.scrollbar; - if (!params.el) return; - let el; - if (typeof params.el === 'string' && swiper.isElement) { - el = swiper.el.querySelector(params.el); - } - if (!el && typeof params.el === 'string') { - el = document.querySelectorAll(params.el); - if (!el.length) return; - } else if (!el) { - el = params.el; - } - if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) { - el = swiperEl.querySelector(params.el); - } - if (el.length > 0) el = el[0]; - el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - let dragEl; - if (el) { - dragEl = el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass)); - if (!dragEl) { - dragEl = createElement('div', swiper.params.scrollbar.dragClass); - el.append(dragEl); - } - } - Object.assign(scrollbar, { - el, - dragEl - }); - if (params.draggable) { - enableDraggable(); - } - if (el) { - el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass)); - } - } - function destroy() { - const params = swiper.params.scrollbar; - const el = swiper.scrollbar.el; - if (el) { - el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass)); - } - disableDraggable(); - } - on('changeDirection', () => { - if (!swiper.scrollbar || !swiper.scrollbar.el) return; - const params = swiper.params.scrollbar; - let { - el - } = swiper.scrollbar; - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.classList.remove(params.horizontalClass, params.verticalClass); - subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - }); - }); - on('init', () => { - if (swiper.params.scrollbar.enabled === false) { - // eslint-disable-next-line - disable(); - } else { - init(); - updateSize(); - setTranslate(); - } - }); - on('update resize observerUpdate lock unlock changeDirection', () => { - updateSize(); - }); - on('setTranslate', () => { - setTranslate(); - }); - on('setTransition', (_s, duration) => { - setTransition(duration); - }); - on('enable disable', () => { - const { - el - } = swiper.scrollbar; - if (el) { - el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass)); - } - }); - on('destroy', () => { - destroy(); - }); - const enable = () => { - swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - if (swiper.scrollbar.el) { - swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - } - init(); - updateSize(); - setTranslate(); - }; - const disable = () => { - swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - if (swiper.scrollbar.el) { - swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - } - destroy(); - }; - Object.assign(swiper.scrollbar, { - enable, - disable, - updateSize, - setTranslate, - init, - destroy - }); -} - -export { Scrollbar as default }; diff --git a/node_modules/swiper/modules/scrollbar.scss b/node_modules/swiper/modules/scrollbar.scss deleted file mode 100644 index 93882d3..0000000 --- a/node_modules/swiper/modules/scrollbar.scss +++ /dev/null @@ -1,61 +0,0 @@ -@at-root { - :root { - /* - --swiper-scrollbar-border-radius: 10px; - --swiper-scrollbar-top: auto; - --swiper-scrollbar-bottom: 4px; - --swiper-scrollbar-left: auto; - --swiper-scrollbar-right: 4px; - --swiper-scrollbar-sides-offset: 1%; - --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1); - --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5); - --swiper-scrollbar-size: 4px; - */ - } -} -.swiper-scrollbar { - border-radius: var(--swiper-scrollbar-border-radius, 10px); - position: relative; - -ms-touch-action: none; - touch-action: none; - background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1)); - .swiper-scrollbar-disabled > &, - &.swiper-scrollbar-disabled { - display: none !important; - } - .swiper-horizontal > &, - &.swiper-scrollbar-horizontal { - position: absolute; - left: var(--swiper-scrollbar-sides-offset, 1%); - bottom: var(--swiper-scrollbar-bottom, 4px); - top: var(--swiper-scrollbar-top, auto); - z-index: 50; - height: var(--swiper-scrollbar-size, 4px); - width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); - } - .swiper-vertical > &, - &.swiper-scrollbar-vertical { - position: absolute; - left: var(--swiper-scrollbar-left, auto); - right: var(--swiper-scrollbar-right, 4px); - top: var(--swiper-scrollbar-sides-offset, 1%); - z-index: 50; - width: var(--swiper-scrollbar-size, 4px); - height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); - } -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5)); - border-radius: var(--swiper-scrollbar-border-radius, 10px); - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -.swiper-scrollbar-lock { - display: none; -} diff --git a/node_modules/swiper/modules/thumbs-element.css b/node_modules/swiper/modules/thumbs-element.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/thumbs-element.min.css b/node_modules/swiper/modules/thumbs-element.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/thumbs.css b/node_modules/swiper/modules/thumbs.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/thumbs.less b/node_modules/swiper/modules/thumbs.less deleted file mode 100644 index 9eaa1b3..0000000 --- a/node_modules/swiper/modules/thumbs.less +++ /dev/null @@ -1,5 +0,0 @@ -.swiper-thumbs { - .swiper-slide-thumb-active { - // Styles for active thumb slide - } -} diff --git a/node_modules/swiper/modules/thumbs.min.css b/node_modules/swiper/modules/thumbs.min.css deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/swiper/modules/thumbs.min.mjs b/node_modules/swiper/modules/thumbs.min.mjs deleted file mode 100644 index 80761f5..0000000 --- a/node_modules/swiper/modules/thumbs.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{g as getDocument}from"../shared/ssr-window.esm.min.mjs";import{l as isObject,e as elementChildren}from"../shared/utils.min.mjs";function Thumb(e){let{swiper:s,extendParams:i,on:t}=e;i({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,a=!1;function l(){const e=s.thumbs.swiper;if(!e||e.destroyed)return;const i=e.clickedIndex,t=e.clickedSlide;if(t&&t.classList.contains(s.params.thumbs.slideThumbActiveClass))return;if(null==i)return;let r;r=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):i,s.params.loop?s.slideToLoop(r):s.slideTo(r)}function n(){const{thumbs:e}=s.params;if(r)return!1;r=!0;const i=s.constructor;if(e.swiper instanceof i)s.thumbs.swiper=e.swiper,Object.assign(s.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(s.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),s.thumbs.swiper.update();else if(isObject(e.swiper)){const t=Object.assign({},e.swiper);Object.assign(t,{watchSlidesProgress:!0,slideToClickedSlide:!1}),s.thumbs.swiper=new i(t),a=!0}return s.thumbs.swiper.el.classList.add(s.params.thumbs.thumbsContainerClass),s.thumbs.swiper.on("tap",l),!0}function d(e){const i=s.thumbs.swiper;if(!i||i.destroyed)return;const t="auto"===i.params.slidesPerView?i.slidesPerViewDynamic():i.params.slidesPerView;let r=1;const a=s.params.thumbs.slideThumbActiveClass;if(s.params.slidesPerView>1&&!s.params.centeredSlides&&(r=s.params.slidesPerView),s.params.thumbs.multipleActiveThumbs||(r=1),r=Math.floor(r),i.slides.forEach((e=>e.classList.remove(a))),i.params.loop||i.params.virtual&&i.params.virtual.enabled)for(let e=0;e{e.classList.add(a)}));else for(let e=0;ee.getAttribute("data-swiper-slide-index")===`${s.realIndex}`))[0];a=i.slides.indexOf(e),d=s.activeIndex>s.previousIndex?"next":"prev"}else a=s.realIndex,d=a>s.previousIndex?"next":"prev";n&&(a+="next"===d?l:-1*l),i.visibleSlidesIndexes&&i.visibleSlidesIndexes.indexOf(a)<0&&(i.params.centeredSlides?a=a>r?a-Math.floor(t/2)+1:a+Math.floor(t/2)-1:a>r&&i.params.slidesPerGroup,i.slideTo(a,e?0:void 0))}}s.thumbs={swiper:null},t("beforeInit",(()=>{const{thumbs:e}=s.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const i=getDocument(),t=()=>{const t="string"==typeof e.swiper?i.querySelector(e.swiper):e.swiper;if(t&&t.swiper)e.swiper=t.swiper,n(),d(!0);else if(t){const i=r=>{e.swiper=r.detail[0],t.removeEventListener("init",i),n(),d(!0),e.swiper.update(),s.update()};t.addEventListener("init",i)}return t},r=()=>{if(s.destroyed)return;t()||requestAnimationFrame(r)};requestAnimationFrame(r)}else n(),d(!0)})),t("slideChange update resize observerUpdate",(()=>{d()})),t("setTransition",((e,i)=>{const t=s.thumbs.swiper;t&&!t.destroyed&&t.setTransition(i)})),t("beforeDestroy",(()=>{const e=s.thumbs.swiper;e&&!e.destroyed&&a&&e.destroy()})),Object.assign(s.thumbs,{init:n,update:d})}export{Thumb as default}; -//# sourceMappingURL=thumbs.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/thumbs.min.mjs.map b/node_modules/swiper/modules/thumbs.min.mjs.map deleted file mode 100644 index 6d3de20..0000000 --- a/node_modules/swiper/modules/thumbs.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"thumbs.mjs.mjs","names":["getDocument","isObject","elementChildren","Thumb","_ref","swiper","extendParams","on","thumbs","multipleActiveThumbs","autoScrollOffset","slideThumbActiveClass","thumbsContainerClass","initialized","swiperCreated","onThumbClick","thumbsSwiper","destroyed","clickedIndex","clickedSlide","classList","contains","params","slideToIndex","loop","parseInt","getAttribute","slideToLoop","slideTo","init","thumbsParams","SwiperClass","constructor","Object","assign","originalParams","watchSlidesProgress","slideToClickedSlide","update","thumbsSwiperParams","el","add","initial","slidesPerView","slidesPerViewDynamic","thumbsToActivate","thumbActiveClass","centeredSlides","Math","floor","slides","forEach","slideEl","remove","virtual","enabled","i","slidesEl","realIndex","useOffset","currentThumbsIndex","activeIndex","newThumbsIndex","direction","newThumbsSlide","filter","indexOf","previousIndex","visibleSlidesIndexes","slidesPerGroup","undefined","HTMLElement","document","getThumbsElementAndInit","thumbsElement","querySelector","onThumbsSwiper","e","detail","removeEventListener","addEventListener","watchForThumbsToAppear","requestAnimationFrame","_s","duration","setTransition","destroy"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/thumbs.mjs b/node_modules/swiper/modules/thumbs.mjs deleted file mode 100644 index 92cfc47..0000000 --- a/node_modules/swiper/modules/thumbs.mjs +++ /dev/null @@ -1,192 +0,0 @@ -import { g as getDocument } from '../shared/ssr-window.esm.mjs'; -import { l as isObject, e as elementChildren } from '../shared/utils.mjs'; - -function Thumb(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - thumbs: { - swiper: null, - multipleActiveThumbs: true, - autoScrollOffset: 0, - slideThumbActiveClass: 'swiper-slide-thumb-active', - thumbsContainerClass: 'swiper-thumbs' - } - }); - let initialized = false; - let swiperCreated = false; - swiper.thumbs = { - swiper: null - }; - function onThumbClick() { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - const clickedIndex = thumbsSwiper.clickedIndex; - const clickedSlide = thumbsSwiper.clickedSlide; - if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return; - if (typeof clickedIndex === 'undefined' || clickedIndex === null) return; - let slideToIndex; - if (thumbsSwiper.params.loop) { - slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); - } else { - slideToIndex = clickedIndex; - } - if (swiper.params.loop) { - swiper.slideToLoop(slideToIndex); - } else { - swiper.slideTo(slideToIndex); - } - } - function init() { - const { - thumbs: thumbsParams - } = swiper.params; - if (initialized) return false; - initialized = true; - const SwiperClass = swiper.constructor; - if (thumbsParams.swiper instanceof SwiperClass) { - swiper.thumbs.swiper = thumbsParams.swiper; - Object.assign(swiper.thumbs.swiper.originalParams, { - watchSlidesProgress: true, - slideToClickedSlide: false - }); - Object.assign(swiper.thumbs.swiper.params, { - watchSlidesProgress: true, - slideToClickedSlide: false - }); - swiper.thumbs.swiper.update(); - } else if (isObject(thumbsParams.swiper)) { - const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper); - Object.assign(thumbsSwiperParams, { - watchSlidesProgress: true, - slideToClickedSlide: false - }); - swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams); - swiperCreated = true; - } - swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass); - swiper.thumbs.swiper.on('tap', onThumbClick); - return true; - } - function update(initial) { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView; - - // Activate thumbs - let thumbsToActivate = 1; - const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass; - if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) { - thumbsToActivate = swiper.params.slidesPerView; - } - if (!swiper.params.thumbs.multipleActiveThumbs) { - thumbsToActivate = 1; - } - thumbsToActivate = Math.floor(thumbsToActivate); - thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass)); - if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) { - for (let i = 0; i < thumbsToActivate; i += 1) { - elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach(slideEl => { - slideEl.classList.add(thumbActiveClass); - }); - } - } else { - for (let i = 0; i < thumbsToActivate; i += 1) { - if (thumbsSwiper.slides[swiper.realIndex + i]) { - thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass); - } - } - } - const autoScrollOffset = swiper.params.thumbs.autoScrollOffset; - const useOffset = autoScrollOffset && !thumbsSwiper.params.loop; - if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) { - const currentThumbsIndex = thumbsSwiper.activeIndex; - let newThumbsIndex; - let direction; - if (thumbsSwiper.params.loop) { - const newThumbsSlide = thumbsSwiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`)[0]; - newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide); - direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev'; - } else { - newThumbsIndex = swiper.realIndex; - direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev'; - } - if (useOffset) { - newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset; - } - if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) { - if (thumbsSwiper.params.centeredSlides) { - if (newThumbsIndex > currentThumbsIndex) { - newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1; - } else { - newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1; - } - } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ; - thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined); - } - } - } - on('beforeInit', () => { - const { - thumbs - } = swiper.params; - if (!thumbs || !thumbs.swiper) return; - if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) { - const document = getDocument(); - const getThumbsElementAndInit = () => { - const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper; - if (thumbsElement && thumbsElement.swiper) { - thumbs.swiper = thumbsElement.swiper; - init(); - update(true); - } else if (thumbsElement) { - const onThumbsSwiper = e => { - thumbs.swiper = e.detail[0]; - thumbsElement.removeEventListener('init', onThumbsSwiper); - init(); - update(true); - thumbs.swiper.update(); - swiper.update(); - }; - thumbsElement.addEventListener('init', onThumbsSwiper); - } - return thumbsElement; - }; - const watchForThumbsToAppear = () => { - if (swiper.destroyed) return; - const thumbsElement = getThumbsElementAndInit(); - if (!thumbsElement) { - requestAnimationFrame(watchForThumbsToAppear); - } - }; - requestAnimationFrame(watchForThumbsToAppear); - } else { - init(); - update(true); - } - }); - on('slideChange update resize observerUpdate', () => { - update(); - }); - on('setTransition', (_s, duration) => { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - thumbsSwiper.setTransition(duration); - }); - on('beforeDestroy', () => { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - if (swiperCreated) { - thumbsSwiper.destroy(); - } - }); - Object.assign(swiper.thumbs, { - init, - update - }); -} - -export { Thumb as default }; diff --git a/node_modules/swiper/modules/thumbs.scss b/node_modules/swiper/modules/thumbs.scss deleted file mode 100644 index 9eaa1b3..0000000 --- a/node_modules/swiper/modules/thumbs.scss +++ /dev/null @@ -1,5 +0,0 @@ -.swiper-thumbs { - .swiper-slide-thumb-active { - // Styles for active thumb slide - } -} diff --git a/node_modules/swiper/modules/virtual-element.css b/node_modules/swiper/modules/virtual-element.css deleted file mode 100644 index 432b52b..0000000 --- a/node_modules/swiper/modules/virtual-element.css +++ /dev/null @@ -1,19 +0,0 @@ -.swiper-virtual ::slotted(swiper-slide) { - -webkit-backface-visibility: hidden; - transform: translateZ(0); -} -.swiper-virtual.swiper-css-mode .swiper-wrapper::after { - content: ''; - position: absolute; - left: 0; - top: 0; - pointer-events: none; -} -.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after { - height: 1px; - width: var(--swiper-virtual-size); -} -.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after { - width: 1px; - height: var(--swiper-virtual-size); -} diff --git a/node_modules/swiper/modules/virtual-element.min.css b/node_modules/swiper/modules/virtual-element.min.css deleted file mode 100644 index d0e6043..0000000 --- a/node_modules/swiper/modules/virtual-element.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)} \ No newline at end of file diff --git a/node_modules/swiper/modules/virtual.css b/node_modules/swiper/modules/virtual.css deleted file mode 100644 index 60ebeea..0000000 --- a/node_modules/swiper/modules/virtual.css +++ /dev/null @@ -1,19 +0,0 @@ -.swiper-virtual .swiper-slide { - -webkit-backface-visibility: hidden; - transform: translateZ(0); -} -.swiper-virtual.swiper-css-mode .swiper-wrapper::after { - content: ''; - position: absolute; - left: 0; - top: 0; - pointer-events: none; -} -.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after { - height: 1px; - width: var(--swiper-virtual-size); -} -.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after { - width: 1px; - height: var(--swiper-virtual-size); -} diff --git a/node_modules/swiper/modules/virtual.less b/node_modules/swiper/modules/virtual.less deleted file mode 100644 index 824cc1e..0000000 --- a/node_modules/swiper/modules/virtual.less +++ /dev/null @@ -1,26 +0,0 @@ -.swiper-virtual .swiper-slide { - -webkit-backface-visibility: hidden; - transform: translateZ(0); -} -.swiper-virtual.swiper-css-mode { - .swiper-wrapper::after { - content: ''; - position: absolute; - left: 0; - top: 0; - pointer-events: none; - } -} -.swiper-virtual.swiper-css-mode.swiper-horizontal { - .swiper-wrapper::after { - height: 1px; - width: var(--swiper-virtual-size); - } -} - -.swiper-virtual.swiper-css-mode.swiper-vertical { - .swiper-wrapper::after { - width: 1px; - height: var(--swiper-virtual-size); - } -} diff --git a/node_modules/swiper/modules/virtual.min.css b/node_modules/swiper/modules/virtual.min.css deleted file mode 100644 index dbb4007..0000000 --- a/node_modules/swiper/modules/virtual.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)} \ No newline at end of file diff --git a/node_modules/swiper/modules/virtual.min.mjs b/node_modules/swiper/modules/virtual.min.mjs deleted file mode 100644 index c96dc2b..0000000 --- a/node_modules/swiper/modules/virtual.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{g as getDocument}from"../shared/ssr-window.esm.min.mjs";import{s as setCSSProperty,e as elementChildren,c as createElement}from"../shared/utils.min.mjs";function Virtual(e){let s,{swiper:t,extendParams:i,on:r,emit:a}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=getDocument();t.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const d=l.createElement("div");function n(e,s){const i=t.params.virtual;if(i.cache&&t.virtual.cache[s])return t.virtual.cache[s];let r;return i.renderSlide?(r=i.renderSlide.call(t,e,s),"string"==typeof r&&(d.innerHTML=r,r=d.children[0])):r=t.isElement?createElement("swiper-slide"):createElement("div",t.params.slideClass),r.setAttribute("data-swiper-slide-index",s),i.renderSlide||(r.innerHTML=e),i.cache&&(t.virtual.cache[s]=r),r}function c(e,s){const{slidesPerView:i,slidesPerGroup:r,centeredSlides:l,loop:d,initialSlide:c}=t.params;if(s&&!d&&c>0)return;const{addSlidesBefore:o,addSlidesAfter:u}=t.params.virtual,{from:p,to:h,slides:f,slidesGrid:v,offset:m}=t.virtual;t.params.cssMode||t.updateActiveIndex();const g=t.activeIndex||0;let E,x,w;E=t.rtlTranslate?"right":t.isHorizontal()?"left":"top",l?(x=Math.floor(i/2)+r+u,w=Math.floor(i/2)+r+o):(x=i+(r-1)+u,w=(d?i:r)+o);let S=g-w,b=g+x;d||(S=Math.max(S,0),b=Math.min(b,f.length-1));let A=(t.slidesGrid[S]||0)-(t.slidesGrid[0]||0);function M(){t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),a("virtualUpdate")}if(d&&g>=w?(S-=w,l||(A+=t.slidesGrid[0])):d&&g{e.style[E]=A-Math.abs(t.cssOverflowAdjustment())+"px"})),t.updateProgress(),void a("virtualUpdate");if(t.params.virtual.renderExternal)return t.params.virtual.renderExternal.call(t,{offset:A,from:S,to:b,slides:function(){const e=[];for(let s=S;s<=b;s+=1)e.push(f[s]);return e}()}),void(t.params.virtual.renderExternalUpdate?M():a("virtualUpdate"));const y=[],P=[],j=e=>{let s=e;return e<0?s=f.length+e:s>=f.length&&(s-=f.length),s};if(e)t.slides.filter((e=>e.matches(`.${t.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=p;e<=h;e+=1)if(eb){const s=j(e);t.slides.filter((e=>e.matches(`.${t.params.slideClass}[data-swiper-slide-index="${s}"], swiper-slide[data-swiper-slide-index="${s}"]`))).forEach((e=>{e.remove()}))}const C=d?-f.length:0,G=d?2*f.length:f.length;for(let s=C;s=S&&s<=b){const t=j(s);void 0===h||e?P.push(t):(s>h&&P.push(t),s{t.slidesEl.append(n(f[e],e))})),d)for(let e=y.length-1;e>=0;e-=1){const s=y[e];t.slidesEl.prepend(n(f[s],s))}else y.sort(((e,s)=>s-e)),y.forEach((e=>{t.slidesEl.prepend(n(f[e],e))}));elementChildren(t.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[E]=A-Math.abs(t.cssOverflowAdjustment())+"px"})),M()}r("beforeInit",(()=>{if(!t.params.virtual.enabled)return;let e;if(void 0===t.passedParams.virtual.slides){const s=[...t.slidesEl.children].filter((e=>e.matches(`.${t.params.slideClass}, swiper-slide`)));s&&s.length&&(t.virtual.slides=[...s],e=!0,s.forEach(((e,s)=>{e.setAttribute("data-swiper-slide-index",s),t.virtual.cache[s]=e,e.remove()})))}e||(t.virtual.slides=t.params.virtual.slides),t.classNames.push(`${t.params.containerModifierClass}virtual`),t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0,c(!1,!0)})),r("setTranslate",(()=>{t.params.virtual.enabled&&(t.params.cssMode&&!t._immediateVirtual?(clearTimeout(s),s=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{t.params.virtual.enabled&&t.params.cssMode&&setCSSProperty(t.wrapperEl,"--swiper-virtual-size",`${t.virtualSize}px`)})),Object.assign(t.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let s=0;s{const i=e[t],a=i.getAttribute("data-swiper-slide-index");a&&i.setAttribute("data-swiper-slide-index",parseInt(a,10)+r),s[parseInt(t,10)+r]=i})),t.virtual.cache=s}c(!0),t.slideTo(i,0)},removeSlide:function(e){if(null==e)return;let s=t.activeIndex;if(Array.isArray(e))for(let i=e.length-1;i>=0;i-=1)t.params.virtual.cache&&(delete t.virtual.cache[e[i]],Object.keys(t.virtual.cache).forEach((s=>{s>e&&(t.virtual.cache[s-1]=t.virtual.cache[s],t.virtual.cache[s-1].setAttribute("data-swiper-slide-index",s-1),delete t.virtual.cache[s])}))),t.virtual.slides.splice(e[i],1),e[i]{s>e&&(t.virtual.cache[s-1]=t.virtual.cache[s],t.virtual.cache[s-1].setAttribute("data-swiper-slide-index",s-1),delete t.virtual.cache[s])}))),t.virtual.slides.splice(e,1),e 0) { - return; - } - const { - addSlidesBefore, - addSlidesAfter - } = swiper.params.virtual; - const { - from: previousFrom, - to: previousTo, - slides, - slidesGrid: previousSlidesGrid, - offset: previousOffset - } = swiper.virtual; - if (!swiper.params.cssMode) { - swiper.updateActiveIndex(); - } - const activeIndex = swiper.activeIndex || 0; - let offsetProp; - if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top'; - let slidesAfter; - let slidesBefore; - if (centeredSlides) { - slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter; - slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore; - } else { - slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter; - slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore; - } - let from = activeIndex - slidesBefore; - let to = activeIndex + slidesAfter; - if (!isLoop) { - from = Math.max(from, 0); - to = Math.min(to, slides.length - 1); - } - let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0); - if (isLoop && activeIndex >= slidesBefore) { - from -= slidesBefore; - if (!centeredSlides) offset += swiper.slidesGrid[0]; - } else if (isLoop && activeIndex < slidesBefore) { - from = -slidesBefore; - if (centeredSlides) offset += swiper.slidesGrid[0]; - } - Object.assign(swiper.virtual, { - from, - to, - offset, - slidesGrid: swiper.slidesGrid, - slidesBefore, - slidesAfter - }); - function onRendered() { - swiper.updateSlides(); - swiper.updateProgress(); - swiper.updateSlidesClasses(); - emit('virtualUpdate'); - } - if (previousFrom === from && previousTo === to && !force) { - if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) { - swiper.slides.forEach(slideEl => { - slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`; - }); - } - swiper.updateProgress(); - emit('virtualUpdate'); - return; - } - if (swiper.params.virtual.renderExternal) { - swiper.params.virtual.renderExternal.call(swiper, { - offset, - from, - to, - slides: function getSlides() { - const slidesToRender = []; - for (let i = from; i <= to; i += 1) { - slidesToRender.push(slides[i]); - } - return slidesToRender; - }() - }); - if (swiper.params.virtual.renderExternalUpdate) { - onRendered(); - } else { - emit('virtualUpdate'); - } - return; - } - const prependIndexes = []; - const appendIndexes = []; - const getSlideIndex = index => { - let slideIndex = index; - if (index < 0) { - slideIndex = slides.length + index; - } else if (slideIndex >= slides.length) { - // eslint-disable-next-line - slideIndex = slideIndex - slides.length; - } - return slideIndex; - }; - if (force) { - swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl => { - slideEl.remove(); - }); - } else { - for (let i = previousFrom; i <= previousTo; i += 1) { - if (i < from || i > to) { - const slideIndex = getSlideIndex(i); - swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`)).forEach(slideEl => { - slideEl.remove(); - }); - } - } - } - const loopFrom = isLoop ? -slides.length : 0; - const loopTo = isLoop ? slides.length * 2 : slides.length; - for (let i = loopFrom; i < loopTo; i += 1) { - if (i >= from && i <= to) { - const slideIndex = getSlideIndex(i); - if (typeof previousTo === 'undefined' || force) { - appendIndexes.push(slideIndex); - } else { - if (i > previousTo) appendIndexes.push(slideIndex); - if (i < previousFrom) prependIndexes.push(slideIndex); - } - } - } - appendIndexes.forEach(index => { - swiper.slidesEl.append(renderSlide(slides[index], index)); - }); - if (isLoop) { - for (let i = prependIndexes.length - 1; i >= 0; i -= 1) { - const index = prependIndexes[i]; - swiper.slidesEl.prepend(renderSlide(slides[index], index)); - } - } else { - prependIndexes.sort((a, b) => b - a); - prependIndexes.forEach(index => { - swiper.slidesEl.prepend(renderSlide(slides[index], index)); - }); - } - elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => { - slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`; - }); - onRendered(); - } - function appendSlide(slides) { - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) swiper.virtual.slides.push(slides[i]); - } - } else { - swiper.virtual.slides.push(slides); - } - update(true); - } - function prependSlide(slides) { - const activeIndex = swiper.activeIndex; - let newActiveIndex = activeIndex + 1; - let numberOfNewSlides = 1; - if (Array.isArray(slides)) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) swiper.virtual.slides.unshift(slides[i]); - } - newActiveIndex = activeIndex + slides.length; - numberOfNewSlides = slides.length; - } else { - swiper.virtual.slides.unshift(slides); - } - if (swiper.params.virtual.cache) { - const cache = swiper.virtual.cache; - const newCache = {}; - Object.keys(cache).forEach(cachedIndex => { - const cachedEl = cache[cachedIndex]; - const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index'); - if (cachedElIndex) { - cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides); - } - newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl; - }); - swiper.virtual.cache = newCache; - } - update(true); - swiper.slideTo(newActiveIndex, 0); - } - function removeSlide(slidesIndexes) { - if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return; - let activeIndex = swiper.activeIndex; - if (Array.isArray(slidesIndexes)) { - for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) { - if (swiper.params.virtual.cache) { - delete swiper.virtual.cache[slidesIndexes[i]]; - // shift cache indexes - Object.keys(swiper.virtual.cache).forEach(key => { - if (key > slidesIndexes) { - swiper.virtual.cache[key - 1] = swiper.virtual.cache[key]; - swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1); - delete swiper.virtual.cache[key]; - } - }); - } - swiper.virtual.slides.splice(slidesIndexes[i], 1); - if (slidesIndexes[i] < activeIndex) activeIndex -= 1; - activeIndex = Math.max(activeIndex, 0); - } - } else { - if (swiper.params.virtual.cache) { - delete swiper.virtual.cache[slidesIndexes]; - // shift cache indexes - Object.keys(swiper.virtual.cache).forEach(key => { - if (key > slidesIndexes) { - swiper.virtual.cache[key - 1] = swiper.virtual.cache[key]; - swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1); - delete swiper.virtual.cache[key]; - } - }); - } - swiper.virtual.slides.splice(slidesIndexes, 1); - if (slidesIndexes < activeIndex) activeIndex -= 1; - activeIndex = Math.max(activeIndex, 0); - } - update(true); - swiper.slideTo(activeIndex, 0); - } - function removeAllSlides() { - swiper.virtual.slides = []; - if (swiper.params.virtual.cache) { - swiper.virtual.cache = {}; - } - update(true); - swiper.slideTo(0, 0); - } - on('beforeInit', () => { - if (!swiper.params.virtual.enabled) return; - let domSlidesAssigned; - if (typeof swiper.passedParams.virtual.slides === 'undefined') { - const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)); - if (slides && slides.length) { - swiper.virtual.slides = [...slides]; - domSlidesAssigned = true; - slides.forEach((slideEl, slideIndex) => { - slideEl.setAttribute('data-swiper-slide-index', slideIndex); - swiper.virtual.cache[slideIndex] = slideEl; - slideEl.remove(); - }); - } - } - if (!domSlidesAssigned) { - swiper.virtual.slides = swiper.params.virtual.slides; - } - swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`); - swiper.params.watchSlidesProgress = true; - swiper.originalParams.watchSlidesProgress = true; - update(false, true); - }); - on('setTranslate', () => { - if (!swiper.params.virtual.enabled) return; - if (swiper.params.cssMode && !swiper._immediateVirtual) { - clearTimeout(cssModeTimeout); - cssModeTimeout = setTimeout(() => { - update(); - }, 100); - } else { - update(); - } - }); - on('init update resize', () => { - if (!swiper.params.virtual.enabled) return; - if (swiper.params.cssMode) { - setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`); - } - }); - Object.assign(swiper.virtual, { - appendSlide, - prependSlide, - removeSlide, - removeAllSlides, - update - }); -} - -export { Virtual as default }; diff --git a/node_modules/swiper/modules/virtual.scss b/node_modules/swiper/modules/virtual.scss deleted file mode 100644 index 824cc1e..0000000 --- a/node_modules/swiper/modules/virtual.scss +++ /dev/null @@ -1,26 +0,0 @@ -.swiper-virtual .swiper-slide { - -webkit-backface-visibility: hidden; - transform: translateZ(0); -} -.swiper-virtual.swiper-css-mode { - .swiper-wrapper::after { - content: ''; - position: absolute; - left: 0; - top: 0; - pointer-events: none; - } -} -.swiper-virtual.swiper-css-mode.swiper-horizontal { - .swiper-wrapper::after { - height: 1px; - width: var(--swiper-virtual-size); - } -} - -.swiper-virtual.swiper-css-mode.swiper-vertical { - .swiper-wrapper::after { - width: 1px; - height: var(--swiper-virtual-size); - } -} diff --git a/node_modules/swiper/modules/zoom-element.css b/node_modules/swiper/modules/zoom-element.css deleted file mode 100644 index f81a92b..0000000 --- a/node_modules/swiper/modules/zoom-element.css +++ /dev/null @@ -1,5 +0,0 @@ -/* Zoom container styles start *//* Zoom container styles end */ -::slotted(.swiper-slide-zoomed) { - cursor: move; - touch-action: none; -} diff --git a/node_modules/swiper/modules/zoom-element.min.css b/node_modules/swiper/modules/zoom-element.min.css deleted file mode 100644 index 17d073f..0000000 --- a/node_modules/swiper/modules/zoom-element.min.css +++ /dev/null @@ -1 +0,0 @@ -::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none} \ No newline at end of file diff --git a/node_modules/swiper/modules/zoom.css b/node_modules/swiper/modules/zoom.css deleted file mode 100644 index 40f5b10..0000000 --- a/node_modules/swiper/modules/zoom.css +++ /dev/null @@ -1,21 +0,0 @@ -/* Zoom container styles start */ -.swiper-zoom-container { - width: 100%; - height: 100%; - display: flex; - justify-content: center; - align-items: center; - text-align: center; -} -.swiper-zoom-container > img, -.swiper-zoom-container > svg, -.swiper-zoom-container > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; -} -/* Zoom container styles end */ -.swiper-slide-zoomed { - cursor: move; - touch-action: none; -} diff --git a/node_modules/swiper/modules/zoom.less b/node_modules/swiper/modules/zoom.less deleted file mode 100644 index d226ae9..0000000 --- a/node_modules/swiper/modules/zoom.less +++ /dev/null @@ -1,23 +0,0 @@ -/* Zoom container styles start */ -.swiper-zoom-container { - width: 100%; - height: 100%; - display: flex; - justify-content: center; - align-items: center; - text-align: center; - - > img, - > svg, - > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; - } -} -/* Zoom container styles end */ - -.swiper-slide-zoomed { - cursor: move; - touch-action: none; -} diff --git a/node_modules/swiper/modules/zoom.min.css b/node_modules/swiper/modules/zoom.min.css deleted file mode 100644 index e55cd9a..0000000 --- a/node_modules/swiper/modules/zoom.min.css +++ /dev/null @@ -1 +0,0 @@ -.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none} \ No newline at end of file diff --git a/node_modules/swiper/modules/zoom.min.mjs b/node_modules/swiper/modules/zoom.min.mjs deleted file mode 100644 index f4c9132..0000000 --- a/node_modules/swiper/modules/zoom.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{a as getWindow}from"../shared/ssr-window.esm.min.mjs";import{e as elementChildren,a as elementParents,b as elementOffset,j as getTranslate}from"../shared/utils.min.mjs";function Zoom(e){let{swiper:t,extendParams:i,on:a,emit:r}=e;const s=getWindow();i({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let o,n,l=1,m=!1;const c=[],d={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},u={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},p={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let g,h=1;function E(){if(c.length<2)return 1;const e=c[0].pageX,t=c[0].pageY,i=c[1].pageX,a=c[1].pageY;return Math.sqrt((i-e)**2+(a-t)**2)}function v(){const e=t.params.zoom,i=d.imageWrapEl.getAttribute("data-swiper-zoom")||e.maxRatio;if(e.limitToOriginalSize&&d.imageEl&&d.imageEl.naturalWidth){const e=d.imageEl.naturalWidth/d.imageEl.offsetWidth;return Math.min(e,i)}return i}function f(e){const i=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(i)||t.slides.filter((t=>t.contains(e.target))).length>0}function x(e){if("mouse"===e.pointerType&&c.splice(0,c.length),!f(e))return;const i=t.params.zoom;if(o=!1,n=!1,c.push(e),!(c.length<2)){if(o=!0,d.scaleStart=E(),!d.slideEl){d.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),d.slideEl||(d.slideEl=t.slides[t.activeIndex]);let a=d.slideEl.querySelector(`.${i.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),d.imageEl=a,d.imageWrapEl=a?elementParents(d.imageEl,`.${i.containerClass}`)[0]:void 0,!d.imageWrapEl)return void(d.imageEl=void 0);d.maxRatio=v()}if(d.imageEl){const[e,t]=function(){if(c.length<2)return{x:null,y:null};const e=d.imageEl.getBoundingClientRect();return[(c[0].pageX+(c[1].pageX-c[0].pageX)/2-e.x-s.scrollX)/l,(c[0].pageY+(c[1].pageY-c[0].pageY)/2-e.y-s.scrollY)/l]}();d.originX=e,d.originY=t,d.imageEl.style.transitionDuration="0ms"}m=!0}}function X(e){if(!f(e))return;const i=t.params.zoom,a=t.zoom,r=c.findIndex((t=>t.pointerId===e.pointerId));r>=0&&(c[r]=e),c.length<2||(n=!0,d.scaleMove=E(),d.imageEl&&(a.scale=d.scaleMove/d.scaleStart*l,a.scale>d.maxRatio&&(a.scale=d.maxRatio-1+(a.scale-d.maxRatio+1)**.5),a.scalet.pointerId===e.pointerId));r>=0&&c.splice(r,1),o&&n&&(o=!1,n=!1,d.imageEl&&(a.scale=Math.max(Math.min(a.scale,d.maxRatio),i.minRatio),d.imageEl.style.transitionDuration=`${t.params.speed}ms`,d.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,l=a.scale,m=!1,a.scale>1&&d.slideEl?d.slideEl.classList.add(`${i.zoomedSlideClass}`):a.scale<=1&&d.slideEl&&d.slideEl.classList.remove(`${i.zoomedSlideClass}`),1===a.scale&&(d.originX=0,d.originY=0,d.slideEl=void 0)))}function y(){t.touchEventsData.preventTouchMoveFromPointerMove=!1}function z(e){if(!f(e)||!function(e){const i=`.${t.params.zoom.containerClass}`;return!!e.target.matches(i)||[...t.hostEl.querySelectorAll(i)].filter((t=>t.contains(e.target))).length>0}(e))return;const i=t.zoom;if(!d.imageEl)return;if(!u.isTouched||!d.slideEl)return;u.isMoved||(u.width=d.imageEl.offsetWidth||d.imageEl.clientWidth,u.height=d.imageEl.offsetHeight||d.imageEl.clientHeight,u.startX=getTranslate(d.imageWrapEl,"x")||0,u.startY=getTranslate(d.imageWrapEl,"y")||0,d.slideWidth=d.slideEl.offsetWidth,d.slideHeight=d.slideEl.offsetHeight,d.imageWrapEl.style.transitionDuration="0ms");const a=u.width*i.scale,r=u.height*i.scale;if(a0?c[0].pageX:e.pageX,u.touchesCurrent.y=c.length>0?c[0].pageY:e.pageY;if(Math.max(Math.abs(u.touchesCurrent.x-u.touchesStart.x),Math.abs(u.touchesCurrent.y-u.touchesStart.y))>5&&(t.allowClick=!1),!u.isMoved&&!m){if(t.isHorizontal()&&(Math.floor(u.minX)===Math.floor(u.startX)&&u.touchesCurrent.xu.touchesStart.x))return u.isTouched=!1,void y();if(!t.isHorizontal()&&(Math.floor(u.minY)===Math.floor(u.startY)&&u.touchesCurrent.yu.touchesStart.y))return u.isTouched=!1,void y()}e.cancelable&&e.preventDefault(),e.stopPropagation(),clearTimeout(g),t.touchEventsData.preventTouchMoveFromPointerMove=!0,g=setTimeout((()=>{y()})),u.isMoved=!0;const s=(i.scale-l)/(d.maxRatio-t.params.zoom.minRatio),{originX:o,originY:n}=d;u.currentX=u.touchesCurrent.x-u.touchesStart.x+u.startX+s*(u.width-2*o),u.currentY=u.touchesCurrent.y-u.touchesStart.y+u.startY+s*(u.height-2*n),u.currentXu.maxX&&(u.currentX=u.maxX-1+(u.currentX-u.maxX+1)**.8),u.currentYu.maxY&&(u.currentY=u.maxY-1+(u.currentY-u.maxY+1)**.8),p.prevPositionX||(p.prevPositionX=u.touchesCurrent.x),p.prevPositionY||(p.prevPositionY=u.touchesCurrent.y),p.prevTime||(p.prevTime=Date.now()),p.x=(u.touchesCurrent.x-p.prevPositionX)/(Date.now()-p.prevTime)/2,p.y=(u.touchesCurrent.y-p.prevPositionY)/(Date.now()-p.prevTime)/2,Math.abs(u.touchesCurrent.x-p.prevPositionX)<2&&(p.x=0),Math.abs(u.touchesCurrent.y-p.prevPositionY)<2&&(p.y=0),p.prevPositionX=u.touchesCurrent.x,p.prevPositionY=u.touchesCurrent.y,p.prevTime=Date.now(),d.imageWrapEl.style.transform=`translate3d(${u.currentX}px, ${u.currentY}px,0)`}function C(){const e=t.zoom;d.slideEl&&t.activeIndex!==t.slides.indexOf(d.slideEl)&&(d.imageEl&&(d.imageEl.style.transform="translate3d(0,0,0) scale(1)"),d.imageWrapEl&&(d.imageWrapEl.style.transform="translate3d(0,0,0)"),d.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,l=1,d.slideEl=void 0,d.imageEl=void 0,d.imageWrapEl=void 0,d.originX=0,d.originY=0)}function M(e){const i=t.zoom,a=t.params.zoom;if(!d.slideEl){e&&e.target&&(d.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),d.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?d.slideEl=elementChildren(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:d.slideEl=t.slides[t.activeIndex]);let i=d.slideEl.querySelector(`.${a.containerClass}`);i&&(i=i.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),d.imageEl=i,d.imageWrapEl=i?elementParents(d.imageEl,`.${a.containerClass}`)[0]:void 0}if(!d.imageEl||!d.imageWrapEl)return;let r,o,n,m,c,p,g,h,E,f,x,X,Y,y,z,C,M,w;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),d.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===u.touchesStart.x&&e?(r=e.pageX,o=e.pageY):(r=u.touchesStart.x,o=u.touchesStart.y);const W="number"==typeof e?e:null;1===l&&W&&(r=void 0,o=void 0);const b=v();i.scale=W||b,l=W||b,!e||1===l&&W?(g=0,h=0):(M=d.slideEl.offsetWidth,w=d.slideEl.offsetHeight,n=elementOffset(d.slideEl).left+s.scrollX,m=elementOffset(d.slideEl).top+s.scrollY,c=n+M/2-r,p=m+w/2-o,E=d.imageEl.offsetWidth||d.imageEl.clientWidth,f=d.imageEl.offsetHeight||d.imageEl.clientHeight,x=E*i.scale,X=f*i.scale,Y=Math.min(M/2-x/2,0),y=Math.min(w/2-X/2,0),z=-Y,C=-y,g=c*i.scale,h=p*i.scale,gz&&(g=z),hC&&(h=C)),W&&1===i.scale&&(d.originX=0,d.originY=0),d.imageWrapEl.style.transitionDuration="300ms",d.imageWrapEl.style.transform=`translate3d(${g}px, ${h}px,0)`,d.imageEl.style.transitionDuration="300ms",d.imageEl.style.transform=`translate3d(0,0,0) scale(${i.scale})`}function w(){const e=t.zoom,i=t.params.zoom;if(!d.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?d.slideEl=elementChildren(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:d.slideEl=t.slides[t.activeIndex];let e=d.slideEl.querySelector(`.${i.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),d.imageEl=e,d.imageWrapEl=e?elementParents(d.imageEl,`.${i.containerClass}`)[0]:void 0}d.imageEl&&d.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,l=1,d.imageWrapEl.style.transitionDuration="300ms",d.imageWrapEl.style.transform="translate3d(0,0,0)",d.imageEl.style.transitionDuration="300ms",d.imageEl.style.transform="translate3d(0,0,0) scale(1)",d.slideEl.classList.remove(`${i.zoomedSlideClass}`),d.slideEl=void 0,d.originX=0,d.originY=0)}function W(e){const i=t.zoom;i.scale&&1!==i.scale?w():M(e)}function b(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function S(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:i,activeListenerWithCapture:a}=b();t.wrapperEl.addEventListener("pointerdown",x,i),t.wrapperEl.addEventListener("pointermove",X,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,Y,i)})),t.wrapperEl.addEventListener("pointermove",z,a)}function $(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:i,activeListenerWithCapture:a}=b();t.wrapperEl.removeEventListener("pointerdown",x,i),t.wrapperEl.removeEventListener("pointermove",X,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,Y,i)})),t.wrapperEl.removeEventListener("pointermove",z,a)}Object.defineProperty(t.zoom,"scale",{get:()=>h,set(e){if(h!==e){const t=d.imageEl,i=d.slideEl;r("zoomChange",e,t,i)}h=e}}),a("init",(()=>{t.params.zoom.enabled&&S()})),a("destroy",(()=>{$()})),a("touchStart",((e,i)=>{t.zoom.enabled&&function(e){const i=t.device;if(!d.imageEl)return;if(u.isTouched)return;i.android&&e.cancelable&&e.preventDefault(),u.isTouched=!0;const a=c.length>0?c[0]:e;u.touchesStart.x=a.pageX,u.touchesStart.y=a.pageY}(i)})),a("touchEnd",((e,i)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!d.imageEl)return;if(!u.isTouched||!u.isMoved)return u.isTouched=!1,void(u.isMoved=!1);u.isTouched=!1,u.isMoved=!1;let i=300,a=300;const r=p.x*i,s=u.currentX+r,o=p.y*a,n=u.currentY+o;0!==p.x&&(i=Math.abs((s-u.currentX)/p.x)),0!==p.y&&(a=Math.abs((n-u.currentY)/p.y));const l=Math.max(i,a);u.currentX=s,u.currentY=n;const m=u.width*e.scale,c=u.height*e.scale;u.minX=Math.min(d.slideWidth/2-m/2,0),u.maxX=-u.minX,u.minY=Math.min(d.slideHeight/2-c/2,0),u.maxY=-u.minY,u.currentX=Math.max(Math.min(u.currentX,u.maxX),u.minX),u.currentY=Math.max(Math.min(u.currentY,u.maxY),u.minY),d.imageWrapEl.style.transitionDuration=`${l}ms`,d.imageWrapEl.style.transform=`translate3d(${u.currentX}px, ${u.currentY}px,0)`}()})),a("doubleTap",((e,i)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&W(i)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:S,disable:$,in:M,out:w,toggle:W})}export{Zoom as default}; -//# sourceMappingURL=zoom.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/modules/zoom.min.mjs.map b/node_modules/swiper/modules/zoom.min.mjs.map deleted file mode 100644 index d0b8c71..0000000 --- a/node_modules/swiper/modules/zoom.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"zoom.mjs.mjs","names":["getWindow","elementChildren","elementParents","elementOffset","getTranslate","Zoom","_ref","swiper","extendParams","on","emit","window","zoom","enabled","limitToOriginalSize","maxRatio","minRatio","toggle","containerClass","zoomedSlideClass","fakeGestureTouched","fakeGestureMoved","currentScale","isScaling","evCache","gesture","originX","originY","slideEl","undefined","slideWidth","slideHeight","imageEl","imageWrapEl","image","isTouched","isMoved","currentX","currentY","minX","minY","maxX","maxY","width","height","startX","startY","touchesStart","touchesCurrent","velocity","x","y","prevPositionX","prevPositionY","prevTime","allowTouchMoveTimeout","scale","getDistanceBetweenTouches","length","x1","pageX","y1","pageY","x2","y2","Math","sqrt","getMaxRatio","params","getAttribute","naturalWidth","imageMaxRatio","offsetWidth","min","eventWithinSlide","e","slideSelector","isElement","slideClass","target","matches","slides","filter","contains","onGestureStart","pointerType","splice","push","scaleStart","closest","activeIndex","querySelector","querySelectorAll","box","getBoundingClientRect","scrollX","scrollY","getScaleOrigin","style","transitionDuration","onGestureChange","pointerIndex","findIndex","cachedEv","pointerId","scaleMove","transform","onGestureEnd","type","max","speed","classList","add","remove","allowTouchMove","touchEventsData","preventTouchMoveFromPointerMove","onTouchMove","selector","hostEl","containerEl","eventWithinZoomContainer","clientWidth","offsetHeight","clientHeight","scaledWidth","scaledHeight","abs","allowClick","isHorizontal","floor","cancelable","preventDefault","stopPropagation","clearTimeout","setTimeout","scaleRatio","Date","now","onTransitionEnd","indexOf","zoomIn","virtual","slidesEl","slideActiveClass","touchX","touchY","offsetX","offsetY","diffX","diffY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","cssMode","wrapperEl","overflow","touchAction","forceZoomRatio","left","top","zoomOut","zoomToggle","getListeners","passiveListener","passiveListeners","passive","capture","activeListenerWithCapture","enable","addEventListener","forEach","eventName","disable","removeEventListener","Object","defineProperty","get","set","value","_s","device","android","event","onTouchStart","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","momentumDuration","onTouchEnd","animating","assign","in","out"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/modules/zoom.mjs b/node_modules/swiper/modules/zoom.mjs deleted file mode 100644 index f7cc3f1..0000000 --- a/node_modules/swiper/modules/zoom.mjs +++ /dev/null @@ -1,625 +0,0 @@ -import { a as getWindow } from '../shared/ssr-window.esm.mjs'; -import { e as elementChildren, a as elementParents, b as elementOffset, j as getTranslate } from '../shared/utils.mjs'; - -function Zoom(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const window = getWindow(); - extendParams({ - zoom: { - enabled: false, - limitToOriginalSize: false, - maxRatio: 3, - minRatio: 1, - toggle: true, - containerClass: 'swiper-zoom-container', - zoomedSlideClass: 'swiper-slide-zoomed' - } - }); - swiper.zoom = { - enabled: false - }; - let currentScale = 1; - let isScaling = false; - let fakeGestureTouched; - let fakeGestureMoved; - const evCache = []; - const gesture = { - originX: 0, - originY: 0, - slideEl: undefined, - slideWidth: undefined, - slideHeight: undefined, - imageEl: undefined, - imageWrapEl: undefined, - maxRatio: 3 - }; - const image = { - isTouched: undefined, - isMoved: undefined, - currentX: undefined, - currentY: undefined, - minX: undefined, - minY: undefined, - maxX: undefined, - maxY: undefined, - width: undefined, - height: undefined, - startX: undefined, - startY: undefined, - touchesStart: {}, - touchesCurrent: {} - }; - const velocity = { - x: undefined, - y: undefined, - prevPositionX: undefined, - prevPositionY: undefined, - prevTime: undefined - }; - let scale = 1; - Object.defineProperty(swiper.zoom, 'scale', { - get() { - return scale; - }, - set(value) { - if (scale !== value) { - const imageEl = gesture.imageEl; - const slideEl = gesture.slideEl; - emit('zoomChange', value, imageEl, slideEl); - } - scale = value; - } - }); - function getDistanceBetweenTouches() { - if (evCache.length < 2) return 1; - const x1 = evCache[0].pageX; - const y1 = evCache[0].pageY; - const x2 = evCache[1].pageX; - const y2 = evCache[1].pageY; - const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); - return distance; - } - function getMaxRatio() { - const params = swiper.params.zoom; - const maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio; - if (params.limitToOriginalSize && gesture.imageEl && gesture.imageEl.naturalWidth) { - const imageMaxRatio = gesture.imageEl.naturalWidth / gesture.imageEl.offsetWidth; - return Math.min(imageMaxRatio, maxRatio); - } - return maxRatio; - } - function getScaleOrigin() { - if (evCache.length < 2) return { - x: null, - y: null - }; - const box = gesture.imageEl.getBoundingClientRect(); - return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x - window.scrollX) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y - window.scrollY) / currentScale]; - } - function getSlideSelector() { - return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; - } - function eventWithinSlide(e) { - const slideSelector = getSlideSelector(); - if (e.target.matches(slideSelector)) return true; - if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true; - return false; - } - function eventWithinZoomContainer(e) { - const selector = `.${swiper.params.zoom.containerClass}`; - if (e.target.matches(selector)) return true; - if ([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true; - return false; - } - - // Events - function onGestureStart(e) { - if (e.pointerType === 'mouse') { - evCache.splice(0, evCache.length); - } - if (!eventWithinSlide(e)) return; - const params = swiper.params.zoom; - fakeGestureTouched = false; - fakeGestureMoved = false; - evCache.push(e); - if (evCache.length < 2) { - return; - } - fakeGestureTouched = true; - gesture.scaleStart = getDistanceBetweenTouches(); - if (!gesture.slideEl) { - gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); - if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex]; - let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); - if (imageEl) { - imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; - } - gesture.imageEl = imageEl; - if (imageEl) { - gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; - } else { - gesture.imageWrapEl = undefined; - } - if (!gesture.imageWrapEl) { - gesture.imageEl = undefined; - return; - } - gesture.maxRatio = getMaxRatio(); - } - if (gesture.imageEl) { - const [originX, originY] = getScaleOrigin(); - gesture.originX = originX; - gesture.originY = originY; - gesture.imageEl.style.transitionDuration = '0ms'; - } - isScaling = true; - } - function onGestureChange(e) { - if (!eventWithinSlide(e)) return; - const params = swiper.params.zoom; - const zoom = swiper.zoom; - const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId); - if (pointerIndex >= 0) evCache[pointerIndex] = e; - if (evCache.length < 2) { - return; - } - fakeGestureMoved = true; - gesture.scaleMove = getDistanceBetweenTouches(); - if (!gesture.imageEl) { - return; - } - zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale; - if (zoom.scale > gesture.maxRatio) { - zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5; - } - if (zoom.scale < params.minRatio) { - zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5; - } - gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; - } - function onGestureEnd(e) { - if (!eventWithinSlide(e)) return; - if (e.pointerType === 'mouse' && e.type === 'pointerout') return; - const params = swiper.params.zoom; - const zoom = swiper.zoom; - const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId); - if (pointerIndex >= 0) evCache.splice(pointerIndex, 1); - if (!fakeGestureTouched || !fakeGestureMoved) { - return; - } - fakeGestureTouched = false; - fakeGestureMoved = false; - if (!gesture.imageEl) return; - zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio); - gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`; - gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; - currentScale = zoom.scale; - isScaling = false; - if (zoom.scale > 1 && gesture.slideEl) { - gesture.slideEl.classList.add(`${params.zoomedSlideClass}`); - } else if (zoom.scale <= 1 && gesture.slideEl) { - gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`); - } - if (zoom.scale === 1) { - gesture.originX = 0; - gesture.originY = 0; - gesture.slideEl = undefined; - } - } - let allowTouchMoveTimeout; - function allowTouchMove() { - swiper.touchEventsData.preventTouchMoveFromPointerMove = false; - } - function preventTouchMove() { - clearTimeout(allowTouchMoveTimeout); - swiper.touchEventsData.preventTouchMoveFromPointerMove = true; - allowTouchMoveTimeout = setTimeout(() => { - allowTouchMove(); - }); - } - function onTouchStart(e) { - const device = swiper.device; - if (!gesture.imageEl) return; - if (image.isTouched) return; - if (device.android && e.cancelable) e.preventDefault(); - image.isTouched = true; - const event = evCache.length > 0 ? evCache[0] : e; - image.touchesStart.x = event.pageX; - image.touchesStart.y = event.pageY; - } - function onTouchMove(e) { - if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) { - return; - } - const zoom = swiper.zoom; - if (!gesture.imageEl) { - return; - } - if (!image.isTouched || !gesture.slideEl) { - return; - } - if (!image.isMoved) { - image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth; - image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight; - image.startX = getTranslate(gesture.imageWrapEl, 'x') || 0; - image.startY = getTranslate(gesture.imageWrapEl, 'y') || 0; - gesture.slideWidth = gesture.slideEl.offsetWidth; - gesture.slideHeight = gesture.slideEl.offsetHeight; - gesture.imageWrapEl.style.transitionDuration = '0ms'; - } - // Define if we need image drag - const scaledWidth = image.width * zoom.scale; - const scaledHeight = image.height * zoom.scale; - if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) { - allowTouchMove(); - return; - } - image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); - image.maxX = -image.minX; - image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); - image.maxY = -image.minY; - image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX; - image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY; - const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y)); - if (touchesDiff > 5) { - swiper.allowClick = false; - } - if (!image.isMoved && !isScaling) { - if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) { - image.isTouched = false; - allowTouchMove(); - return; - } - if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) { - image.isTouched = false; - allowTouchMove(); - return; - } - } - if (e.cancelable) { - e.preventDefault(); - } - e.stopPropagation(); - preventTouchMove(); - image.isMoved = true; - const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio); - const { - originX, - originY - } = gesture; - image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2); - image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2); - if (image.currentX < image.minX) { - image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8; - } - if (image.currentX > image.maxX) { - image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8; - } - if (image.currentY < image.minY) { - image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8; - } - if (image.currentY > image.maxY) { - image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8; - } - - // Velocity - if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x; - if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y; - if (!velocity.prevTime) velocity.prevTime = Date.now(); - velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2; - velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2; - if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0; - if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0; - velocity.prevPositionX = image.touchesCurrent.x; - velocity.prevPositionY = image.touchesCurrent.y; - velocity.prevTime = Date.now(); - gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`; - } - function onTouchEnd() { - const zoom = swiper.zoom; - if (!gesture.imageEl) return; - if (!image.isTouched || !image.isMoved) { - image.isTouched = false; - image.isMoved = false; - return; - } - image.isTouched = false; - image.isMoved = false; - let momentumDurationX = 300; - let momentumDurationY = 300; - const momentumDistanceX = velocity.x * momentumDurationX; - const newPositionX = image.currentX + momentumDistanceX; - const momentumDistanceY = velocity.y * momentumDurationY; - const newPositionY = image.currentY + momentumDistanceY; - - // Fix duration - if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x); - if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y); - const momentumDuration = Math.max(momentumDurationX, momentumDurationY); - image.currentX = newPositionX; - image.currentY = newPositionY; - // Define if we need image drag - const scaledWidth = image.width * zoom.scale; - const scaledHeight = image.height * zoom.scale; - image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); - image.maxX = -image.minX; - image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); - image.maxY = -image.minY; - image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX); - image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY); - gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`; - gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`; - } - function onTransitionEnd() { - const zoom = swiper.zoom; - if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) { - if (gesture.imageEl) { - gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)'; - } - if (gesture.imageWrapEl) { - gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)'; - } - gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`); - zoom.scale = 1; - currentScale = 1; - gesture.slideEl = undefined; - gesture.imageEl = undefined; - gesture.imageWrapEl = undefined; - gesture.originX = 0; - gesture.originY = 0; - } - } - function zoomIn(e) { - const zoom = swiper.zoom; - const params = swiper.params.zoom; - if (!gesture.slideEl) { - if (e && e.target) { - gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); - } - if (!gesture.slideEl) { - if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { - gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0]; - } else { - gesture.slideEl = swiper.slides[swiper.activeIndex]; - } - } - let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); - if (imageEl) { - imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; - } - gesture.imageEl = imageEl; - if (imageEl) { - gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; - } else { - gesture.imageWrapEl = undefined; - } - } - if (!gesture.imageEl || !gesture.imageWrapEl) return; - if (swiper.params.cssMode) { - swiper.wrapperEl.style.overflow = 'hidden'; - swiper.wrapperEl.style.touchAction = 'none'; - } - gesture.slideEl.classList.add(`${params.zoomedSlideClass}`); - let touchX; - let touchY; - let offsetX; - let offsetY; - let diffX; - let diffY; - let translateX; - let translateY; - let imageWidth; - let imageHeight; - let scaledWidth; - let scaledHeight; - let translateMinX; - let translateMinY; - let translateMaxX; - let translateMaxY; - let slideWidth; - let slideHeight; - if (typeof image.touchesStart.x === 'undefined' && e) { - touchX = e.pageX; - touchY = e.pageY; - } else { - touchX = image.touchesStart.x; - touchY = image.touchesStart.y; - } - const forceZoomRatio = typeof e === 'number' ? e : null; - if (currentScale === 1 && forceZoomRatio) { - touchX = undefined; - touchY = undefined; - } - const maxRatio = getMaxRatio(); - zoom.scale = forceZoomRatio || maxRatio; - currentScale = forceZoomRatio || maxRatio; - if (e && !(currentScale === 1 && forceZoomRatio)) { - slideWidth = gesture.slideEl.offsetWidth; - slideHeight = gesture.slideEl.offsetHeight; - offsetX = elementOffset(gesture.slideEl).left + window.scrollX; - offsetY = elementOffset(gesture.slideEl).top + window.scrollY; - diffX = offsetX + slideWidth / 2 - touchX; - diffY = offsetY + slideHeight / 2 - touchY; - imageWidth = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth; - imageHeight = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight; - scaledWidth = imageWidth * zoom.scale; - scaledHeight = imageHeight * zoom.scale; - translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0); - translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0); - translateMaxX = -translateMinX; - translateMaxY = -translateMinY; - translateX = diffX * zoom.scale; - translateY = diffY * zoom.scale; - if (translateX < translateMinX) { - translateX = translateMinX; - } - if (translateX > translateMaxX) { - translateX = translateMaxX; - } - if (translateY < translateMinY) { - translateY = translateMinY; - } - if (translateY > translateMaxY) { - translateY = translateMaxY; - } - } else { - translateX = 0; - translateY = 0; - } - if (forceZoomRatio && zoom.scale === 1) { - gesture.originX = 0; - gesture.originY = 0; - } - gesture.imageWrapEl.style.transitionDuration = '300ms'; - gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`; - gesture.imageEl.style.transitionDuration = '300ms'; - gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; - } - function zoomOut() { - const zoom = swiper.zoom; - const params = swiper.params.zoom; - if (!gesture.slideEl) { - if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { - gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0]; - } else { - gesture.slideEl = swiper.slides[swiper.activeIndex]; - } - let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); - if (imageEl) { - imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; - } - gesture.imageEl = imageEl; - if (imageEl) { - gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; - } else { - gesture.imageWrapEl = undefined; - } - } - if (!gesture.imageEl || !gesture.imageWrapEl) return; - if (swiper.params.cssMode) { - swiper.wrapperEl.style.overflow = ''; - swiper.wrapperEl.style.touchAction = ''; - } - zoom.scale = 1; - currentScale = 1; - gesture.imageWrapEl.style.transitionDuration = '300ms'; - gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)'; - gesture.imageEl.style.transitionDuration = '300ms'; - gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)'; - gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`); - gesture.slideEl = undefined; - gesture.originX = 0; - gesture.originY = 0; - } - - // Toggle Zoom - function zoomToggle(e) { - const zoom = swiper.zoom; - if (zoom.scale && zoom.scale !== 1) { - // Zoom Out - zoomOut(); - } else { - // Zoom In - zoomIn(e); - } - } - function getListeners() { - const passiveListener = swiper.params.passiveListeners ? { - passive: true, - capture: false - } : false; - const activeListenerWithCapture = swiper.params.passiveListeners ? { - passive: false, - capture: true - } : true; - return { - passiveListener, - activeListenerWithCapture - }; - } - - // Attach/Detach Events - function enable() { - const zoom = swiper.zoom; - if (zoom.enabled) return; - zoom.enabled = true; - const { - passiveListener, - activeListenerWithCapture - } = getListeners(); - - // Scale image - swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener); - swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture); - ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => { - swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener); - }); - - // Move image - swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture); - } - function disable() { - const zoom = swiper.zoom; - if (!zoom.enabled) return; - zoom.enabled = false; - const { - passiveListener, - activeListenerWithCapture - } = getListeners(); - - // Scale image - swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener); - swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture); - ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => { - swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener); - }); - - // Move image - swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture); - } - on('init', () => { - if (swiper.params.zoom.enabled) { - enable(); - } - }); - on('destroy', () => { - disable(); - }); - on('touchStart', (_s, e) => { - if (!swiper.zoom.enabled) return; - onTouchStart(e); - }); - on('touchEnd', (_s, e) => { - if (!swiper.zoom.enabled) return; - onTouchEnd(); - }); - on('doubleTap', (_s, e) => { - if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) { - zoomToggle(e); - } - }); - on('transitionEnd', () => { - if (swiper.zoom.enabled && swiper.params.zoom.enabled) { - onTransitionEnd(); - } - }); - on('slideChange', () => { - if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) { - onTransitionEnd(); - } - }); - Object.assign(swiper.zoom, { - enable, - disable, - in: zoomIn, - out: zoomOut, - toggle: zoomToggle - }); -} - -export { Zoom as default }; diff --git a/node_modules/swiper/modules/zoom.scss b/node_modules/swiper/modules/zoom.scss deleted file mode 100644 index 1f56449..0000000 --- a/node_modules/swiper/modules/zoom.scss +++ /dev/null @@ -1,21 +0,0 @@ -.swiper-zoom-container { - width: 100%; - height: 100%; - display: flex; - justify-content: center; - align-items: center; - text-align: center; - - > img, - > svg, - > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; - } -} - -.swiper-slide-zoomed { - cursor: move; - touch-action: none; -} diff --git a/node_modules/swiper/package.json b/node_modules/swiper/package.json deleted file mode 100644 index 36fb84a..0000000 --- a/node_modules/swiper/package.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "name": "swiper", - "version": "11.1.3", - "description": "Most modern mobile touch slider and framework with hardware accelerated transitions", - "typings": "swiper.d.ts", - "type": "module", - "main": "./swiper.mjs", - "module": "./swiper.mjs", - "exports": { - ".": { - "types": "./swiper.d.ts", - "default": "./swiper.mjs" - }, - "./effect-utils": { - "types": "./swiper-effect-utils.d.ts", - "default": "./swiper-effect-utils.mjs" - }, - "./core": { - "types": "./swiper.d.ts", - "default": "./swiper.mjs" - }, - "./bundle": { - "types": "./swiper.d.ts", - "default": "./swiper-bundle.mjs" - }, - "./css": "./swiper.css", - "./css/bundle": "./swiper-bundle.css", - "./swiper-bundle.css": "./swiper-bundle.css", - "./css/a11y": "./modules/a11y.css", - "./css/autoplay": "./modules/autoplay.css", - "./css/controller": "./modules/controller.css", - "./css/effect-coverflow": "./modules/effect-coverflow.css", - "./css/effect-cube": "./modules/effect-cube.css", - "./css/effect-fade": "./modules/effect-fade.css", - "./css/effect-flip": "./modules/effect-flip.css", - "./css/effect-creative": "./modules/effect-creative.css", - "./css/effect-cards": "./modules/effect-cards.css", - "./css/free-mode": "./modules/free-mode.css", - "./css/grid": "./modules/grid.css", - "./css/hash-navigation": "./modules/hash-navigation.css", - "./css/history": "./modules/history.css", - "./css/keyboard": "./modules/keyboard.css", - "./css/manipulation": "./modules/manipulation.css", - "./css/mousewheel": "./modules/mousewheel.css", - "./css/navigation": "./modules/navigation.css", - "./css/pagination": "./modules/pagination.css", - "./css/parallax": "./modules/parallax.css", - "./css/scrollbar": "./modules/scrollbar.css", - "./css/thumbs": "./modules/thumbs.css", - "./css/virtual": "./modules/virtual.css", - "./css/zoom": "./modules/zoom.css", - "./less": "./swiper.less", - "./less/a11y": "./modules/a11y.less", - "./less/autoplay": "./modules/autoplay.less", - "./less/controller": "./modules/controller.less", - "./less/effect-coverflow": "./modules/effect-coverflow.less", - "./less/effect-cube": "./modules/effect-cube.less", - "./less/effect-fade": "./modules/effect-fade.less", - "./less/effect-flip": "./modules/effect-flip.less", - "./less/effect-creative": "./modules/effect-creative.less", - "./less/effect-cards": "./modules/effect-cards.less", - "./less/free-mode": "./modules/free-mode.less", - "./less/grid": "./modules/grid.less", - "./less/hash-navigation": "./modules/hash-navigation.less", - "./less/history": "./modules/history.less", - "./less/keyboard": "./modules/keyboard.less", - "./less/manipulation": "./modules/manipulation.less", - "./less/mousewheel": "./modules/mousewheel.less", - "./less/navigation": "./modules/navigation.less", - "./less/pagination": "./modules/pagination.less", - "./less/parallax": "./modules/parallax.less", - "./less/scrollbar": "./modules/scrollbar.less", - "./less/thumbs": "./modules/thumbs.less", - "./less/virtual": "./modules/virtual.less", - "./less/zoom": "./modules/zoom.less", - "./scss": "./swiper.scss", - "./scss/a11y": "./modules/a11y.scss", - "./scss/autoplay": "./modules/autoplay.scss", - "./scss/controller": "./modules/controller.scss", - "./scss/effect-coverflow": "./modules/effect-coverflow.scss", - "./scss/effect-cube": "./modules/effect-cube.scss", - "./scss/effect-fade": "./modules/effect-fade.scss", - "./scss/effect-flip": "./modules/effect-flip.scss", - "./scss/effect-creative": "./modules/effect-creative.scss", - "./scss/effect-cards": "./modules/effect-cards.scss", - "./scss/free-mode": "./modules/free-mode.scss", - "./scss/grid": "./modules/grid.scss", - "./scss/hash-navigation": "./modules/hash-navigation.scss", - "./scss/history": "./modules/history.scss", - "./scss/keyboard": "./modules/keyboard.scss", - "./scss/manipulation": "./modules/manipulation.scss", - "./scss/mousewheel": "./modules/mousewheel.scss", - "./scss/navigation": "./modules/navigation.scss", - "./scss/pagination": "./modules/pagination.scss", - "./scss/parallax": "./modules/parallax.scss", - "./scss/scrollbar": "./modules/scrollbar.scss", - "./scss/thumbs": "./modules/thumbs.scss", - "./scss/virtual": "./modules/virtual.scss", - "./scss/zoom": "./modules/zoom.scss", - "./element": { - "types": "./swiper-element.d.ts", - "default": "./swiper-element.mjs" - }, - "./element/bundle": { - "types": "./swiper-element.d.ts", - "default": "./swiper-element-bundle.mjs" - }, - "./element-bundle": { - "types": "./swiper-element.d.ts", - "default": "./swiper-element-bundle.mjs" - }, - "./element/css/a11y": "./modules/a11y-element.css", - "./element/css/autoplay": "./modules/autoplay-element.css", - "./element/css/controller": "./modules/controller-element.css", - "./element/css/effect-coverflow": "./modules/effect-coverflow-element.css", - "./element/css/effect-cube": "./modules/effect-cube-element.css", - "./element/css/effect-fade": "./modules/effect-fade-element.css", - "./element/css/effect-flip": "./modules/effect-flip-element.css", - "./element/css/effect-creative": "./modules/effect-creative-element.css", - "./element/css/effect-cards": "./modules/effect-cards-element.css", - "./element/css/free-mode": "./modules/free-mode-element.css", - "./element/css/grid": "./modules/grid-element.css", - "./element/css/hash-navigation": "./modules/hash-navigation-element.css", - "./element/css/history": "./modules/history-element.css", - "./element/css/keyboard": "./modules/keyboard-element.css", - "./element/css/manipulation": "./modules/manipulation-element.css", - "./element/css/mousewheel": "./modules/mousewheel-element.css", - "./element/css/navigation": "./modules/navigation-element.css", - "./element/css/pagination": "./modules/pagination-element.css", - "./element/css/parallax": "./modules/parallax-element.css", - "./element/css/scrollbar": "./modules/scrollbar-element.css", - "./element/css/thumbs": "./modules/thumbs-element.css", - "./element/css/virtual": "./modules/virtual-element.css", - "./element/css/zoom": "./modules/zoom-element.css", - "./react": { - "types": "./swiper-react.d.ts", - "default": "./swiper-react.mjs" - }, - "./vue": { - "types": "./swiper-vue.d.ts", - "default": "./swiper-vue.mjs" - }, - "./modules": { - "types": "./types/modules/index.d.ts", - "default": "./modules/index.mjs" - }, - "./types": "./types/index.d.ts", - "./package.json": "./package.json" - }, - "typesVersions": { - "*": { - "modules": [ - "./types/modules/index.d.ts" - ], - "element": [ - "./swiper-element.d.ts" - ], - "element/bundle": [ - "./swiper-element.d.ts" - ], - "react": [ - "./swiper-react.d.ts" - ], - "vue": [ - "./swiper-vue.d.ts" - ] - } - }, - "repository": { - "type": "git", - "url": "https://github.com/nolimits4web/Swiper.git" - }, - "keywords": [ - "swiper", - "swipe", - "slider", - "touch", - "ios", - "mobile", - "cordova", - "phonegap", - "app", - "framework", - "framework7", - "carousel", - "gallery", - "plugin", - "react", - "vue", - "slideshow" - ], - "author": "Vladimir Kharlampidi", - "license": "MIT", - "bugs": { - "url": "https://github.com/nolimits4web/swiper/issues" - }, - "homepage": "https://swiperjs.com", - "funding": [ - { - "type": "patreon", - "url": "https://www.patreon.com/swiperjs" - }, - { - "type": "open_collective", - "url": "http://opencollective.com/swiper" - } - ], - "engines": { - "node": ">= 4.7.0" - }, - "releaseDate": "May 13, 2024" -} diff --git a/node_modules/swiper/shared/classes-to-selector.min.mjs b/node_modules/swiper/shared/classes-to-selector.min.mjs deleted file mode 100644 index f177f5b..0000000 --- a/node_modules/swiper/shared/classes-to-selector.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -function classesToSelector(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}export{classesToSelector as c}; -//# sourceMappingURL=classes-to-selector.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/classes-to-selector.min.mjs.map b/node_modules/swiper/shared/classes-to-selector.min.mjs.map deleted file mode 100644 index d817369..0000000 --- a/node_modules/swiper/shared/classes-to-selector.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"classes-to-selector.mjs.mjs","names":["classesToSelector","classes","trim","replace"],"sources":["0"],"mappings":"AAAA,SAASA,kBAAkBC,GAIzB,YAHgB,IAAZA,IACFA,EAAU,IAEL,IAAIA,EAAQC,OAAOC,QAAQ,eAAgB,QACjDA,QAAQ,KAAM,MACjB,QAESH"} \ No newline at end of file diff --git a/node_modules/swiper/shared/classes-to-selector.mjs b/node_modules/swiper/shared/classes-to-selector.mjs deleted file mode 100644 index dd142d5..0000000 --- a/node_modules/swiper/shared/classes-to-selector.mjs +++ /dev/null @@ -1,9 +0,0 @@ -function classesToSelector(classes) { - if (classes === void 0) { - classes = ''; - } - return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line - .replace(/ /g, '.')}`; -} - -export { classesToSelector as c }; diff --git a/node_modules/swiper/shared/create-element-if-not-defined.min.mjs b/node_modules/swiper/shared/create-element-if-not-defined.min.mjs deleted file mode 100644 index f92d40d..0000000 --- a/node_modules/swiper/shared/create-element-if-not-defined.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{e as elementChildren,c as createElement}from"./utils.min.mjs";function createElementIfNotDefined(e,t,n,a){return e.params.createElements&&Object.keys(a).forEach((l=>{if(!n[l]&&!0===n.auto){let r=elementChildren(e.el,`.${a[l]}`)[0];r||(r=createElement("div",a[l]),r.className=a[l],e.el.append(r)),n[l]=r,t[l]=r}})),n}export{createElementIfNotDefined as c}; -//# sourceMappingURL=create-element-if-not-defined.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/create-element-if-not-defined.min.mjs.map b/node_modules/swiper/shared/create-element-if-not-defined.min.mjs.map deleted file mode 100644 index 85a319b..0000000 --- a/node_modules/swiper/shared/create-element-if-not-defined.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"create-element-if-not-defined.mjs.mjs","names":["elementChildren","createElement","createElementIfNotDefined","swiper","originalParams","params","checkProps","createElements","Object","keys","forEach","key","auto","element","el","className","append"],"sources":["0"],"mappings":"YAAcA,qBAAsBC,kBAAqB,kBAEzD,SAASC,0BAA0BC,EAAQC,EAAgBC,EAAQC,GAejE,OAdIH,EAAOE,OAAOE,gBAChBC,OAAOC,KAAKH,GAAYI,SAAQC,IAC9B,IAAKN,EAAOM,KAAwB,IAAhBN,EAAOO,KAAe,CACxC,IAAIC,EAAUb,gBAAgBG,EAAOW,GAAI,IAAIR,EAAWK,MAAQ,GAC3DE,IACHA,EAAUZ,cAAc,MAAOK,EAAWK,IAC1CE,EAAQE,UAAYT,EAAWK,GAC/BR,EAAOW,GAAGE,OAAOH,IAEnBR,EAAOM,GAAOE,EACdT,EAAeO,GAAOE,CACxB,KAGGR,CACT,QAESH"} \ No newline at end of file diff --git a/node_modules/swiper/shared/create-element-if-not-defined.mjs b/node_modules/swiper/shared/create-element-if-not-defined.mjs deleted file mode 100644 index 10b283f..0000000 --- a/node_modules/swiper/shared/create-element-if-not-defined.mjs +++ /dev/null @@ -1,21 +0,0 @@ -import { e as elementChildren, c as createElement } from './utils.mjs'; - -function createElementIfNotDefined(swiper, originalParams, params, checkProps) { - if (swiper.params.createElements) { - Object.keys(checkProps).forEach(key => { - if (!params[key] && params.auto === true) { - let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0]; - if (!element) { - element = createElement('div', checkProps[key]); - element.className = checkProps[key]; - swiper.el.append(element); - } - params[key] = element; - originalParams[key] = element; - } - }); - } - return params; -} - -export { createElementIfNotDefined as c }; diff --git a/node_modules/swiper/shared/create-shadow.min.mjs b/node_modules/swiper/shared/create-shadow.min.mjs deleted file mode 100644 index ee6b7a7..0000000 --- a/node_modules/swiper/shared/create-shadow.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{g as getSlideTransformEl,c as createElement}from"./utils.min.mjs";function createShadow(e,t,r){const s=`swiper-slide-shadow${r?`-${r}`:""}${e?` swiper-slide-shadow-${e}`:""}`,a=getSlideTransformEl(t);let i=a.querySelector(`.${s.split(" ").join(".")}`);return i||(i=createElement("div",s.split(" ")),a.append(i)),i}export{createShadow as c}; -//# sourceMappingURL=create-shadow.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/create-shadow.min.mjs.map b/node_modules/swiper/shared/create-shadow.min.mjs.map deleted file mode 100644 index 4505556..0000000 --- a/node_modules/swiper/shared/create-shadow.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"create-shadow.mjs.mjs","names":["getSlideTransformEl","createElement","createShadow","suffix","slideEl","side","shadowClass","shadowContainer","shadowEl","querySelector","split","join","append"],"sources":["0"],"mappings":"YAAcA,yBAA0BC,kBAAqB,kBAE7D,SAASC,aAAaC,EAAQC,EAASC,GACrC,MAAMC,EAAc,sBAAsBD,EAAO,IAAIA,IAAS,KAAKF,EAAS,wBAAwBA,IAAW,KACzGI,EAAkBP,oBAAoBI,GAC5C,IAAII,EAAWD,EAAgBE,cAAc,IAAIH,EAAYI,MAAM,KAAKC,KAAK,QAK7E,OAJKH,IACHA,EAAWP,cAAc,MAAOK,EAAYI,MAAM,MAClDH,EAAgBK,OAAOJ,IAElBA,CACT,QAESN"} \ No newline at end of file diff --git a/node_modules/swiper/shared/create-shadow.mjs b/node_modules/swiper/shared/create-shadow.mjs deleted file mode 100644 index 2767e70..0000000 --- a/node_modules/swiper/shared/create-shadow.mjs +++ /dev/null @@ -1,14 +0,0 @@ -import { g as getSlideTransformEl, c as createElement } from './utils.mjs'; - -function createShadow(suffix, slideEl, side) { - const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`; - const shadowContainer = getSlideTransformEl(slideEl); - let shadowEl = shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`); - if (!shadowEl) { - shadowEl = createElement('div', shadowClass.split(' ')); - shadowContainer.append(shadowEl); - } - return shadowEl; -} - -export { createShadow as c }; diff --git a/node_modules/swiper/shared/effect-init.min.mjs b/node_modules/swiper/shared/effect-init.min.mjs deleted file mode 100644 index feed86e..0000000 --- a/node_modules/swiper/shared/effect-init.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -function effectInit(e){const{effect:s,swiper:a,on:t,setTranslate:r,setTransition:i,overwriteParams:n,perspective:o,recreateShadows:f,getEffectParams:l}=e;let c;t("beforeInit",(()=>{if(a.params.effect!==s)return;a.classNames.push(`${a.params.containerModifierClass}${s}`),o&&o()&&a.classNames.push(`${a.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(a.params,e),Object.assign(a.originalParams,e)})),t("setTranslate",(()=>{a.params.effect===s&&r()})),t("setTransition",((e,t)=>{a.params.effect===s&&i(t)})),t("transitionEnd",(()=>{if(a.params.effect===s&&f){if(!l||!l().slideShadows)return;a.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),f()}})),t("virtualUpdate",(()=>{a.params.effect===s&&(a.slides.length||(c=!0),requestAnimationFrame((()=>{c&&a.slides&&a.slides.length&&(r(),c=!1)})))}))}export{effectInit as e}; -//# sourceMappingURL=effect-init.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/effect-init.min.mjs.map b/node_modules/swiper/shared/effect-init.min.mjs.map deleted file mode 100644 index 7250e5b..0000000 --- a/node_modules/swiper/shared/effect-init.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"effect-init.mjs.mjs","names":["effectInit","params","effect","swiper","on","setTranslate","setTransition","overwriteParams","perspective","recreateShadows","getEffectParams","requireUpdateOnVirtual","classNames","push","containerModifierClass","overwriteParamsResult","Object","assign","originalParams","_s","duration","slideShadows","slides","forEach","slideEl","querySelectorAll","shadowEl","remove","length","requestAnimationFrame"],"sources":["0"],"mappings":"AAAA,SAASA,WAAWC,GAClB,MAAMC,OACJA,EAAMC,OACNA,EAAMC,GACNA,EAAEC,aACFA,EAAYC,cACZA,EAAaC,gBACbA,EAAeC,YACfA,EAAWC,gBACXA,EAAeC,gBACfA,GACET,EA+BJ,IAAIU,EA9BJP,EAAG,cAAc,KACf,GAAID,EAAOF,OAAOC,SAAWA,EAAQ,OACrCC,EAAOS,WAAWC,KAAK,GAAGV,EAAOF,OAAOa,yBAAyBZ,KAC7DM,GAAeA,KACjBL,EAAOS,WAAWC,KAAK,GAAGV,EAAOF,OAAOa,4BAE1C,MAAMC,EAAwBR,EAAkBA,IAAoB,CAAC,EACrES,OAAOC,OAAOd,EAAOF,OAAQc,GAC7BC,OAAOC,OAAOd,EAAOe,eAAgBH,EAAsB,IAE7DX,EAAG,gBAAgB,KACbD,EAAOF,OAAOC,SAAWA,GAC7BG,GAAc,IAEhBD,EAAG,iBAAiB,CAACe,EAAIC,KACnBjB,EAAOF,OAAOC,SAAWA,GAC7BI,EAAcc,EAAS,IAEzBhB,EAAG,iBAAiB,KAClB,GAAID,EAAOF,OAAOC,SAAWA,GACzBO,EAAiB,CACnB,IAAKC,IAAoBA,IAAkBW,aAAc,OAEzDlB,EAAOmB,OAAOC,SAAQC,IACpBA,EAAQC,iBAAiB,gHAAgHF,SAAQG,GAAYA,EAASC,UAAS,IAGjLlB,GACF,KAGFL,EAAG,iBAAiB,KACdD,EAAOF,OAAOC,SAAWA,IACxBC,EAAOmB,OAAOM,SACjBjB,GAAyB,GAE3BkB,uBAAsB,KAChBlB,GAA0BR,EAAOmB,QAAUnB,EAAOmB,OAAOM,SAC3DvB,IACAM,GAAyB,EAC3B,IACA,GAEN,QAESX"} \ No newline at end of file diff --git a/node_modules/swiper/shared/effect-init.mjs b/node_modules/swiper/shared/effect-init.mjs deleted file mode 100644 index d418687..0000000 --- a/node_modules/swiper/shared/effect-init.mjs +++ /dev/null @@ -1,58 +0,0 @@ -function effectInit(params) { - const { - effect, - swiper, - on, - setTranslate, - setTransition, - overwriteParams, - perspective, - recreateShadows, - getEffectParams - } = params; - on('beforeInit', () => { - if (swiper.params.effect !== effect) return; - swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`); - if (perspective && perspective()) { - swiper.classNames.push(`${swiper.params.containerModifierClass}3d`); - } - const overwriteParamsResult = overwriteParams ? overwriteParams() : {}; - Object.assign(swiper.params, overwriteParamsResult); - Object.assign(swiper.originalParams, overwriteParamsResult); - }); - on('setTranslate', () => { - if (swiper.params.effect !== effect) return; - setTranslate(); - }); - on('setTransition', (_s, duration) => { - if (swiper.params.effect !== effect) return; - setTransition(duration); - }); - on('transitionEnd', () => { - if (swiper.params.effect !== effect) return; - if (recreateShadows) { - if (!getEffectParams || !getEffectParams().slideShadows) return; - // remove shadows - swiper.slides.forEach(slideEl => { - slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove()); - }); - // create new one - recreateShadows(); - } - }); - let requireUpdateOnVirtual; - on('virtualUpdate', () => { - if (swiper.params.effect !== effect) return; - if (!swiper.slides.length) { - requireUpdateOnVirtual = true; - } - requestAnimationFrame(() => { - if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) { - setTranslate(); - requireUpdateOnVirtual = false; - } - }); - }); -} - -export { effectInit as e }; diff --git a/node_modules/swiper/shared/effect-target.min.mjs b/node_modules/swiper/shared/effect-target.min.mjs deleted file mode 100644 index 9829053..0000000 --- a/node_modules/swiper/shared/effect-target.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{g as getSlideTransformEl}from"./utils.min.mjs";function effectTarget(e,i){const t=getSlideTransformEl(i);return t!==i&&(t.style.backfaceVisibility="hidden",t.style["-webkit-backface-visibility"]="hidden"),t}export{effectTarget as e}; -//# sourceMappingURL=effect-target.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/effect-target.min.mjs.map b/node_modules/swiper/shared/effect-target.min.mjs.map deleted file mode 100644 index 9d0c540..0000000 --- a/node_modules/swiper/shared/effect-target.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"effect-target.mjs.mjs","names":["getSlideTransformEl","effectTarget","effectParams","slideEl","transformEl","style","backfaceVisibility"],"sources":["0"],"mappings":"YAAcA,wBAA2B,kBAEzC,SAASC,aAAaC,EAAcC,GAClC,MAAMC,EAAcJ,oBAAoBG,GAKxC,OAJIC,IAAgBD,IAClBC,EAAYC,MAAMC,mBAAqB,SACvCF,EAAYC,MAAM,+BAAiC,UAE9CD,CACT,QAESH"} \ No newline at end of file diff --git a/node_modules/swiper/shared/effect-target.mjs b/node_modules/swiper/shared/effect-target.mjs deleted file mode 100644 index b1a7b3b..0000000 --- a/node_modules/swiper/shared/effect-target.mjs +++ /dev/null @@ -1,12 +0,0 @@ -import { g as getSlideTransformEl } from './utils.mjs'; - -function effectTarget(effectParams, slideEl) { - const transformEl = getSlideTransformEl(slideEl); - if (transformEl !== slideEl) { - transformEl.style.backfaceVisibility = 'hidden'; - transformEl.style['-webkit-backface-visibility'] = 'hidden'; - } - return transformEl; -} - -export { effectTarget as e }; diff --git a/node_modules/swiper/shared/effect-virtual-transition-end.min.mjs b/node_modules/swiper/shared/effect-virtual-transition-end.min.mjs deleted file mode 100644 index 6071178..0000000 --- a/node_modules/swiper/shared/effect-virtual-transition-end.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{k as elementTransitionEnd}from"./utils.min.mjs";function effectVirtualTransitionEnd(e){let{swiper:t,duration:n,transformElements:r,allSlides:i}=e;const{activeIndex:a}=t;if(t.params.virtualTranslate&&0!==n){let e,n=!1;e=i?r:r.filter((e=>{const n=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter((t=>t.shadowRoot&&t.shadowRoot===e.parentNode))[0];return e.parentElement})(e):e;return t.getSlideIndex(n)===a})),e.forEach((e=>{elementTransitionEnd(e,(()=>{if(n)return;if(!t||t.destroyed)return;n=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}export{effectVirtualTransitionEnd as e}; -//# sourceMappingURL=effect-virtual-transition-end.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/effect-virtual-transition-end.min.mjs.map b/node_modules/swiper/shared/effect-virtual-transition-end.min.mjs.map deleted file mode 100644 index da4e095..0000000 --- a/node_modules/swiper/shared/effect-virtual-transition-end.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"effect-virtual-transition-end.mjs.mjs","names":["elementTransitionEnd","effectVirtualTransitionEnd","_ref","swiper","duration","transformElements","allSlides","activeIndex","params","virtualTranslate","transitionEndTarget","eventTriggered","filter","transformEl","el","classList","contains","parentElement","slides","slideEl","shadowRoot","parentNode","getSlide","getSlideIndex","forEach","destroyed","animating","evt","window","CustomEvent","bubbles","cancelable","wrapperEl","dispatchEvent"],"sources":["0"],"mappings":"YAAcA,yBAA4B,kBAE1C,SAASC,2BAA2BC,GAClC,IAAIC,OACFA,EAAMC,SACNA,EAAQC,kBACRA,EAAiBC,UACjBA,GACEJ,EACJ,MAAMK,YACJA,GACEJ,EASJ,GAAIA,EAAOK,OAAOC,kBAAiC,IAAbL,EAAgB,CACpD,IACIM,EADAC,GAAiB,EAGnBD,EADEJ,EACoBD,EAEAA,EAAkBO,QAAOC,IAC7C,MAAMC,EAAKD,EAAYE,UAAUC,SAAS,0BAf/BF,KACf,IAAKA,EAAGG,cAGN,OADcd,EAAOe,OAAON,QAAOO,GAAWA,EAAQC,YAAcD,EAAQC,aAAeN,EAAGO,aAAY,GAG5G,OAAOP,EAAGG,aAAa,EASmDK,CAAST,GAAeA,EAC9F,OAAOV,EAAOoB,cAAcT,KAAQP,CAAW,IAGnDG,EAAoBc,SAAQV,IAC1Bd,qBAAqBc,GAAI,KACvB,GAAIH,EAAgB,OACpB,IAAKR,GAAUA,EAAOsB,UAAW,OACjCd,GAAiB,EACjBR,EAAOuB,WAAY,EACnB,MAAMC,EAAM,IAAIC,OAAOC,YAAY,gBAAiB,CAClDC,SAAS,EACTC,YAAY,IAEd5B,EAAO6B,UAAUC,cAAcN,EAAI,GACnC,GAEN,CACF,QAES1B"} \ No newline at end of file diff --git a/node_modules/swiper/shared/effect-virtual-transition-end.mjs b/node_modules/swiper/shared/effect-virtual-transition-end.mjs deleted file mode 100644 index 540615e..0000000 --- a/node_modules/swiper/shared/effect-virtual-transition-end.mjs +++ /dev/null @@ -1,48 +0,0 @@ -import { k as elementTransitionEnd } from './utils.mjs'; - -function effectVirtualTransitionEnd(_ref) { - let { - swiper, - duration, - transformElements, - allSlides - } = _ref; - const { - activeIndex - } = swiper; - const getSlide = el => { - if (!el.parentElement) { - // assume shadow root - const slide = swiper.slides.filter(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode)[0]; - return slide; - } - return el.parentElement; - }; - if (swiper.params.virtualTranslate && duration !== 0) { - let eventTriggered = false; - let transitionEndTarget; - if (allSlides) { - transitionEndTarget = transformElements; - } else { - transitionEndTarget = transformElements.filter(transformEl => { - const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl; - return swiper.getSlideIndex(el) === activeIndex; - }); - } - transitionEndTarget.forEach(el => { - elementTransitionEnd(el, () => { - if (eventTriggered) return; - if (!swiper || swiper.destroyed) return; - eventTriggered = true; - swiper.animating = false; - const evt = new window.CustomEvent('transitionend', { - bubbles: true, - cancelable: true - }); - swiper.wrapperEl.dispatchEvent(evt); - }); - }); - } -} - -export { effectVirtualTransitionEnd as e }; diff --git a/node_modules/swiper/shared/get-element-params.min.mjs b/node_modules/swiper/shared/get-element-params.min.mjs deleted file mode 100644 index 8a456d3..0000000 --- a/node_modules/swiper/shared/get-element-params.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{e as extend,i as isObject,c as attrToProp,p as paramsList}from"./update-swiper.min.mjs";import{d as defaults}from"./swiper-core.min.mjs";const formatValue=e=>{if(parseFloat(e)===Number(e))return Number(e);if("true"===e)return!0;if(""===e)return!0;if("false"===e)return!1;if("null"===e)return null;if("undefined"!==e){if("string"==typeof e&&e.includes("{")&&e.includes("}")&&e.includes('"')){let a;try{a=JSON.parse(e)}catch(t){a=e}return a}return e}},modulesParamsList=["a11y","autoplay","controller","cards-effect","coverflow-effect","creative-effect","cube-effect","fade-effect","flip-effect","free-mode","grid","hash-navigation","history","keyboard","mousewheel","navigation","pagination","parallax","scrollbar","thumbs","virtual","zoom"];function getParams(e,a,t){const r={},n={};extend(r,defaults);const i=[...paramsList,"on"],o=i.map((e=>e.replace(/_/,"")));i.forEach((a=>{a=a.replace("_",""),void 0!==e[a]&&(n[a]=e[a])}));const s=[...e.attributes];return"string"==typeof a&&void 0!==t&&s.push({name:a,value:isObject(t)?{...t}:t}),s.forEach((e=>{const a=modulesParamsList.filter((a=>0===e.name.indexOf(`${a}-`)))[0];if(a){const t=attrToProp(a),r=attrToProp(e.name.split(`${a}-`)[1]);void 0===n[t]&&(n[t]={}),!0===n[t]&&(n[t]={enabled:!0}),n[t][r]=formatValue(e.value)}else{const a=attrToProp(e.name);if(!o.includes(a))return;const t=formatValue(e.value);n[a]&&modulesParamsList.includes(e.name)&&!isObject(t)?(n[a].constructor!==Object&&(n[a]={}),n[a].enabled=!!t):n[a]=t}})),extend(r,n),r.navigation?r.navigation={prevEl:".swiper-button-prev",nextEl:".swiper-button-next",...!0!==r.navigation?r.navigation:{}}:!1===r.navigation&&delete r.navigation,r.scrollbar?r.scrollbar={el:".swiper-scrollbar",...!0!==r.scrollbar?r.scrollbar:{}}:!1===r.scrollbar&&delete r.scrollbar,r.pagination?r.pagination={el:".swiper-pagination",...!0!==r.pagination?r.pagination:{}}:!1===r.pagination&&delete r.pagination,{params:r,passedParams:n}}export{getParams as g}; -//# sourceMappingURL=get-element-params.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/get-element-params.min.mjs.map b/node_modules/swiper/shared/get-element-params.min.mjs.map deleted file mode 100644 index 883b699..0000000 --- a/node_modules/swiper/shared/get-element-params.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"get-element-params.mjs.mjs","names":["extend","isObject","attrToProp","paramsList","defaults","formatValue","val","parseFloat","Number","includes","v","JSON","parse","err","modulesParamsList","getParams","element","propName","propValue","params","passedParams","localParamsList","allowedParams","map","key","replace","forEach","paramName","attrsList","attributes","push","name","value","attr","moduleParam","filter","mParam","indexOf","parentObjName","subObjName","split","enabled","constructor","Object","navigation","prevEl","nextEl","scrollbar","el","pagination"],"sources":["0"],"mappings":"YAAcA,YAAaC,cAAeC,gBAAiBC,eAAkB,sCAC/DC,aAAgB,wBAE9B,MAAMC,YAAcC,IAClB,GAAIC,WAAWD,KAASE,OAAOF,GAAM,OAAOE,OAAOF,GACnD,GAAY,SAARA,EAAgB,OAAO,EAC3B,GAAY,KAARA,EAAY,OAAO,EACvB,GAAY,UAARA,EAAiB,OAAO,EAC5B,GAAY,SAARA,EAAgB,OAAO,KAC3B,GAAY,cAARA,EAAJ,CACA,GAAmB,iBAARA,GAAoBA,EAAIG,SAAS,MAAQH,EAAIG,SAAS,MAAQH,EAAIG,SAAS,KAAM,CAC1F,IAAIC,EACJ,IACEA,EAAIC,KAAKC,MAAMN,EACjB,CAAE,MAAOO,GACPH,EAAIJ,CACN,CACA,OAAOI,CACT,CACA,OAAOJ,CAVkC,CAU/B,EAENQ,kBAAoB,CAAC,OAAQ,WAAY,aAAc,eAAgB,mBAAoB,kBAAmB,cAAe,cAAe,cAAe,YAAa,OAAQ,kBAAmB,UAAW,WAAY,aAAc,aAAc,aAAc,WAAY,YAAa,SAAU,UAAW,QACxT,SAASC,UAAUC,EAASC,EAAUC,GACpC,MAAMC,EAAS,CAAC,EACVC,EAAe,CAAC,EACtBpB,OAAOmB,EAAQf,UACf,MAAMiB,EAAkB,IAAIlB,WAAY,MAClCmB,EAAgBD,EAAgBE,KAAIC,GAAOA,EAAIC,QAAQ,IAAK,MAGlEJ,EAAgBK,SAAQC,IACtBA,EAAYA,EAAUF,QAAQ,IAAK,SACD,IAAvBT,EAAQW,KACjBP,EAAaO,GAAaX,EAAQW,GACpC,IAIF,MAAMC,EAAY,IAAIZ,EAAQa,YA6D9B,MA5DwB,iBAAbZ,QAA8C,IAAdC,GACzCU,EAAUE,KAAK,CACbC,KAAMd,EACNe,MAAO/B,SAASiB,GAAa,IACxBA,GACDA,IAGRU,EAAUF,SAAQO,IAChB,MAAMC,EAAcpB,kBAAkBqB,QAAOC,GAA8C,IAApCH,EAAKF,KAAKM,QAAQ,GAAGD,QAAkB,GAC9F,GAAIF,EAAa,CACf,MAAMI,EAAgBpC,WAAWgC,GAC3BK,EAAarC,WAAW+B,EAAKF,KAAKS,MAAM,GAAGN,MAAgB,SACtB,IAAhCd,EAAakB,KAAgClB,EAAakB,GAAiB,CAAC,IACnD,IAAhClB,EAAakB,KACflB,EAAakB,GAAiB,CAC5BG,SAAS,IAGbrB,EAAakB,GAAeC,GAAclC,YAAY4B,EAAKD,MAC7D,KAAO,CACL,MAAMD,EAAO7B,WAAW+B,EAAKF,MAC7B,IAAKT,EAAcb,SAASsB,GAAO,OACnC,MAAMC,EAAQ3B,YAAY4B,EAAKD,OAC3BZ,EAAaW,IAASjB,kBAAkBL,SAASwB,EAAKF,QAAU9B,SAAS+B,IACvEZ,EAAaW,GAAMW,cAAgBC,SACrCvB,EAAaW,GAAQ,CAAC,GAExBX,EAAaW,GAAMU,UAAYT,GAE/BZ,EAAaW,GAAQC,CAEzB,KAEFhC,OAAOmB,EAAQC,GACXD,EAAOyB,WACTzB,EAAOyB,WAAa,CAClBC,OAAQ,sBACRC,OAAQ,0BACkB,IAAtB3B,EAAOyB,WAAsBzB,EAAOyB,WAAa,CAAC,IAEzB,IAAtBzB,EAAOyB,mBACTzB,EAAOyB,WAEZzB,EAAO4B,UACT5B,EAAO4B,UAAY,CACjBC,GAAI,wBACqB,IAArB7B,EAAO4B,UAAqB5B,EAAO4B,UAAY,CAAC,IAExB,IAArB5B,EAAO4B,kBACT5B,EAAO4B,UAEZ5B,EAAO8B,WACT9B,EAAO8B,WAAa,CAClBD,GAAI,yBACsB,IAAtB7B,EAAO8B,WAAsB9B,EAAO8B,WAAa,CAAC,IAEzB,IAAtB9B,EAAO8B,mBACT9B,EAAO8B,WAET,CACL9B,SACAC,eAEJ,QAESL"} \ No newline at end of file diff --git a/node_modules/swiper/shared/get-element-params.mjs b/node_modules/swiper/shared/get-element-params.mjs deleted file mode 100644 index eb00b03..0000000 --- a/node_modules/swiper/shared/get-element-params.mjs +++ /dev/null @@ -1,106 +0,0 @@ -import { e as extend, i as isObject, c as attrToProp, p as paramsList } from './update-swiper.mjs'; -import { d as defaults } from './swiper-core.mjs'; - -const formatValue = val => { - if (parseFloat(val) === Number(val)) return Number(val); - if (val === 'true') return true; - if (val === '') return true; - if (val === 'false') return false; - if (val === 'null') return null; - if (val === 'undefined') return undefined; - if (typeof val === 'string' && val.includes('{') && val.includes('}') && val.includes('"')) { - let v; - try { - v = JSON.parse(val); - } catch (err) { - v = val; - } - return v; - } - return val; -}; -const modulesParamsList = ['a11y', 'autoplay', 'controller', 'cards-effect', 'coverflow-effect', 'creative-effect', 'cube-effect', 'fade-effect', 'flip-effect', 'free-mode', 'grid', 'hash-navigation', 'history', 'keyboard', 'mousewheel', 'navigation', 'pagination', 'parallax', 'scrollbar', 'thumbs', 'virtual', 'zoom']; -function getParams(element, propName, propValue) { - const params = {}; - const passedParams = {}; - extend(params, defaults); - const localParamsList = [...paramsList, 'on']; - const allowedParams = localParamsList.map(key => key.replace(/_/, '')); - - // First check props - localParamsList.forEach(paramName => { - paramName = paramName.replace('_', ''); - if (typeof element[paramName] !== 'undefined') { - passedParams[paramName] = element[paramName]; - } - }); - - // Attributes - const attrsList = [...element.attributes]; - if (typeof propName === 'string' && typeof propValue !== 'undefined') { - attrsList.push({ - name: propName, - value: isObject(propValue) ? { - ...propValue - } : propValue - }); - } - attrsList.forEach(attr => { - const moduleParam = modulesParamsList.filter(mParam => attr.name.indexOf(`${mParam}-`) === 0)[0]; - if (moduleParam) { - const parentObjName = attrToProp(moduleParam); - const subObjName = attrToProp(attr.name.split(`${moduleParam}-`)[1]); - if (typeof passedParams[parentObjName] === 'undefined') passedParams[parentObjName] = {}; - if (passedParams[parentObjName] === true) { - passedParams[parentObjName] = { - enabled: true - }; - } - passedParams[parentObjName][subObjName] = formatValue(attr.value); - } else { - const name = attrToProp(attr.name); - if (!allowedParams.includes(name)) return; - const value = formatValue(attr.value); - if (passedParams[name] && modulesParamsList.includes(attr.name) && !isObject(value)) { - if (passedParams[name].constructor !== Object) { - passedParams[name] = {}; - } - passedParams[name].enabled = !!value; - } else { - passedParams[name] = value; - } - } - }); - extend(params, passedParams); - if (params.navigation) { - params.navigation = { - prevEl: '.swiper-button-prev', - nextEl: '.swiper-button-next', - ...(params.navigation !== true ? params.navigation : {}) - }; - } else if (params.navigation === false) { - delete params.navigation; - } - if (params.scrollbar) { - params.scrollbar = { - el: '.swiper-scrollbar', - ...(params.scrollbar !== true ? params.scrollbar : {}) - }; - } else if (params.scrollbar === false) { - delete params.scrollbar; - } - if (params.pagination) { - params.pagination = { - el: '.swiper-pagination', - ...(params.pagination !== true ? params.pagination : {}) - }; - } else if (params.pagination === false) { - delete params.pagination; - } - return { - params, - passedParams - }; -} - -export { getParams as g }; diff --git a/node_modules/swiper/shared/ssr-window.esm.min.mjs b/node_modules/swiper/shared/ssr-window.esm.min.mjs deleted file mode 100644 index 4ee44c8..0000000 --- a/node_modules/swiper/shared/ssr-window.esm.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -function isObject(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function extend(e,t){void 0===e&&(e={}),void 0===t&&(t={}),Object.keys(t).forEach((n=>{void 0===e[n]?e[n]=t[n]:isObject(t[n])&&isObject(e[n])&&Object.keys(t[n]).length>0&&extend(e[n],t[n])}))}const ssrDocument={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function getDocument(){const e="undefined"!=typeof document?document:{};return extend(e,ssrDocument),e}const ssrWindow={document:ssrDocument,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function getWindow(){const e="undefined"!=typeof window?window:{};return extend(e,ssrWindow),e}export{getWindow as a,getDocument as g}; -//# sourceMappingURL=ssr-window.esm.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/ssr-window.esm.min.mjs.map b/node_modules/swiper/shared/ssr-window.esm.min.mjs.map deleted file mode 100644 index 2a3d646..0000000 --- a/node_modules/swiper/shared/ssr-window.esm.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ssr-window.esm.mjs.mjs","names":["isObject","obj","constructor","Object","extend","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window"],"sources":["0"],"mappings":"AAYA,SAASA,SAASC,GAChB,OAAe,OAARA,GAA+B,iBAARA,GAAoB,gBAAiBA,GAAOA,EAAIC,cAAgBC,MAChG,CACA,SAASC,OAAOC,EAAQC,QACP,IAAXD,IACFA,EAAS,CAAC,QAEA,IAARC,IACFA,EAAM,CAAC,GAETH,OAAOI,KAAKD,GAAKE,SAAQC,SACI,IAAhBJ,EAAOI,GAAsBJ,EAAOI,GAAOH,EAAIG,GAAcT,SAASM,EAAIG,KAAST,SAASK,EAAOI,KAASN,OAAOI,KAAKD,EAAIG,IAAMC,OAAS,GACpJN,OAAOC,EAAOI,GAAMH,EAAIG,GAC1B,GAEJ,CACA,MAAME,YAAc,CAClBC,KAAM,CAAC,EACP,gBAAAC,GAAoB,EACpB,mBAAAC,GAAuB,EACvBC,cAAe,CACb,IAAAC,GAAQ,EACRC,SAAU,IAEZC,cAAa,IACJ,KAETC,iBAAgB,IACP,GAETC,eAAc,IACL,KAETC,YAAW,KACF,CACL,SAAAC,GAAa,IAGjBC,cAAa,KACJ,CACLC,SAAU,GACVC,WAAY,GACZC,MAAO,CAAC,EACR,YAAAC,GAAgB,EAChBC,qBAAoB,IACX,KAIbC,gBAAe,KACN,CAAC,GAEVC,WAAU,IACD,KAETC,SAAU,CACRC,KAAM,GACNC,KAAM,GACNC,SAAU,GACVC,KAAM,GACNC,OAAQ,GACRC,SAAU,GACVC,SAAU,GACVC,OAAQ,KAGZ,SAASC,cACP,MAAMC,EAA0B,oBAAbC,SAA2BA,SAAW,CAAC,EAE1D,OADAtC,OAAOqC,EAAK9B,aACL8B,CACT,CACA,MAAME,UAAY,CAChBD,SAAU/B,YACViC,UAAW,CACTC,UAAW,IAEbd,SAAU,CACRC,KAAM,GACNC,KAAM,GACNC,SAAU,GACVC,KAAM,GACNC,OAAQ,GACRC,SAAU,GACVC,SAAU,GACVC,OAAQ,IAEVO,QAAS,CACP,YAAAC,GAAgB,EAChB,SAAAC,GAAa,EACb,EAAAC,GAAM,EACN,IAAAC,GAAQ,GAEVC,YAAa,WACX,OAAOC,IACT,EACA,gBAAAvC,GAAoB,EACpB,mBAAAC,GAAuB,EACvBuC,iBAAgB,KACP,CACLC,iBAAgB,IACP,KAIb,KAAAC,GAAS,EACT,IAAAC,GAAQ,EACRC,OAAQ,CAAC,EACT,UAAAC,GAAc,EACd,YAAAC,GAAgB,EAChBC,WAAU,KACD,CAAC,GAEVC,sBAAsBC,GACM,oBAAfJ,YACTI,IACO,MAEFJ,WAAWI,EAAU,GAE9B,oBAAAC,CAAqBC,GACO,oBAAfN,YAGXC,aAAaK,EACf,GAEF,SAASC,YACP,MAAMC,EAAwB,oBAAXC,OAAyBA,OAAS,CAAC,EAEtD,OADA/D,OAAO8D,EAAKvB,WACLuB,CACT,QAESD,eAAgBzB"} \ No newline at end of file diff --git a/node_modules/swiper/shared/ssr-window.esm.mjs b/node_modules/swiper/shared/ssr-window.esm.mjs deleted file mode 100644 index 874f0e9..0000000 --- a/node_modules/swiper/shared/ssr-window.esm.mjs +++ /dev/null @@ -1,145 +0,0 @@ -/** - * SSR Window 4.0.2 - * Better handling for window object in SSR environment - * https://github.com/nolimits4web/ssr-window - * - * Copyright 2021, Vladimir Kharlampidi - * - * Licensed under MIT - * - * Released on: December 13, 2021 - */ -/* eslint-disable no-param-reassign */ -function isObject(obj) { - return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object; -} -function extend(target, src) { - if (target === void 0) { - target = {}; - } - if (src === void 0) { - src = {}; - } - Object.keys(src).forEach(key => { - if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) { - extend(target[key], src[key]); - } - }); -} -const ssrDocument = { - 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 getDocument() { - const doc = typeof document !== 'undefined' ? document : {}; - extend(doc, ssrDocument); - return doc; -} -const ssrWindow = { - document: ssrDocument, - navigator: { - userAgent: '' - }, - location: { - hash: '', - host: '', - hostname: '', - href: '', - origin: '', - pathname: '', - protocol: '', - search: '' - }, - history: { - replaceState() {}, - pushState() {}, - go() {}, - back() {} - }, - CustomEvent: function CustomEvent() { - return this; - }, - addEventListener() {}, - removeEventListener() {}, - getComputedStyle() { - return { - getPropertyValue() { - return ''; - } - }; - }, - Image() {}, - Date() {}, - screen: {}, - setTimeout() {}, - clearTimeout() {}, - matchMedia() { - return {}; - }, - requestAnimationFrame(callback) { - if (typeof setTimeout === 'undefined') { - callback(); - return null; - } - return setTimeout(callback, 0); - }, - cancelAnimationFrame(id) { - if (typeof setTimeout === 'undefined') { - return; - } - clearTimeout(id); - } -}; -function getWindow() { - const win = typeof window !== 'undefined' ? window : {}; - extend(win, ssrWindow); - return win; -} - -export { getWindow as a, getDocument as g }; diff --git a/node_modules/swiper/shared/swiper-core.min.mjs b/node_modules/swiper/shared/swiper-core.min.mjs deleted file mode 100644 index a454227..0000000 --- a/node_modules/swiper/shared/swiper-core.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{a as getWindow,g as getDocument}from"./ssr-window.esm.min.mjs";import{a as elementParents,o as elementStyle,e as elementChildren,s as setCSSProperty,f as elementOuterSize,p as elementNextAll,q as elementPrevAll,j as getTranslate,r as animateCSSModeScroll,n as nextTick,t as showWarning,c as createElement,d as now,u as extend,h as elementIndex,v as deleteProps}from"./utils.min.mjs";let support,deviceCached,browser;function calcSupport(){const e=getWindow(),t=getDocument();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}function getSupport(){return support||(support=calcSupport()),support}function calcDevice(e){let{userAgent:t}=void 0===e?{}:e;const s=getSupport(),i=getWindow(),r=i.navigator.platform,n=t||i.navigator.userAgent,a={ios:!1,android:!1},l=i.screen.width,o=i.screen.height,d=n.match(/(Android);?[\s\/]+([\d.]+)?/);let c=n.match(/(iPad).*OS\s([\d_]+)/);const p=n.match(/(iPod)(.*OS\s([\d_]+))?/),u=!c&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===r;let m="MacIntel"===r;return!c&&m&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${l}x${o}`)>=0&&(c=n.match(/(Version)\/([\d.]+)/),c||(c=[0,1,"13_0_0"]),m=!1),d&&!h&&(a.os="android",a.android=!0),(c||u||p)&&(a.os="ios",a.ios=!0),a}function getDevice(e){return void 0===e&&(e={}),deviceCached||(deviceCached=calcDevice(e)),deviceCached}function calcBrowser(){const e=getWindow(),t=getDevice();let s=!1;function i(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(i()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,i]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&i<2}}const r=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=i();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||r&&t.ios,isWebView:r}}function getBrowser(){return browser||(browser=calcBrowser()),browser}function Resize(e){let{swiper:t,on:s,emit:i}=e;const r=getWindow();let n=null,a=null;const l=()=>{t&&!t.destroyed&&t.initialized&&(i("beforeResize"),i("resize"))},o=()=>{t&&!t.destroyed&&t.initialized&&i("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==r.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{a=r.requestAnimationFrame((()=>{const{width:s,height:i}=t;let r=s,n=i;e.forEach((e=>{let{contentBoxSize:s,contentRect:i,target:a}=e;a&&a!==t.el||(r=i?i.width:(s[0]||s).inlineSize,n=i?i.height:(s[0]||s).blockSize)})),r===s&&n===i||l()}))})),n.observe(t.el)):(r.addEventListener("resize",l),r.addEventListener("orientationchange",o))})),s("destroy",(()=>{a&&r.cancelAnimationFrame(a),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),r.removeEventListener("resize",l),r.removeEventListener("orientationchange",o)}))}function Observer(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const n=[],a=getWindow(),l=function(e,s){void 0===s&&(s={});const i=new(a.MutationObserver||a.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void r("observerUpdate",e[0]);const s=function(){r("observerUpdate",e[0])};a.requestAnimationFrame?a.requestAnimationFrame(s):a.setTimeout(s,0)}));i.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),n.push(i)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),i("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=elementParents(t.hostEl);for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}var eventsEmitter={on(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;const r=s?"unshift":"push";return e.split(" ").forEach((e=>{i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][r](t)})),i},once(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;function r(){i.off(e,r),r.__emitterProxy&&delete r.__emitterProxy;for(var s=arguments.length,n=new Array(s),a=0;a=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((i,r)=>{(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&s.eventsListeners[e].splice(r,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,i;for(var r=arguments.length,n=new Array(r),a=0;a{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(i,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(i,s)}))})),e}};function updateSize(){const e=this;let t,s;const i=e.el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:i.clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:i.clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(elementStyle(i,"padding-left")||0,10)-parseInt(elementStyle(i,"padding-right")||0,10),s=s-parseInt(elementStyle(i,"padding-top")||0,10)-parseInt(elementStyle(i,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))}function updateSlides(){const e=this;function t(t,s){return parseFloat(t.getPropertyValue(e.getDirectionLabel(s))||0)}const s=e.params,{wrapperEl:i,slidesEl:r,size:n,rtlTranslate:a,wrongRTL:l}=e,o=e.virtual&&s.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=elementChildren(r,`.${e.params.slideClass}, swiper-slide`),p=o?e.virtual.slides.length:c.length;let u=[];const h=[],m=[];let f=s.slidesOffsetBefore;"function"==typeof f&&(f=s.slidesOffsetBefore.call(e));let v=s.slidesOffsetAfter;"function"==typeof v&&(v=s.slidesOffsetAfter.call(e));const g=e.snapGrid.length,w=e.slidesGrid.length;let S=s.spaceBetween,T=-f,b=0,x=0;if(void 0===n)return;"string"==typeof S&&S.indexOf("%")>=0?S=parseFloat(S.replace("%",""))/100*n:"string"==typeof S&&(S=parseFloat(S)),e.virtualSize=-S,c.forEach((e=>{a?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(setCSSProperty(i,"--swiper-centered-offset-before",""),setCSSProperty(i,"--swiper-centered-offset-after",""));const y=s.grid&&s.grid.rows>1&&e.grid;let E;y?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const C="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let i=0;i1&&u.push(e.virtualSize-n)}if(o&&s.loop){const t=m[0]+S;if(s.slidesPerGroup>1){const i=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),r=t*s.slidesPerGroup;for(let e=0;e!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${S}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;m.forEach((t=>{e+=t+(S||0)})),e-=S;const t=e-n;u=u.map((e=>e<=0?-f:e>t?t+v:e))}if(s.centerInsufficientSlides){let e=0;m.forEach((t=>{e+=t+(S||0)})),e-=S;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t{u[t]=e-s})),h.forEach(((e,t)=>{h[t]=e+s}))}}if(Object.assign(e,{slides:c,snapGrid:u,slidesGrid:h,slidesSizesGrid:m}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){setCSSProperty(i,"--swiper-centered-offset-before",-u[0]+"px"),setCSSProperty(i,"--swiper-centered-offset-after",e.size/2-m[m.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),u.length!==g&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==w&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,i=e.el.classList.contains(t);p<=s.maxBackfaceHiddenSlides?i||e.el.classList.add(t):i&&e.el.classList.remove(t)}}function updateAutoHeight(e){const t=this,s=[],i=t.virtual&&t.params.virtual.enabled;let r,n=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const a=e=>i?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(r=0;rt.slides.length&&!i)break;s.push(a(e))}else s.push(a(t.activeIndex));for(r=0;rn?e:n}(n||0===n)&&(t.wrapperEl.style.height=`${n}px`)}function updateSlidesOffset(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let i=0;i{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};function updateSlidesProgress(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:i,rtlTranslate:r,snapGrid:n}=t;if(0===i.length)return;void 0===i[0].swiperSlideOffset&&t.updateSlidesOffset();let a=-e;r&&(a=e),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e=0&&u<=t.size-t.slidesSizesGrid[e],f=u>=0&&u1&&h<=t.size||u<=0&&h>=t.size;f&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),toggleSlideClasses$1(o,f,s.slideVisibleClass),toggleSlideClasses$1(o,m,s.slideFullyVisibleClass),o.progress=r?-c:c,o.originalProgress=r?-p:p}}function updateProgress(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:r,isBeginning:n,isEnd:a,progressLoop:l}=t;const o=n,d=a;if(0===i)r=0,n=!0,a=!0;else{r=(e-t.minTranslate())/i;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;n=s||r<=0,a=l||r>=1,s&&(r=0),l&&(r=1)}if(s.loop){const s=t.getSlideIndexByData(0),i=t.getSlideIndexByData(t.slides.length-1),r=t.slidesGrid[s],n=t.slidesGrid[i],a=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=r?(o-r)/a:(o+a-n)/a,l>1&&(l-=1)}Object.assign(t,{progress:r,progressLoop:l,isBeginning:n,isEnd:a}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),n&&!o&&t.emit("reachBeginning toEdge"),a&&!d&&t.emit("reachEnd toEdge"),(o&&!n||d&&!a)&&t.emit("fromEdge"),t.emit("progress",r)}const toggleSlideClasses=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};function updateSlidesClasses(){const e=this,{slides:t,params:s,slidesEl:i,activeIndex:r}=e,n=e.virtual&&s.virtual.enabled,a=e.grid&&s.grid&&s.grid.rows>1,l=e=>elementChildren(i,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(n)if(s.loop){let t=r-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${r}"]`);else a?(o=t.filter((e=>e.column===r))[0],c=t.filter((e=>e.column===r+1))[0],d=t.filter((e=>e.column===r-1))[0]):o=t[r];o&&(a||(c=elementNextAll(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=elementPrevAll(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{toggleSlideClasses(e,e===o,s.slideActiveClass),toggleSlideClasses(e,e===c,s.slideNextClass),toggleSlideClasses(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()}const processLazyPreloader=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},unlazy=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},preload=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const i="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),r=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=r,n=[s-t];return n.push(...Array.from({length:t}).map(((e,t)=>s+i+t))),void e.slides.forEach(((t,s)=>{n.includes(t.column)&&unlazy(e,s)}))}const n=r+i-1;if(e.params.rewind||e.params.loop)for(let i=r-t;i<=n+t;i+=1){const t=(i%s+s)%s;(tn)&&unlazy(e,t)}else for(let i=Math.max(r-t,0);i<=Math.min(n+t,s-1);i+=1)i!==r&&(i>n||i=t[e]&&i=t[e]&&i=t[e]&&(r=e);return s.normalizeSlideIndex&&(r<0||void 0===r)&&(r=0),r}function updateActiveIndex(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:i,params:r,activeIndex:n,realIndex:a,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=getActiveIndexByTranslate(t)),i.indexOf(s)>=0)o=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/r.slidesPerGroup)}if(o>=i.length&&(o=i.length-1),d===n&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===n&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&r.grid&&r.grid.rows>1;let u;if(t.virtual&&r.virtual.enabled&&r.loop)u=c(d);else if(p){const e=t.slides.filter((e=>e.column===d))[0];let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/r.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:a,realIndex:u,previousIndex:n,activeIndex:d}),t.initialized&&preload(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(a!==u&&t.emit("realIndexChange"),t.emit("slideChange"))}function updateClickedSlide(e,t){const s=this,i=s.params;let r=e.closest(`.${i.slideClass}, swiper-slide`);!r&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!r&&e.matches&&e.matches(`.${i.slideClass}, swiper-slide`)&&(r=e)}));let n,a=!1;if(r)for(let e=0;eo?o:i&&ea?"next":n=o.length&&(v=o.length-1);const g=-o[v];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(a=e)}if(n.initialized&&a!==p){if(!n.allowSlideNext&&(u?g>n.translate&&g>n.minTranslate():gn.translate&&g>n.maxTranslate()&&(p||0)!==a)return!1}let w;if(a!==(c||0)&&s&&n.emit("beforeSlideChangeStart"),n.updateProgress(g),w=a>p?"next":a0?(n._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{n.wrapperEl.style.scrollSnapType="",n._immediateVirtual=!1}))}else{if(!n.support.smoothScroll)return animateCSSModeScroll({swiper:n,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return n.setTransition(t),n.setTranslate(g),n.updateActiveIndex(a),n.updateSlidesClasses(),n.emit("beforeTransitionStart",t,i),n.transitionStart(s,w),0===t?n.transitionEnd(s,w):n.animating||(n.animating=!0,n.onSlideToWrapperTransitionEnd||(n.onSlideToWrapperTransitionEnd=function(e){n&&!n.destroyed&&e.target===this&&(n.wrapperEl.removeEventListener("transitionend",n.onSlideToWrapperTransitionEnd),n.onSlideToWrapperTransitionEnd=null,delete n.onSlideToWrapperTransitionEnd,n.transitionEnd(s,w))}),n.wrapperEl.addEventListener("transitionend",n.onSlideToWrapperTransitionEnd)),!0}function slideToLoop(e,t,s,i){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const r=this;if(r.destroyed)return;void 0===t&&(t=r.params.speed);const n=r.grid&&r.params.grid&&r.params.grid.rows>1;let a=e;if(r.params.loop)if(r.virtual&&r.params.virtual.enabled)a+=r.virtual.slidesBefore;else{let e;if(n){const t=a*r.params.grid.rows;e=r.slides.filter((e=>1*e.getAttribute("data-swiper-slide-index")===t))[0].column}else e=r.getSlideIndexByData(a);const t=n?Math.ceil(r.slides.length/r.params.grid.rows):r.slides.length,{centeredSlides:s}=r.params;let l=r.params.slidesPerView;"auto"===l?l=r.slidesPerViewDynamic():(l=Math.ceil(parseFloat(r.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e1*t.getAttribute("data-swiper-slide-index")===e))[0].column}else a=r.getSlideIndexByData(a)}return requestAnimationFrame((()=>{r.slideTo(a,t,s,i)})),r}function slideNext(e,t,s){void 0===t&&(t=!0);const i=this,{enabled:r,params:n,animating:a}=i;if(!r||i.destroyed)return i;void 0===e&&(e=i.params.speed);let l=n.slidesPerGroup;"auto"===n.slidesPerView&&1===n.slidesPerGroup&&n.slidesPerGroupAuto&&(l=Math.max(i.slidesPerViewDynamic("current",!0),1));const o=i.activeIndex{i.slideTo(i.activeIndex+o,e,t,s)})),!0}return n.rewind&&i.isEnd?i.slideTo(0,e,t,s):i.slideTo(i.activeIndex+o,e,t,s)}function slidePrev(e,t,s){void 0===t&&(t=!0);const i=this,{params:r,snapGrid:n,slidesGrid:a,rtlTranslate:l,enabled:o,animating:d}=i;if(!o||i.destroyed)return i;void 0===e&&(e=i.params.speed);const c=i.virtual&&r.virtual.enabled;if(r.loop){if(d&&!c&&r.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?i.translate:-i.translate),h=n.map((e=>p(e)));let m=n[h.indexOf(u)-1];if(void 0===m&&r.cssMode){let e;n.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(m=n[e>0?e-1:e])}let f=0;if(void 0!==m&&(f=a.indexOf(m),f<0&&(f=i.activeIndex-1),"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(f=f-i.slidesPerViewDynamic("previous",!0)+1,f=Math.max(f,0))),r.rewind&&i.isBeginning){const r=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(r,e,t,s)}return r.loop&&0===i.activeIndex&&r.cssMode?(requestAnimationFrame((()=>{i.slideTo(f,e,t,s)})),!0):i.slideTo(f,e,t,s)}function slideReset(e,t,s){void 0===t&&(t=!0);const i=this;if(!i.destroyed)return void 0===e&&(e=i.params.speed),i.slideTo(i.activeIndex,e,t,s)}function slideToClosest(e,t,s,i){void 0===t&&(t=!0),void 0===i&&(i=.5);const r=this;if(r.destroyed)return;void 0===e&&(e=r.params.speed);let n=r.activeIndex;const a=Math.min(r.params.slidesPerGroupSkip,n),l=a+Math.floor((n-a)/r.params.slidesPerGroup),o=r.rtlTranslate?r.translate:-r.translate;if(o>=r.snapGrid[l]){const e=r.snapGrid[l];o-e>(r.snapGrid[l+1]-e)*i&&(n+=r.params.slidesPerGroup)}else{const e=r.snapGrid[l-1];o-e<=(r.snapGrid[l]-e)*i&&(n-=r.params.slidesPerGroup)}return n=Math.max(n,0),n=Math.min(n,r.slidesGrid.length-1),r.slideTo(n,e,t,s)}function slideToClickedSlide(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,i="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let r,n=e.clickedIndex;const a=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;r=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?ne.slides.length-e.loopedSlides+i/2?(e.loopFix(),n=e.getSlideIndex(elementChildren(s,`${a}[data-swiper-slide-index="${r}"]`)[0]),nextTick((()=>{e.slideTo(n)}))):e.slideTo(n):n>e.slides.length-i?(e.loopFix(),n=e.getSlideIndex(elementChildren(s,`${a}[data-swiper-slide-index="${r}"]`)[0]),nextTick((()=>{e.slideTo(n)}))):e.slideTo(n)}else e.slideTo(n)}var slide={slideTo:slideTo,slideToLoop:slideToLoop,slideNext:slideNext,slidePrev:slidePrev,slideReset:slideReset,slideToClosest:slideToClosest,slideToClickedSlide:slideToClickedSlide};function loopCreate(e){const t=this,{params:s,slidesEl:i}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;const r=()=>{elementChildren(i,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},n=t.grid&&s.grid&&s.grid.rows>1,a=s.slidesPerGroup*(n?s.grid.rows:1),l=t.slides.length%a!=0,o=n&&t.slides.length%s.grid.rows!=0,d=e=>{for(let i=0;i1;d.lengthe.classList.contains(h.slideActiveClass)))[0]):b=n;const x="next"===i||!i,y="prev"===i||!i;let E=0,C=0;const M=w?Math.ceil(d.length/h.grid.rows):d.length,P=(w?d[n].column:n)+(m&&void 0===r?-f/2+.5:0);if(P=0;t-=1)d[t].column===e&&S.push(t)}else S.push(M-t-1)}}else if(P+f>M-g){C=Math.max(P-(M-2*g),v);for(let e=0;e{e.column===t&&T.push(s)})):T.push(t)}}if(o.__preventObserver__=!0,requestAnimationFrame((()=>{o.__preventObserver__=!1})),y&&S.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1})),x&&T.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1})),o.recalcSlides(),"auto"===h.slidesPerView?o.updateSlides():w&&(S.length>0&&y||T.length>0&&x)&&o.slides.forEach(((e,t)=>{o.grid.updateSlide(t,e,o.slides)})),h.watchSlidesProgress&&o.updateSlidesOffset(),s)if(S.length>0&&y){if(void 0===t){const e=o.slidesGrid[b],t=o.slidesGrid[b+E]-e;l?o.setTranslate(o.translate-t):(o.slideTo(b+Math.ceil(E),0,!1,!0),r&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else if(r){const e=w?S.length/h.grid.rows:S.length;o.slideTo(o.activeIndex+e,0,!1,!0),o.touchEventsData.currentTranslate=o.translate}}else if(T.length>0&&x)if(void 0===t){const e=o.slidesGrid[b],t=o.slidesGrid[b-C]-e;l?o.setTranslate(o.translate-t):(o.slideTo(b-C,0,!1,!0),r&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else{const e=w?T.length/h.grid.rows:T.length;o.slideTo(o.activeIndex-e,0,!1,!0)}if(o.allowSlidePrev=c,o.allowSlideNext=p,o.controller&&o.controller.control&&!a){const e={slideRealIndex:t,direction:i,setTranslate:r,activeSlideIndex:n,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===h.slidesPerView&&s})})):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix({...e,slideTo:o.controller.control.params.slidesPerView===h.slidesPerView&&s})}o.emit("loopFix")}function loopDestroy(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const i=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;i[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),i.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}var loop={loopCreate:loopCreate,loopFix:loopFix,loopDestroy:loopDestroy};function setGrabCursor(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))}function unsetGrabCursor(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}var grabCursor={setGrabCursor:setGrabCursor,unsetGrabCursor:unsetGrabCursor};function closestElement(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===getDocument()||s===getWindow())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}function preventEdgeSwipe(e,t,s){const i=getWindow(),{params:r}=e,n=r.edgeSwipeDetection,a=r.edgeSwipeThreshold;return!n||!(s<=a||s>=i.innerWidth-a)||"prevent"===n&&(t.preventDefault(),!0)}function onTouchStart(e){const t=this,s=getDocument();let i=e;i.originalEvent&&(i=i.originalEvent);const r=t.touchEventsData;if("pointerdown"===i.type){if(null!==r.pointerId&&r.pointerId!==i.pointerId)return;r.pointerId=i.pointerId}else"touchstart"===i.type&&1===i.targetTouches.length&&(r.touchId=i.targetTouches[0].identifier);if("touchstart"===i.type)return void preventEdgeSwipe(t,i,i.targetTouches[0].pageX);const{params:n,touches:a,enabled:l}=t;if(!l)return;if(!n.simulateTouch&&"mouse"===i.pointerType)return;if(t.animating&&n.preventInteractionOnTransition)return;!t.animating&&n.cssMode&&n.loop&&t.loopFix();let o=i.target;if("wrapper"===n.touchEventsTarget&&!t.wrapperEl.contains(o))return;if("which"in i&&3===i.which)return;if("button"in i&&i.button>0)return;if(r.isTouched&&r.isMoved)return;const d=!!n.noSwipingClass&&""!==n.noSwipingClass,c=i.composedPath?i.composedPath():i.path;d&&i.target&&i.target.shadowRoot&&c&&(o=c[0]);const p=n.noSwipingSelector?n.noSwipingSelector:`.${n.noSwipingClass}`,u=!(!i.target||!i.target.shadowRoot);if(n.noSwiping&&(u?closestElement(p,o):o.closest(p)))return void(t.allowClick=!0);if(n.swipeHandler&&!o.closest(n.swipeHandler))return;a.currentX=i.pageX,a.currentY=i.pageY;const h=a.currentX,m=a.currentY;if(!preventEdgeSwipe(t,i,h))return;Object.assign(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),a.startX=h,a.startY=m,r.touchStartTime=now(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,n.threshold>0&&(r.allowThresholdMove=!1);let f=!0;o.matches(r.focusableElements)&&(f=!1,"SELECT"===o.nodeName&&(r.isTouched=!1)),s.activeElement&&s.activeElement.matches(r.focusableElements)&&s.activeElement!==o&&s.activeElement.blur();const v=f&&t.allowTouchMove&&n.touchStartPreventDefault;!n.touchStartForcePreventDefault&&!v||o.isContentEditable||i.preventDefault(),n.freeMode&&n.freeMode.enabled&&t.freeMode&&t.animating&&!n.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",i)}function onTouchMove(e){const t=getDocument(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:a,enabled:l}=s;if(!l)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let o,d=e;if(d.originalEvent&&(d=d.originalEvent),"pointermove"===d.type){if(null!==i.touchId)return;if(d.pointerId!==i.pointerId)return}if("touchmove"===d.type){if(o=[...d.changedTouches].filter((e=>e.identifier===i.touchId))[0],!o||o.identifier!==i.touchId)return}else o=d;if(!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",d));const c=o.pageX,p=o.pageY;if(d.preventedByNestedSwiper)return n.startX=c,void(n.startY=p);if(!s.allowTouchMove)return d.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:c,startY:p,currentX:c,currentY:p}),i.touchStartTime=now()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(pn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(cn.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&d.target===t.activeElement&&d.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);i.allowTouchCallbacks&&s.emit("touchMove",d),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=c,n.currentY=p;const u=n.currentX-n.startX,h=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(u**2+h**2)=25&&(e=180*Math.atan2(Math.abs(h),Math.abs(u))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",d),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling||"touchmove"===d.type&&i.preventTouchMoveFromPointerMove)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&d.cancelable&&d.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&d.stopPropagation();let m=s.isHorizontal()?u:h,f=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(m=Math.abs(m)*(a?1:-1),f=Math.abs(f)*(a?1:-1)),n.diff=m,m*=r.touchRatio,a&&(m=-m,f=-f);const v=s.touchesDirection;s.swipeDirection=m>0?"prev":"next",s.touchesDirection=f>0?"prev":"next";const g=s.params.loop&&!r.cssMode,w="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!i.isMoved){if(g&&w&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",d)}if((new Date).getTime(),i.isMoved&&i.allowThresholdMove&&v!==s.touchesDirection&&g&&w&&Math.abs(m)>=1)return Object.assign(n,{startX:c,startY:p,currentX:c,currentY:p,startTranslate:i.currentTranslate}),i.loopSwapReset=!0,void(i.startTranslate=i.currentTranslate);s.emit("sliderMove",d),i.isMoved=!0,i.currentTranslate=m+i.startTranslate;let S=!0,T=r.resistanceRatio;if(r.touchReleaseOnEdges&&(T=0),m>0?(g&&w&&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()&&(S=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+m)**T))):m<0&&(g&&w&&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-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(m)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}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 onTouchEnd(e){const t=this,s=t.touchEventsData;let i,r=e;r.originalEvent&&(r=r.originalEvent);if("touchend"===r.type||"touchcancel"===r.type){if(i=[...r.changedTouches].filter((e=>e.identifier===s.touchId))[0],!i||i.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(r.pointerId!==s.pointerId)return;i=r}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(r.type)){if(!(["pointercancel","contextmenu"].includes(r.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:n,touches:a,rtlTranslate:l,slidesGrid:o,enabled:d}=t;if(!d)return;if(!n.simulateTouch&&"mouse"===r.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",r),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&n.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);n.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const c=now(),p=c-s.touchStartTime;if(t.allowClick){const e=r.path||r.composedPath&&r.composedPath();t.updateClickedSlide(e&&e[0]||r.target,e),t.emit("tap click",r),p<300&&c-s.lastClickTime<300&&t.emit("doubleTap doubleClick",r)}if(s.lastClickTime=now(),nextTick((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===a.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let u;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,u=n.followFinger?l?t.translate:-t.translate:-s.currentTranslate,n.cssMode)return;if(n.freeMode&&n.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:u});const h=u>=-t.maxTranslate()&&!t.params.loop;let m=0,f=t.slidesSizesGrid[0];for(let e=0;e=o[e]&&u=o[e])&&(m=e,f=o[o.length-1]-o[o.length-2])}let v=null,g=null;n.rewind&&(t.isBeginning?g=n.virtual&&n.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(v=0));const w=(u-o[m])/f,S=mn.longSwipesMs){if(!n.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(w>=n.longSwipesRatio?t.slideTo(n.rewind&&t.isEnd?v:m+S):t.slideTo(m)),"prev"===t.swipeDirection&&(w>1-n.longSwipesRatio?t.slideTo(m+S):null!==g&&w<0&&Math.abs(w)>n.longSwipesRatio?t.slideTo(g):t.slideTo(m))}else{if(!n.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(r.target===t.navigation.nextEl||r.target===t.navigation.prevEl)?r.target===t.navigation.nextEl?t.slideTo(m+S):t.slideTo(m):("next"===t.swipeDirection&&t.slideTo(null!==v?v:m+S),"prev"===t.swipeDirection&&t.slideTo(null!==g?g:m))}}function onResize(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:r,snapGrid:n}=e,a=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=a&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!a?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=r,e.allowSlideNext=i,e.params.watchOverflow&&n!==e.snapGrid&&e.checkOverflow()}function onClick(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function onScroll(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:i}=e;if(!i)return;let r;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const n=e.maxTranslate()-e.minTranslate();r=0===n?0:(e.translate-e.minTranslate())/n,r!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function onLoad(e){const t=this;processLazyPreloader(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function onDocumentTouchStart(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const events=(e,t)=>{const s=getDocument(),{params:i,el:r,wrapperEl:n,device:a}=e,l=!!i.nested,o="on"===t?"addEventListener":"removeEventListener",d=t;s[o]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:l}),r[o]("touchstart",e.onTouchStart,{passive:!1}),r[o]("pointerdown",e.onTouchStart,{passive:!1}),s[o]("touchmove",e.onTouchMove,{passive:!1,capture:l}),s[o]("pointermove",e.onTouchMove,{passive:!1,capture:l}),s[o]("touchend",e.onTouchEnd,{passive:!0}),s[o]("pointerup",e.onTouchEnd,{passive:!0}),s[o]("pointercancel",e.onTouchEnd,{passive:!0}),s[o]("touchcancel",e.onTouchEnd,{passive:!0}),s[o]("pointerout",e.onTouchEnd,{passive:!0}),s[o]("pointerleave",e.onTouchEnd,{passive:!0}),s[o]("contextmenu",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[o]("click",e.onClick,!0),i.cssMode&&n[o]("scroll",e.onScroll),i.updateOnWindowResize?e[d](a.ios||a.android?"resize orientationchange observerUpdate":"resize observerUpdate",onResize,!0):e[d]("observerUpdate",onResize,!0),r[o]("load",e.onLoad,{capture:!0})};function attachEvents(){const e=this,{params:t}=e;e.onTouchStart=onTouchStart.bind(e),e.onTouchMove=onTouchMove.bind(e),e.onTouchEnd=onTouchEnd.bind(e),e.onDocumentTouchStart=onDocumentTouchStart.bind(e),t.cssMode&&(e.onScroll=onScroll.bind(e)),e.onClick=onClick.bind(e),e.onLoad=onLoad.bind(e),events(e,"on")}function detachEvents(){events(this,"off")}var events$1={attachEvents:attachEvents,detachEvents:detachEvents};const isGridEnabled=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;function setBreakpoint(){const e=this,{realIndex:t,initialized:s,params:i,el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const a=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!a||e.currentBreakpoint===a)return;const l=(a in n?n[a]:void 0)||e.originalParams,o=isGridEnabled(e,i),d=isGridEnabled(e,l),c=e.params.grabCursor,p=l.grabCursor,u=i.enabled;o&&!d?(r.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!o&&d&&(r.classList.add(`${i.containerModifierClass}grid`),(l.grid.fill&&"column"===l.grid.fill||!l.grid.fill&&"column"===i.grid.fill)&&r.classList.add(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),c&&!p?e.unsetGrabCursor():!c&&p&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===l[t])return;const s=i[t]&&i[t].enabled,r=l[t]&&l[t].enabled;s&&!r&&e[t].disable(),!s&&r&&e[t].enable()}));const h=l.direction&&l.direction!==i.direction,m=i.loop&&(l.slidesPerView!==i.slidesPerView||h),f=i.loop;h&&s&&e.changeDirection(),extend(e.params,l);const v=e.params.enabled,g=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),u&&!v?e.disable():!u&&v&&e.enable(),e.currentBreakpoint=a,e.emit("_beforeBreakpoint",l),s&&(m?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!f&&g?(e.loopCreate(t),e.updateSlides()):f&&!g&&e.loopDestroy()),e.emit("breakpoint",l)}function getBreakpoint(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let i=!1;const r=getWindow(),n="window"===t?r.innerHeight:s.clientHeight,a=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));a.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;e{"object"==typeof e?Object.keys(e).forEach((i=>{e[i]&&s.push(t+i)})):"string"==typeof e&&s.push(t+e)})),s}function addClasses(){const e=this,{classNames:t,params:s,rtl:i,el:r,device:n}=e,a=prepareClasses(["initialized",s.direction,{"free-mode":e.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&&"column"===s.grid.fill},{android:n.android},{ios:n.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...a),r.classList.add(...t),e.emitContainerClasses()}function removeClasses(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}var classes={addClasses:addClasses,removeClasses:removeClasses};function checkOverflow(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:i}=s;if(i){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*i;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}var checkOverflow$1={checkOverflow:checkOverflow},defaults={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 moduleExtendParams(e,t){return function(s){void 0===s&&(s={});const i=Object.keys(s)[0],r=s[i];"object"==typeof r&&null!==r?(!0===e[i]&&(e[i]={enabled:!0}),"navigation"===i&&e[i]&&e[i].enabled&&!e[i].prevEl&&!e[i].nextEl&&(e[i].auto=!0),["pagination","scrollbar"].indexOf(i)>=0&&e[i]&&e[i].enabled&&!e[i].el&&(e[i].auto=!0),i in e&&"enabled"in r?("object"!=typeof e[i]||"enabled"in e[i]||(e[i].enabled=!0),e[i]||(e[i]={enabled:!1}),extend(t,s)):extend(t,s)):extend(t,s)}}const prototypes={eventsEmitter:eventsEmitter,update:update,translate:translate,transition:transition,slide:slide,loop:loop,grabCursor:grabCursor,events:events$1,breakpoints:breakpoints,checkOverflow:checkOverflow$1,classes:classes},extendedDefaults={};class Swiper{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const i=extend({},t,{el:s});e.push(new Swiper(i))})),e}const a=this;a.__swiper__=!0,a.support=getSupport(),a.device=getDevice({userAgent:t.userAgent}),a.browser=getBrowser(),a.eventsListeners={},a.eventsAnyListeners=[],a.modules=[...a.__modules__],t.modules&&Array.isArray(t.modules)&&a.modules.push(...t.modules);const l={};a.modules.forEach((e=>{e({params:t,swiper:a,extendParams:moduleExtendParams(t,l),on:a.on.bind(a),once:a.once.bind(a),off:a.off.bind(a),emit:a.emit.bind(a)})}));const o=extend({},defaults,l);return a.params=extend({},o,extendedDefaults,t),a.originalParams=extend({},a.params),a.passedParams=extend({},t),a.params&&a.params.on&&Object.keys(a.params.on).forEach((e=>{a.on(e,a.params.on[e])})),a.params&&a.params.onAny&&a.onAny(a.params.onAny),Object.assign(a,{enabled:a.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===a.params.direction,isVertical:()=>"vertical"===a.params.direction,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:a.params.allowSlideNext,allowSlidePrev:a.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:a.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.emit("_swiper"),a.params.init&&a.init(),a}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:t,params:s}=this,i=elementChildren(t,`.${s.slideClass}, swiper-slide`),r=elementIndex(i[0]);return elementIndex(e)-r}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=elementChildren(e,`.${t.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,t){const s=this;e=Math.min(Math.max(e,0),1);const i=s.minTranslate(),r=(s.maxTranslate()-i)*e+i;s.translateTo(r,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const i=e.getSlideClasses(s);t.push({slideEl:s,classNames:i}),e.emit("_slideClass",s,i)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:i,slidesGrid:r,slidesSizesGrid:n,size:a,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=i[l]?Math.ceil(i[l].swiperSlideSize):0;for(let s=l+1;sa&&(e=!0));for(let s=l-1;s>=0;s-=1)i[s]&&!e&&(t+=i[s].swiperSlideSize,o+=1,t>a&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){r[l]-r[e]{t.complete&&processLazyPreloader(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)i(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;r=e.slideTo(t.length-1,0,!1,!0)}else r=e.slideTo(e.activeIndex,0,!1,!0);r||i()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,i=s.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${i}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(i())}return elementChildren(s,i())[0]})();return!r&&t.params.createElements&&(r=createElement("div",t.params.wrapperClass),s.append(r),elementChildren(s,`.${t.params.slideClass}`).forEach((e=>{r.append(e)}))),Object.assign(t,{el:s,wrapperEl:r,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:r,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===elementStyle(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===elementStyle(s,"direction")),wrongRTL:"-webkit-box"===elementStyle(r,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?processLazyPreloader(t,e):e.addEventListener("load",(e=>{processLazyPreloader(t,e.target)}))})),preload(t),t.initialized=!0,preload(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:i,el:r,wrapperEl:n,slides:a}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),i.loop&&s.loopDestroy(),t&&(s.removeClasses(),r.removeAttribute("style"),n.removeAttribute("style"),a&&a.length&&a.forEach((e=>{e.classList.remove(i.slideVisibleClass,i.slideFullyVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,deleteProps(s)),s.destroyed=!0),null}static extendDefaults(e){extend(extendedDefaults,e)}static get extendedDefaults(){return extendedDefaults}static get defaults(){return defaults}static installModule(e){Swiper.prototype.__modules__||(Swiper.prototype.__modules__=[]);const t=Swiper.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>Swiper.installModule(e))),Swiper):(Swiper.installModule(e),Swiper)}}Object.keys(prototypes).forEach((e=>{Object.keys(prototypes[e]).forEach((t=>{Swiper.prototype[t]=prototypes[e][t]}))})),Swiper.use([Resize,Observer]);export{Swiper as S,defaults as d}; -//# sourceMappingURL=swiper-core.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/swiper-core.min.mjs.map b/node_modules/swiper/shared/swiper-core.min.mjs.map deleted file mode 100644 index 433d1c7..0000000 --- a/node_modules/swiper/shared/swiper-core.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper-core.mjs.mjs","names":["getWindow","getDocument","elementParents","elementStyle","elementChildren","setCSSProperty","elementOuterSize","elementNextAll","elementPrevAll","getTranslate","animateCSSModeScroll","nextTick","showWarning","createElement","now","extend","elementIndex","deleteProps","support","deviceCached","browser","calcSupport","window","document","smoothScroll","documentElement","style","touch","DocumentTouch","getSupport","calcDevice","_temp","userAgent","platform","navigator","ua","device","ios","android","screenWidth","screen","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","indexOf","os","getDevice","overrides","calcBrowser","needPerspectiveFix","isSafari","toLowerCase","String","includes","major","minor","split","map","num","Number","isWebView","test","isSafariBrowser","need3dFix","getBrowser","Resize","_ref","swiper","on","emit","observer","animationFrame","resizeHandler","destroyed","initialized","orientationChangeHandler","params","resizeObserver","ResizeObserver","entries","requestAnimationFrame","newWidth","newHeight","forEach","_ref2","contentBoxSize","contentRect","target","el","inlineSize","blockSize","observe","addEventListener","cancelAnimationFrame","unobserve","removeEventListener","Observer","extendParams","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","__preventObserver__","length","observerUpdate","setTimeout","attributes","childList","characterData","push","observeParents","observeSlideChildren","containerParents","hostEl","i","wrapperEl","disconnect","splice","eventsEmitter","events","handler","priority","self","this","eventsListeners","method","event","once","onceHandler","off","__emitterProxy","_len","arguments","args","Array","_key","apply","onAny","eventsAnyListeners","offAny","index","eventHandler","data","context","_len2","_key2","isArray","slice","unshift","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","Object","assign","size","updateSlides","getDirectionPropertyValue","node","label","parseFloat","getPropertyValue","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","call","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","replace","virtualSize","slideEl","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","grid","rows","slideSize","initSlides","unsetSlides","shouldResetSlideSize","slidesPerView","breakpoints","keys","filter","key","slide","updateSlide","slideStyles","getComputedStyle","currentTransform","transform","currentWebKitTransform","webkitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","offsetWidth","Math","floor","swiperSlideSize","abs","slidesPerGroup","min","slidesPerGroupSkip","max","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","loop","groups","ceil","slidesBefore","slidesAfter","groupSize","_","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","classList","contains","maxBackfaceHiddenSlides","add","remove","updateAutoHeight","speed","activeSlides","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","activeIndex","offsetHeight","minusOffset","isElement","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","toggleSlideClasses$1","condition","className","updateSlidesProgress","translate","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","progress","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","toggleSlideClasses","updateSlidesClasses","getFilteredSlide","selector","activeSlide","prevSlide","nextSlide","column","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","processLazyPreloader","imageEl","closest","lazyEl","querySelector","lazyPreloaderClass","shadowRoot","unlazy","removeAttribute","preload","amount","lazyPreloadPrevNext","len","slidesPerViewDynamic","activeColumn","preloadColumns","from","slideIndexLastInView","rewind","realIndex","getActiveIndexByTranslate","normalizeSlideIndex","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","skip","firstSlideInColumn","activeSlideIndex","getAttribute","runCallbacksOnInit","updateClickedSlide","path","pathEl","matches","slideFound","clickedSlide","undefined","clickedIndex","slideToClickedSlide","update","getSwiperTranslate","axis","virtualTranslate","currentTranslate","setTranslate","byController","x","y","newProgress","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","targetPosition","side","scrollTo","behavior","onTranslateToWrapperTransitionEnd","e","duration","transitionDuration","transitionDelay","transitionEmit","direction","step","dir","transitionStart","transitionEnd","transition","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","t","scrollSnapType","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","setAttribute","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","append","loopAddBlankSlides","recalcSlides","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","c","constructor","loopDestroy","newSlidesOrder","swiperSlideIndex","setGrabCursor","moving","simulateTouch","isLocked","touchEventsTarget","cursor","unsetGrabCursor","grabCursor","closestElement","base","__closestFrom","assignedSlot","found","getRootNode","host","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","originalEvent","type","pointerId","targetTouches","touchId","identifier","pageX","touches","pointerType","targetEl","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","nodeName","activeElement","blur","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","PI","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","CustomEvent","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","Date","getTime","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","clearTimeout","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","scrollLeft","scrollTop","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","attachEvents","bind","detachEvents","events$1","isGridEnabled","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","prop","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","value","sort","a","b","matchMedia","prepareClasses","prefix","resultClasses","item","classNames","addClasses","suffixes","autoheight","centered","removeClasses","classes","wasLocked","lastSlideRightEdge","checkOverflow$1","defaults","init","swiperElementNodeName","createElements","eventsPrefix","url","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","obj","moduleParamName","moduleParams","auto","prototypes","extendedDefaults","Swiper","prototype","toString","querySelectorAll","swipers","newParams","__swiper__","modules","__modules__","mod","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","current","cls","join","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","element","mounted","parentNode","toUpperCase","getWrapperSelector","trim","getWrapper","slideSlots","lazyElements","destroy","deleteInstance","cleanStyles","extendDefaults","newDefaults","installModule","use","module","m","prototypeGroup","protoMethod"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/shared/swiper-core.mjs b/node_modules/swiper/shared/swiper-core.mjs deleted file mode 100644 index fd83e7c..0000000 --- a/node_modules/swiper/shared/swiper-core.mjs +++ /dev/null @@ -1,3899 +0,0 @@ -import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs'; -import { a as elementParents, o as elementStyle, e as elementChildren, s as setCSSProperty, f as elementOuterSize, p as elementNextAll, q as elementPrevAll, j as getTranslate, r as animateCSSModeScroll, n as nextTick, t as showWarning, c as createElement, d as now, u as extend, h as elementIndex, v as deleteProps } from './utils.mjs'; - -let support; -function calcSupport() { - const window = getWindow(); - const document = getDocument(); - return { - smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style, - touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch) - }; -} -function getSupport() { - if (!support) { - support = calcSupport(); - } - return support; -} - -let deviceCached; -function calcDevice(_temp) { - let { - userAgent - } = _temp === void 0 ? {} : _temp; - const support = getSupport(); - const window = getWindow(); - const platform = window.navigator.platform; - const ua = userAgent || window.navigator.userAgent; - const device = { - ios: false, - android: false - }; - const screenWidth = window.screen.width; - const screenHeight = window.screen.height; - const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line - let ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); - const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); - const windows = platform === 'Win32'; - let macos = platform === 'MacIntel'; - - // iPadOs 13 fix - const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810']; - if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) { - ipad = ua.match(/(Version)\/([\d.]+)/); - if (!ipad) ipad = [0, 1, '13_0_0']; - macos = false; - } - - // Android - if (android && !windows) { - device.os = 'android'; - device.android = true; - } - if (ipad || iphone || ipod) { - device.os = 'ios'; - device.ios = true; - } - - // Export object - return device; -} -function getDevice(overrides) { - if (overrides === void 0) { - overrides = {}; - } - if (!deviceCached) { - deviceCached = calcDevice(overrides); - } - return deviceCached; -} - -let browser; -function calcBrowser() { - const window = getWindow(); - const device = getDevice(); - let needPerspectiveFix = false; - function isSafari() { - const ua = window.navigator.userAgent.toLowerCase(); - return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; - } - if (isSafari()) { - const ua = String(window.navigator.userAgent); - if (ua.includes('Version/')) { - const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num)); - needPerspectiveFix = major < 16 || major === 16 && minor < 2; - } - } - const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent); - const isSafariBrowser = isSafari(); - const need3dFix = isSafariBrowser || isWebView && device.ios; - return { - isSafari: needPerspectiveFix || isSafariBrowser, - needPerspectiveFix, - need3dFix, - isWebView - }; -} -function getBrowser() { - if (!browser) { - browser = calcBrowser(); - } - return browser; -} - -function Resize(_ref) { - let { - swiper, - on, - emit - } = _ref; - const window = getWindow(); - let observer = null; - let animationFrame = null; - const resizeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('beforeResize'); - emit('resize'); - }; - const createObserver = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - observer = new ResizeObserver(entries => { - animationFrame = window.requestAnimationFrame(() => { - const { - width, - height - } = swiper; - let newWidth = width; - let newHeight = height; - entries.forEach(_ref2 => { - let { - contentBoxSize, - contentRect, - target - } = _ref2; - if (target && target !== swiper.el) return; - newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize; - newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize; - }); - if (newWidth !== width || newHeight !== height) { - resizeHandler(); - } - }); - }); - observer.observe(swiper.el); - }; - const removeObserver = () => { - if (animationFrame) { - window.cancelAnimationFrame(animationFrame); - } - if (observer && observer.unobserve && swiper.el) { - observer.unobserve(swiper.el); - observer = null; - } - }; - const orientationChangeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('orientationchange'); - }; - on('init', () => { - if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') { - createObserver(); - return; - } - window.addEventListener('resize', resizeHandler); - window.addEventListener('orientationchange', orientationChangeHandler); - }); - on('destroy', () => { - removeObserver(); - window.removeEventListener('resize', resizeHandler); - window.removeEventListener('orientationchange', orientationChangeHandler); - }); -} - -function Observer(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const observers = []; - const window = getWindow(); - const attach = function (target, options) { - if (options === void 0) { - options = {}; - } - const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; - const observer = new ObserverFunc(mutations => { - // The observerUpdate event should only be triggered - // once despite the number of mutations. Additional - // triggers are redundant and are very costly - if (swiper.__preventObserver__) return; - if (mutations.length === 1) { - emit('observerUpdate', mutations[0]); - return; - } - const observerUpdate = function observerUpdate() { - emit('observerUpdate', mutations[0]); - }; - if (window.requestAnimationFrame) { - window.requestAnimationFrame(observerUpdate); - } else { - window.setTimeout(observerUpdate, 0); - } - }); - observer.observe(target, { - attributes: typeof options.attributes === 'undefined' ? true : options.attributes, - childList: typeof options.childList === 'undefined' ? true : options.childList, - characterData: typeof options.characterData === 'undefined' ? true : options.characterData - }); - observers.push(observer); - }; - const init = () => { - if (!swiper.params.observer) return; - if (swiper.params.observeParents) { - const containerParents = elementParents(swiper.hostEl); - for (let i = 0; i < containerParents.length; i += 1) { - attach(containerParents[i]); - } - } - // Observe container - attach(swiper.hostEl, { - childList: swiper.params.observeSlideChildren - }); - - // Observe wrapper - attach(swiper.wrapperEl, { - attributes: false - }); - }; - const destroy = () => { - observers.forEach(observer => { - observer.disconnect(); - }); - observers.splice(0, observers.length); - }; - extendParams({ - observer: false, - observeParents: false, - observeSlideChildren: false - }); - on('init', init); - on('destroy', destroy); -} - -/* eslint-disable no-underscore-dangle */ - -var eventsEmitter = { - on(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - events.split(' ').forEach(event => { - if (!self.eventsListeners[event]) self.eventsListeners[event] = []; - self.eventsListeners[event][method](handler); - }); - return self; - }, - once(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - function onceHandler() { - self.off(events, onceHandler); - if (onceHandler.__emitterProxy) { - delete onceHandler.__emitterProxy; - } - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - handler.apply(self, args); - } - onceHandler.__emitterProxy = handler; - return self.on(events, onceHandler, priority); - }, - onAny(handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - if (self.eventsAnyListeners.indexOf(handler) < 0) { - self.eventsAnyListeners[method](handler); - } - return self; - }, - offAny(handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsAnyListeners) return self; - const index = self.eventsAnyListeners.indexOf(handler); - if (index >= 0) { - self.eventsAnyListeners.splice(index, 1); - } - return self; - }, - off(events, handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - events.split(' ').forEach(event => { - if (typeof handler === 'undefined') { - self.eventsListeners[event] = []; - } else if (self.eventsListeners[event]) { - self.eventsListeners[event].forEach((eventHandler, index) => { - if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) { - self.eventsListeners[event].splice(index, 1); - } - }); - } - }); - return self; - }, - emit() { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - let events; - let data; - let context; - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - if (typeof args[0] === 'string' || Array.isArray(args[0])) { - events = args[0]; - data = args.slice(1, args.length); - context = self; - } else { - events = args[0].events; - data = args[0].data; - context = args[0].context || self; - } - data.unshift(context); - const eventsArray = Array.isArray(events) ? events : events.split(' '); - eventsArray.forEach(event => { - if (self.eventsAnyListeners && self.eventsAnyListeners.length) { - self.eventsAnyListeners.forEach(eventHandler => { - eventHandler.apply(context, [event, ...data]); - }); - } - if (self.eventsListeners && self.eventsListeners[event]) { - self.eventsListeners[event].forEach(eventHandler => { - eventHandler.apply(context, data); - }); - } - }); - return self; - } -}; - -function updateSize() { - const swiper = this; - let width; - let height; - const el = swiper.el; - if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) { - width = swiper.params.width; - } else { - width = el.clientWidth; - } - if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) { - height = swiper.params.height; - } else { - height = el.clientHeight; - } - if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) { - return; - } - - // Subtract paddings - width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10); - height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10); - if (Number.isNaN(width)) width = 0; - if (Number.isNaN(height)) height = 0; - Object.assign(swiper, { - width, - height, - size: swiper.isHorizontal() ? width : height - }); -} - -function updateSlides() { - const swiper = this; - function getDirectionPropertyValue(node, label) { - return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0); - } - const params = swiper.params; - const { - wrapperEl, - slidesEl, - size: swiperSize, - rtlTranslate: rtl, - wrongRTL - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; - const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`); - const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; - let snapGrid = []; - const slidesGrid = []; - const slidesSizesGrid = []; - let offsetBefore = params.slidesOffsetBefore; - if (typeof offsetBefore === 'function') { - offsetBefore = params.slidesOffsetBefore.call(swiper); - } - let offsetAfter = params.slidesOffsetAfter; - if (typeof offsetAfter === 'function') { - offsetAfter = params.slidesOffsetAfter.call(swiper); - } - const previousSnapGridLength = swiper.snapGrid.length; - const previousSlidesGridLength = swiper.slidesGrid.length; - let spaceBetween = params.spaceBetween; - let slidePosition = -offsetBefore; - let prevSlideSize = 0; - let index = 0; - if (typeof swiperSize === 'undefined') { - return; - } - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - swiper.virtualSize = -spaceBetween; - - // reset margins - slides.forEach(slideEl => { - if (rtl) { - slideEl.style.marginLeft = ''; - } else { - slideEl.style.marginRight = ''; - } - slideEl.style.marginBottom = ''; - slideEl.style.marginTop = ''; - }); - - // reset cssMode offsets - if (params.centeredSlides && params.cssMode) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', ''); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', ''); - } - const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid; - if (gridEnabled) { - swiper.grid.initSlides(slides); - } else if (swiper.grid) { - swiper.grid.unsetSlides(); - } - - // Calc slides - let slideSize; - const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => { - return typeof params.breakpoints[key].slidesPerView !== 'undefined'; - }).length > 0; - for (let i = 0; i < slidesLength; i += 1) { - slideSize = 0; - let slide; - if (slides[i]) slide = slides[i]; - if (gridEnabled) { - swiper.grid.updateSlide(i, slide, slides); - } - if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line - - if (params.slidesPerView === 'auto') { - if (shouldResetSlideSize) { - slides[i].style[swiper.getDirectionLabel('width')] = ``; - } - const slideStyles = getComputedStyle(slide); - const currentTransform = slide.style.transform; - const currentWebKitTransform = slide.style.webkitTransform; - if (currentTransform) { - slide.style.transform = 'none'; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = 'none'; - } - if (params.roundLengths) { - slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true); - } else { - // eslint-disable-next-line - const width = getDirectionPropertyValue(slideStyles, 'width'); - const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left'); - const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right'); - const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left'); - const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right'); - const boxSizing = slideStyles.getPropertyValue('box-sizing'); - if (boxSizing && boxSizing === 'border-box') { - slideSize = width + marginLeft + marginRight; - } else { - const { - clientWidth, - offsetWidth - } = slide; - slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth); - } - } - if (currentTransform) { - slide.style.transform = currentTransform; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = currentWebKitTransform; - } - if (params.roundLengths) slideSize = Math.floor(slideSize); - } else { - slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView; - if (params.roundLengths) slideSize = Math.floor(slideSize); - if (slides[i]) { - slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`; - } - } - if (slides[i]) { - slides[i].swiperSlideSize = slideSize; - } - slidesSizesGrid.push(slideSize); - if (params.centeredSlides) { - slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; - if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - } else { - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - slidePosition = slidePosition + slideSize + spaceBetween; - } - swiper.virtualSize += slideSize + spaceBetween; - prevSlideSize = slideSize; - index += 1; - } - swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; - if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { - wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`; - } - if (params.setWrapperSize) { - wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; - } - if (gridEnabled) { - swiper.grid.updateWrapperSize(slideSize, snapGrid); - } - - // Remove last grid elements depending on width - if (!params.centeredSlides) { - const newSlidesGrid = []; - for (let i = 0; i < snapGrid.length; i += 1) { - let slidesGridItem = snapGrid[i]; - if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem); - if (snapGrid[i] <= swiper.virtualSize - swiperSize) { - newSlidesGrid.push(slidesGridItem); - } - } - snapGrid = newSlidesGrid; - if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { - snapGrid.push(swiper.virtualSize - swiperSize); - } - } - if (isVirtual && params.loop) { - const size = slidesSizesGrid[0] + spaceBetween; - if (params.slidesPerGroup > 1) { - const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup); - const groupSize = size * params.slidesPerGroup; - for (let i = 0; i < groups; i += 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize); - } - } - for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) { - if (params.slidesPerGroup === 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + size); - } - slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size); - swiper.virtualSize += size; - } - } - if (snapGrid.length === 0) snapGrid = [0]; - if (spaceBetween !== 0) { - const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight'); - slides.filter((_, slideIndex) => { - if (!params.cssMode || params.loop) return true; - if (slideIndex === slides.length - 1) { - return false; - } - return true; - }).forEach(slideEl => { - slideEl.style[key] = `${spaceBetween}px`; - }); - } - if (params.centeredSlides && params.centeredSlidesBounds) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const maxSnap = allSlidesSize - swiperSize; - snapGrid = snapGrid.map(snap => { - if (snap <= 0) return -offsetBefore; - if (snap > maxSnap) return maxSnap + offsetAfter; - return snap; - }); - } - if (params.centerInsufficientSlides) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0); - if (allSlidesSize + offsetSize < swiperSize) { - const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2; - snapGrid.forEach((snap, snapIndex) => { - snapGrid[snapIndex] = snap - allSlidesOffset; - }); - slidesGrid.forEach((snap, snapIndex) => { - slidesGrid[snapIndex] = snap + allSlidesOffset; - }); - } - } - Object.assign(swiper, { - slides, - snapGrid, - slidesGrid, - slidesSizesGrid - }); - if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`); - const addToSnapGrid = -swiper.snapGrid[0]; - const addToSlidesGrid = -swiper.slidesGrid[0]; - swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid); - swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid); - } - if (slidesLength !== previousSlidesLength) { - swiper.emit('slidesLengthChange'); - } - if (snapGrid.length !== previousSnapGridLength) { - if (swiper.params.watchOverflow) swiper.checkOverflow(); - swiper.emit('snapGridLengthChange'); - } - if (slidesGrid.length !== previousSlidesGridLength) { - swiper.emit('slidesGridLengthChange'); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - swiper.emit('slidesUpdated'); - if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) { - const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`; - const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass); - if (slidesLength <= params.maxBackfaceHiddenSlides) { - if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass); - } else if (hasClassBackfaceClassAdded) { - swiper.el.classList.remove(backFaceHiddenClass); - } - } -} - -function updateAutoHeight(speed) { - const swiper = this; - const activeSlides = []; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - let newHeight = 0; - let i; - if (typeof speed === 'number') { - swiper.setTransition(speed); - } else if (speed === true) { - swiper.setTransition(swiper.params.speed); - } - const getSlideByIndex = index => { - if (isVirtual) { - return swiper.slides[swiper.getSlideIndexByData(index)]; - } - return swiper.slides[index]; - }; - // Find slides currently in view - if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { - if (swiper.params.centeredSlides) { - (swiper.visibleSlides || []).forEach(slide => { - activeSlides.push(slide); - }); - } else { - for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { - const index = swiper.activeIndex + i; - if (index > swiper.slides.length && !isVirtual) break; - activeSlides.push(getSlideByIndex(index)); - } - } - } else { - activeSlides.push(getSlideByIndex(swiper.activeIndex)); - } - - // Find new height from highest slide in view - for (i = 0; i < activeSlides.length; i += 1) { - if (typeof activeSlides[i] !== 'undefined') { - const height = activeSlides[i].offsetHeight; - newHeight = height > newHeight ? height : newHeight; - } - } - - // Update Height - if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`; -} - -function updateSlidesOffset() { - const swiper = this; - const slides = swiper.slides; - // eslint-disable-next-line - const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0; - for (let i = 0; i < slides.length; i += 1) { - slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment(); - } -} - -const toggleSlideClasses$1 = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } -}; -function updateSlidesProgress(translate) { - if (translate === void 0) { - translate = this && this.translate || 0; - } - const swiper = this; - const params = swiper.params; - const { - slides, - rtlTranslate: rtl, - snapGrid - } = swiper; - if (slides.length === 0) return; - if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); - let offsetCenter = -translate; - if (rtl) offsetCenter = translate; - swiper.visibleSlidesIndexes = []; - swiper.visibleSlides = []; - let spaceBetween = params.spaceBetween; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - for (let i = 0; i < slides.length; i += 1) { - const slide = slides[i]; - let slideOffset = slide.swiperSlideOffset; - if (params.cssMode && params.centeredSlides) { - slideOffset -= slides[0].swiperSlideOffset; - } - const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const slideBefore = -(offsetCenter - slideOffset); - const slideAfter = slideBefore + swiper.slidesSizesGrid[i]; - const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i]; - const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size; - if (isVisible) { - swiper.visibleSlides.push(slide); - swiper.visibleSlidesIndexes.push(i); - } - toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass); - toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass); - slide.progress = rtl ? -slideProgress : slideProgress; - slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; - } -} - -function updateProgress(translate) { - const swiper = this; - if (typeof translate === 'undefined') { - const multiplier = swiper.rtlTranslate ? -1 : 1; - // eslint-disable-next-line - translate = swiper && swiper.translate && swiper.translate * multiplier || 0; - } - const params = swiper.params; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - let { - progress, - isBeginning, - isEnd, - progressLoop - } = swiper; - const wasBeginning = isBeginning; - const wasEnd = isEnd; - if (translatesDiff === 0) { - progress = 0; - isBeginning = true; - isEnd = true; - } else { - progress = (translate - swiper.minTranslate()) / translatesDiff; - const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1; - const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1; - isBeginning = isBeginningRounded || progress <= 0; - isEnd = isEndRounded || progress >= 1; - if (isBeginningRounded) progress = 0; - if (isEndRounded) progress = 1; - } - if (params.loop) { - const firstSlideIndex = swiper.getSlideIndexByData(0); - const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1); - const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex]; - const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex]; - const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1]; - const translateAbs = Math.abs(translate); - if (translateAbs >= firstSlideTranslate) { - progressLoop = (translateAbs - firstSlideTranslate) / translateMax; - } else { - progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax; - } - if (progressLoop > 1) progressLoop -= 1; - } - Object.assign(swiper, { - progress, - progressLoop, - isBeginning, - isEnd - }); - if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate); - if (isBeginning && !wasBeginning) { - swiper.emit('reachBeginning toEdge'); - } - if (isEnd && !wasEnd) { - swiper.emit('reachEnd toEdge'); - } - if (wasBeginning && !isBeginning || wasEnd && !isEnd) { - swiper.emit('fromEdge'); - } - swiper.emit('progress', progress); -} - -const toggleSlideClasses = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } -}; -function updateSlidesClasses() { - const swiper = this; - const { - slides, - params, - slidesEl, - activeIndex - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const getFilteredSlide = selector => { - return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0]; - }; - let activeSlide; - let prevSlide; - let nextSlide; - if (isVirtual) { - if (params.loop) { - let slideIndex = activeIndex - swiper.virtual.slidesBefore; - if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex; - if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length; - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`); - } else { - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`); - } - } else { - if (gridEnabled) { - activeSlide = slides.filter(slideEl => slideEl.column === activeIndex)[0]; - nextSlide = slides.filter(slideEl => slideEl.column === activeIndex + 1)[0]; - prevSlide = slides.filter(slideEl => slideEl.column === activeIndex - 1)[0]; - } else { - activeSlide = slides[activeIndex]; - } - } - if (activeSlide) { - if (!gridEnabled) { - // Next Slide - nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !nextSlide) { - nextSlide = slides[0]; - } - - // Prev Slide - prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !prevSlide === 0) { - prevSlide = slides[slides.length - 1]; - } - } - } - slides.forEach(slideEl => { - toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass); - toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass); - toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass); - }); - swiper.emitSlidesClasses(); -} - -const processLazyPreloader = (swiper, imageEl) => { - if (!swiper || swiper.destroyed || !swiper.params) return; - const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; - const slideEl = imageEl.closest(slideSelector()); - if (slideEl) { - let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (!lazyEl && swiper.isElement) { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - } else { - // init later - requestAnimationFrame(() => { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (lazyEl) lazyEl.remove(); - } - }); - } - } - if (lazyEl) lazyEl.remove(); - } -}; -const unlazy = (swiper, index) => { - if (!swiper.slides[index]) return; - const imageEl = swiper.slides[index].querySelector('[loading="lazy"]'); - if (imageEl) imageEl.removeAttribute('loading'); -}; -const preload = swiper => { - if (!swiper || swiper.destroyed || !swiper.params) return; - let amount = swiper.params.lazyPreloadPrevNext; - const len = swiper.slides.length; - if (!len || !amount || amount < 0) return; - amount = Math.min(amount, len); - const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView); - const activeIndex = swiper.activeIndex; - if (swiper.params.grid && swiper.params.grid.rows > 1) { - const activeColumn = activeIndex; - const preloadColumns = [activeColumn - amount]; - preloadColumns.push(...Array.from({ - length: amount - }).map((_, i) => { - return activeColumn + slidesPerView + i; - })); - swiper.slides.forEach((slideEl, i) => { - if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i); - }); - return; - } - const slideIndexLastInView = activeIndex + slidesPerView - 1; - if (swiper.params.rewind || swiper.params.loop) { - for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) { - const realIndex = (i % len + len) % len; - if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex); - } - } else { - for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) { - if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) { - unlazy(swiper, i); - } - } - } -}; - -function getActiveIndexByTranslate(swiper) { - const { - slidesGrid, - params - } = swiper; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - let activeIndex; - for (let i = 0; i < slidesGrid.length; i += 1) { - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) { - activeIndex = i; - } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { - activeIndex = i + 1; - } - } else if (translate >= slidesGrid[i]) { - activeIndex = i; - } - } - // Normalize slideIndex - if (params.normalizeSlideIndex) { - if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0; - } - return activeIndex; -} -function updateActiveIndex(newActiveIndex) { - const swiper = this; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - const { - snapGrid, - params, - activeIndex: previousIndex, - realIndex: previousRealIndex, - snapIndex: previousSnapIndex - } = swiper; - let activeIndex = newActiveIndex; - let snapIndex; - const getVirtualRealIndex = aIndex => { - let realIndex = aIndex - swiper.virtual.slidesBefore; - if (realIndex < 0) { - realIndex = swiper.virtual.slides.length + realIndex; - } - if (realIndex >= swiper.virtual.slides.length) { - realIndex -= swiper.virtual.slides.length; - } - return realIndex; - }; - if (typeof activeIndex === 'undefined') { - activeIndex = getActiveIndexByTranslate(swiper); - } - if (snapGrid.indexOf(translate) >= 0) { - snapIndex = snapGrid.indexOf(translate); - } else { - const skip = Math.min(params.slidesPerGroupSkip, activeIndex); - snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup); - } - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - if (activeIndex === previousIndex && !swiper.params.loop) { - if (snapIndex !== previousSnapIndex) { - swiper.snapIndex = snapIndex; - swiper.emit('snapIndexChange'); - } - return; - } - if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.realIndex = getVirtualRealIndex(activeIndex); - return; - } - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - - // Get real index - let realIndex; - if (swiper.virtual && params.virtual.enabled && params.loop) { - realIndex = getVirtualRealIndex(activeIndex); - } else if (gridEnabled) { - const firstSlideInColumn = swiper.slides.filter(slideEl => slideEl.column === activeIndex)[0]; - let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10); - if (Number.isNaN(activeSlideIndex)) { - activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0); - } - realIndex = Math.floor(activeSlideIndex / params.grid.rows); - } else if (swiper.slides[activeIndex]) { - const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index'); - if (slideIndex) { - realIndex = parseInt(slideIndex, 10); - } else { - realIndex = activeIndex; - } - } else { - realIndex = activeIndex; - } - Object.assign(swiper, { - previousSnapIndex, - snapIndex, - previousRealIndex, - realIndex, - previousIndex, - activeIndex - }); - if (swiper.initialized) { - preload(swiper); - } - swiper.emit('activeIndexChange'); - swiper.emit('snapIndexChange'); - if (swiper.initialized || swiper.params.runCallbacksOnInit) { - if (previousRealIndex !== realIndex) { - swiper.emit('realIndexChange'); - } - swiper.emit('slideChange'); - } -} - -function updateClickedSlide(el, path) { - const swiper = this; - const params = swiper.params; - let slide = el.closest(`.${params.slideClass}, swiper-slide`); - if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) { - [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => { - if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) { - slide = pathEl; - } - }); - } - let slideFound = false; - let slideIndex; - if (slide) { - for (let i = 0; i < swiper.slides.length; i += 1) { - if (swiper.slides[i] === slide) { - slideFound = true; - slideIndex = i; - break; - } - } - } - if (slide && slideFound) { - swiper.clickedSlide = slide; - if (swiper.virtual && swiper.params.virtual.enabled) { - swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10); - } else { - swiper.clickedIndex = slideIndex; - } - } else { - swiper.clickedSlide = undefined; - swiper.clickedIndex = undefined; - return; - } - if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { - swiper.slideToClickedSlide(); - } -} - -var update = { - updateSize, - updateSlides, - updateAutoHeight, - updateSlidesOffset, - updateSlidesProgress, - updateProgress, - updateSlidesClasses, - updateActiveIndex, - updateClickedSlide -}; - -function getSwiperTranslate(axis) { - if (axis === void 0) { - axis = this.isHorizontal() ? 'x' : 'y'; - } - const swiper = this; - const { - params, - rtlTranslate: rtl, - translate, - wrapperEl - } = swiper; - if (params.virtualTranslate) { - return rtl ? -translate : translate; - } - if (params.cssMode) { - return translate; - } - let currentTranslate = getTranslate(wrapperEl, axis); - currentTranslate += swiper.cssOverflowAdjustment(); - if (rtl) currentTranslate = -currentTranslate; - return currentTranslate || 0; -} - -function setTranslate(translate, byController) { - const swiper = this; - const { - rtlTranslate: rtl, - params, - wrapperEl, - progress - } = swiper; - let x = 0; - let y = 0; - const z = 0; - if (swiper.isHorizontal()) { - x = rtl ? -translate : translate; - } else { - y = translate; - } - if (params.roundLengths) { - x = Math.floor(x); - y = Math.floor(y); - } - swiper.previousTranslate = swiper.translate; - swiper.translate = swiper.isHorizontal() ? x : y; - if (params.cssMode) { - wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y; - } else if (!params.virtualTranslate) { - if (swiper.isHorizontal()) { - x -= swiper.cssOverflowAdjustment(); - } else { - y -= swiper.cssOverflowAdjustment(); - } - wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`; - } - - // Check if we need to update progress - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== progress) { - swiper.updateProgress(translate); - } - swiper.emit('setTranslate', swiper.translate, byController); -} - -function minTranslate() { - return -this.snapGrid[0]; -} - -function maxTranslate() { - return -this.snapGrid[this.snapGrid.length - 1]; -} - -function translateTo(translate, speed, runCallbacks, translateBounds, internal) { - if (translate === void 0) { - translate = 0; - } - if (speed === void 0) { - speed = this.params.speed; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (translateBounds === void 0) { - translateBounds = true; - } - const swiper = this; - const { - params, - wrapperEl - } = swiper; - if (swiper.animating && params.preventInteractionOnTransition) { - return false; - } - const minTranslate = swiper.minTranslate(); - const maxTranslate = swiper.maxTranslate(); - let newTranslate; - if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; - - // Update progress - swiper.updateProgress(newTranslate); - if (params.cssMode) { - const isH = swiper.isHorizontal(); - if (speed === 0) { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: -newTranslate, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: -newTranslate, - behavior: 'smooth' - }); - } - return true; - } - if (speed === 0) { - swiper.setTransition(0); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionEnd'); - } - } else { - swiper.setTransition(speed); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionStart'); - } - if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onTranslateToWrapperTransitionEnd) { - swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - swiper.onTranslateToWrapperTransitionEnd = null; - delete swiper.onTranslateToWrapperTransitionEnd; - swiper.animating = false; - if (runCallbacks) { - swiper.emit('transitionEnd'); - } - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - } - } - return true; -} - -var translate = { - getTranslate: getSwiperTranslate, - setTranslate, - minTranslate, - maxTranslate, - translateTo -}; - -function setTransition(duration, byController) { - const swiper = this; - if (!swiper.params.cssMode) { - swiper.wrapperEl.style.transitionDuration = `${duration}ms`; - swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : ''; - } - swiper.emit('setTransition', duration, byController); -} - -function transitionEmit(_ref) { - let { - swiper, - runCallbacks, - direction, - step - } = _ref; - const { - activeIndex, - previousIndex - } = swiper; - let dir = direction; - if (!dir) { - if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; - } - swiper.emit(`transition${step}`); - if (runCallbacks && activeIndex !== previousIndex) { - if (dir === 'reset') { - swiper.emit(`slideResetTransition${step}`); - return; - } - swiper.emit(`slideChangeTransition${step}`); - if (dir === 'next') { - swiper.emit(`slideNextTransition${step}`); - } else { - swiper.emit(`slidePrevTransition${step}`); - } - } -} - -function transitionStart(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - if (params.cssMode) return; - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'Start' - }); -} - -function transitionEnd(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - swiper.animating = false; - if (params.cssMode) return; - swiper.setTransition(0); - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'End' - }); -} - -var transition = { - setTransition, - transitionStart, - transitionEnd -}; - -function slideTo(index, speed, runCallbacks, internal, initial) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - index = parseInt(index, 10); - } - const swiper = this; - let slideIndex = index; - if (slideIndex < 0) slideIndex = 0; - const { - params, - snapGrid, - slidesGrid, - previousIndex, - activeIndex, - rtlTranslate: rtl, - wrapperEl, - enabled - } = swiper; - if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) { - return false; - } - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex); - let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup); - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - const translate = -snapGrid[snapIndex]; - // Normalize slideIndex - if (params.normalizeSlideIndex) { - for (let i = 0; i < slidesGrid.length; i += 1) { - const normalizedTranslate = -Math.floor(translate * 100); - const normalizedGrid = Math.floor(slidesGrid[i] * 100); - const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100); - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) { - slideIndex = i; - } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) { - slideIndex = i + 1; - } - } else if (normalizedTranslate >= normalizedGrid) { - slideIndex = i; - } - } - } - // Directions locks - if (swiper.initialized && slideIndex !== activeIndex) { - if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) { - return false; - } - if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { - if ((activeIndex || 0) !== slideIndex) { - return false; - } - } - } - if (slideIndex !== (previousIndex || 0) && runCallbacks) { - swiper.emit('beforeSlideChangeStart'); - } - - // Update progress - swiper.updateProgress(translate); - let direction; - if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; - - // Update Index - if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) { - swiper.updateActiveIndex(slideIndex); - // Update Height - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - swiper.updateSlidesClasses(); - if (params.effect !== 'slide') { - swiper.setTranslate(translate); - } - if (direction !== 'reset') { - swiper.transitionStart(runCallbacks, direction); - swiper.transitionEnd(runCallbacks, direction); - } - return false; - } - if (params.cssMode) { - const isH = swiper.isHorizontal(); - const t = rtl ? translate : -translate; - if (speed === 0) { - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - if (isVirtual) { - swiper.wrapperEl.style.scrollSnapType = 'none'; - swiper._immediateVirtual = true; - } - if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) { - swiper._cssModeVirtualInitialSet = true; - requestAnimationFrame(() => { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - }); - } else { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - } - if (isVirtual) { - requestAnimationFrame(() => { - swiper.wrapperEl.style.scrollSnapType = ''; - swiper._immediateVirtual = false; - }); - } - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: t, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: t, - behavior: 'smooth' - }); - } - return true; - } - swiper.setTransition(speed); - swiper.setTranslate(translate); - swiper.updateActiveIndex(slideIndex); - swiper.updateSlidesClasses(); - swiper.emit('beforeTransitionStart', speed, internal); - swiper.transitionStart(runCallbacks, direction); - if (speed === 0) { - swiper.transitionEnd(runCallbacks, direction); - } else if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onSlideToWrapperTransitionEnd) { - swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - swiper.onSlideToWrapperTransitionEnd = null; - delete swiper.onSlideToWrapperTransitionEnd; - swiper.transitionEnd(runCallbacks, direction); - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - } - return true; -} - -function slideToLoop(index, speed, runCallbacks, internal) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - const indexAsNumber = parseInt(index, 10); - index = indexAsNumber; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1; - let newIndex = index; - if (swiper.params.loop) { - if (swiper.virtual && swiper.params.virtual.enabled) { - // eslint-disable-next-line - newIndex = newIndex + swiper.virtual.slidesBefore; - } else { - let targetSlideIndex; - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - targetSlideIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - targetSlideIndex = swiper.getSlideIndexByData(newIndex); - } - const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length; - const { - centeredSlides - } = swiper.params; - let slidesPerView = swiper.params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - let needLoopFix = cols - targetSlideIndex < slidesPerView; - if (centeredSlides) { - needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2); - } - if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) { - needLoopFix = false; - } - if (needLoopFix) { - const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev'; - swiper.loopFix({ - direction, - slideTo: true, - activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1, - slideRealIndex: direction === 'next' ? swiper.realIndex : undefined - }); - } - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - newIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - newIndex = swiper.getSlideIndexByData(newIndex); - } - } - } - requestAnimationFrame(() => { - swiper.slideTo(newIndex, speed, runCallbacks, internal); - }); - return swiper; -} - -/* eslint no-unused-vars: "off" */ -function slideNext(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - enabled, - params, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let perGroup = params.slidesPerGroup; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1); - } - const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup; - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'next' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); - }); - return true; - } - } - if (params.rewind && swiper.isEnd) { - return swiper.slideTo(0, speed, runCallbacks, internal); - } - return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); -} - -/* eslint no-unused-vars: "off" */ -function slidePrev(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params, - snapGrid, - slidesGrid, - rtlTranslate, - enabled, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'prev' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - } - const translate = rtlTranslate ? swiper.translate : -swiper.translate; - function normalize(val) { - if (val < 0) return -Math.floor(Math.abs(val)); - return Math.floor(val); - } - const normalizedTranslate = normalize(translate); - const normalizedSnapGrid = snapGrid.map(val => normalize(val)); - let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; - if (typeof prevSnap === 'undefined' && params.cssMode) { - let prevSnapIndex; - snapGrid.forEach((snap, snapIndex) => { - if (normalizedTranslate >= snap) { - // prevSnap = snap; - prevSnapIndex = snapIndex; - } - }); - if (typeof prevSnapIndex !== 'undefined') { - prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex]; - } - } - let prevIndex = 0; - if (typeof prevSnap !== 'undefined') { - prevIndex = slidesGrid.indexOf(prevSnap); - if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; - prevIndex = Math.max(prevIndex, 0); - } - } - if (params.rewind && swiper.isBeginning) { - const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - return swiper.slideTo(lastIndex, speed, runCallbacks, internal); - } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(prevIndex, speed, runCallbacks, internal); - }); - return true; - } - return swiper.slideTo(prevIndex, speed, runCallbacks, internal); -} - -/* eslint no-unused-vars: "off" */ -function slideReset(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); -} - -/* eslint no-unused-vars: "off" */ -function slideToClosest(speed, runCallbacks, internal, threshold) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (threshold === void 0) { - threshold = 0.5; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let index = swiper.activeIndex; - const skip = Math.min(swiper.params.slidesPerGroupSkip, index); - const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - if (translate >= swiper.snapGrid[snapIndex]) { - // The current translate is on or after the current snap index, so the choice - // is between the current index and the one after it. - const currentSnap = swiper.snapGrid[snapIndex]; - const nextSnap = swiper.snapGrid[snapIndex + 1]; - if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { - index += swiper.params.slidesPerGroup; - } - } else { - // The current translate is before the current snap index, so the choice - // is between the current index and the one before it. - const prevSnap = swiper.snapGrid[snapIndex - 1]; - const currentSnap = swiper.snapGrid[snapIndex]; - if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { - index -= swiper.params.slidesPerGroup; - } - } - index = Math.max(index, 0); - index = Math.min(index, swiper.slidesGrid.length - 1); - return swiper.slideTo(index, speed, runCallbacks, internal); -} - -function slideToClickedSlide() { - const swiper = this; - if (swiper.destroyed) return; - const { - params, - slidesEl - } = swiper; - const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; - let slideToIndex = swiper.clickedIndex; - let realIndex; - const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`; - if (params.loop) { - if (swiper.animating) return; - realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); - if (params.centeredSlides) { - if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else if (slideToIndex > swiper.slides.length - slidesPerView) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else { - swiper.slideTo(slideToIndex); - } -} - -var slide = { - slideTo, - slideToLoop, - slideNext, - slidePrev, - slideReset, - slideToClosest, - slideToClickedSlide -}; - -function loopCreate(slideRealIndex) { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - const initSlides = () => { - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - slides.forEach((el, index) => { - el.setAttribute('data-swiper-slide-index', index); - }); - }; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1); - const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0; - const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0; - const addBlankSlides = amountOfSlides => { - for (let i = 0; i < amountOfSlides; i += 1) { - const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]); - swiper.slidesEl.append(slideEl); - } - }; - if (shouldFillGroup) { - if (params.loopAddBlankSlides) { - const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else if (shouldFillGrid) { - if (params.loopAddBlankSlides) { - const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else { - initSlides(); - } - swiper.loopFix({ - slideRealIndex, - direction: params.centeredSlides ? undefined : 'next' - }); -} - -function loopFix(_temp) { - let { - slideRealIndex, - slideTo = true, - direction, - setTranslate, - activeSlideIndex, - byController, - byMousewheel - } = _temp === void 0 ? {} : _temp; - const swiper = this; - if (!swiper.params.loop) return; - swiper.emit('beforeLoopFix'); - const { - slides, - allowSlidePrev, - allowSlideNext, - slidesEl, - params - } = swiper; - const { - centeredSlides - } = params; - swiper.allowSlidePrev = true; - swiper.allowSlideNext = true; - if (swiper.virtual && params.virtual.enabled) { - if (slideTo) { - if (!params.centeredSlides && swiper.snapIndex === 0) { - swiper.slideTo(swiper.virtual.slides.length, 0, false, true); - } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) { - swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true); - } else if (swiper.snapIndex === swiper.snapGrid.length - 1) { - swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true); - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - swiper.emit('loopFix'); - return; - } - let slidesPerView = params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup; - let loopedSlides = slidesPerGroup; - if (loopedSlides % slidesPerGroup !== 0) { - loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup; - } - loopedSlides += params.loopAdditionalSlides; - swiper.loopedSlides = loopedSlides; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - if (slides.length < slidesPerView + loopedSlides) { - showWarning('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'); - } else if (gridEnabled && params.grid.fill === 'row') { - showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`'); - } - const prependSlidesIndexes = []; - const appendSlidesIndexes = []; - let activeIndex = swiper.activeIndex; - if (typeof activeSlideIndex === 'undefined') { - activeSlideIndex = swiper.getSlideIndex(slides.filter(el => el.classList.contains(params.slideActiveClass))[0]); - } else { - activeIndex = activeSlideIndex; - } - const isNext = direction === 'next' || !direction; - const isPrev = direction === 'prev' || !direction; - let slidesPrepended = 0; - let slidesAppended = 0; - const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length; - const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex; - const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0); - // prepend last slides before start - if (activeColIndexWithShift < loopedSlides) { - slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup); - for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - const colIndexToPrepend = cols - index - 1; - for (let i = slides.length - 1; i >= 0; i -= 1) { - if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i); - } - // slides.forEach((slide, slideIndex) => { - // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex); - // }); - } else { - prependSlidesIndexes.push(cols - index - 1); - } - } - } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) { - slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup); - for (let i = 0; i < slidesAppended; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - slides.forEach((slide, slideIndex) => { - if (slide.column === index) appendSlidesIndexes.push(slideIndex); - }); - } else { - appendSlidesIndexes.push(index); - } - } - } - swiper.__preventObserver__ = true; - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - if (isPrev) { - prependSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.prepend(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - if (isNext) { - appendSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.append(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - swiper.recalcSlides(); - if (params.slidesPerView === 'auto') { - swiper.updateSlides(); - } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) { - swiper.slides.forEach((slide, slideIndex) => { - swiper.grid.updateSlide(slideIndex, slide, swiper.slides); - }); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - if (slideTo) { - if (prependSlidesIndexes.length > 0 && isPrev) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - if (setTranslate) { - const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex + shift, 0, false, true); - swiper.touchEventsData.currentTranslate = swiper.translate; - } - } - } else if (appendSlidesIndexes.length > 0 && isNext) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex - slidesAppended, 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex - shift, 0, false, true); - } - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.controller && swiper.controller.control && !byController) { - const loopParams = { - slideRealIndex, - direction, - setTranslate, - activeSlideIndex, - byController: true - }; - if (Array.isArray(swiper.controller.control)) { - swiper.controller.control.forEach(c => { - if (!c.destroyed && c.params.loop) c.loopFix({ - ...loopParams, - slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - }); - } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) { - swiper.controller.control.loopFix({ - ...loopParams, - slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - } - } - swiper.emit('loopFix'); -} - -function loopDestroy() { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - swiper.recalcSlides(); - const newSlidesOrder = []; - swiper.slides.forEach(slideEl => { - const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex; - newSlidesOrder[index] = slideEl; - }); - swiper.slides.forEach(slideEl => { - slideEl.removeAttribute('data-swiper-slide-index'); - }); - newSlidesOrder.forEach(slideEl => { - slidesEl.append(slideEl); - }); - swiper.recalcSlides(); - swiper.slideTo(swiper.realIndex, 0); -} - -var loop = { - loopCreate, - loopFix, - loopDestroy -}; - -function setGrabCursor(moving) { - const swiper = this; - if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return; - const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl; - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - el.style.cursor = 'move'; - el.style.cursor = moving ? 'grabbing' : 'grab'; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } -} - -function unsetGrabCursor() { - const swiper = this; - if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) { - return; - } - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = ''; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } -} - -var grabCursor = { - setGrabCursor, - unsetGrabCursor -}; - -// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd -function closestElement(selector, base) { - if (base === void 0) { - base = this; - } - function __closestFrom(el) { - if (!el || el === getDocument() || el === getWindow()) return null; - if (el.assignedSlot) el = el.assignedSlot; - const found = el.closest(selector); - if (!found && !el.getRootNode) { - return null; - } - return found || __closestFrom(el.getRootNode().host); - } - return __closestFrom(base); -} -function preventEdgeSwipe(swiper, event, startX) { - const window = getWindow(); - const { - params - } = swiper; - const edgeSwipeDetection = params.edgeSwipeDetection; - const edgeSwipeThreshold = params.edgeSwipeThreshold; - if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) { - if (edgeSwipeDetection === 'prevent') { - event.preventDefault(); - return true; - } - return false; - } - return true; -} -function onTouchStart(event) { - const swiper = this; - const document = getDocument(); - let e = event; - if (e.originalEvent) e = e.originalEvent; - const data = swiper.touchEventsData; - if (e.type === 'pointerdown') { - if (data.pointerId !== null && data.pointerId !== e.pointerId) { - return; - } - data.pointerId = e.pointerId; - } else if (e.type === 'touchstart' && e.targetTouches.length === 1) { - data.touchId = e.targetTouches[0].identifier; - } - if (e.type === 'touchstart') { - // don't proceed touch event - preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX); - return; - } - const { - params, - touches, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (swiper.animating && params.preventInteractionOnTransition) { - return; - } - if (!swiper.animating && params.cssMode && params.loop) { - swiper.loopFix(); - } - let targetEl = e.target; - if (params.touchEventsTarget === 'wrapper') { - if (!swiper.wrapperEl.contains(targetEl)) return; - } - if ('which' in e && e.which === 3) return; - if ('button' in e && e.button > 0) return; - if (data.isTouched && data.isMoved) return; - - // change target el for shadow root component - const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; - // eslint-disable-next-line - const eventPath = e.composedPath ? e.composedPath() : e.path; - if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) { - targetEl = eventPath[0]; - } - const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`; - const isTargetShadow = !!(e.target && e.target.shadowRoot); - - // use closestElement for shadow root element to get the actual closest for nested shadow root element - if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) { - swiper.allowClick = true; - return; - } - if (params.swipeHandler) { - if (!targetEl.closest(params.swipeHandler)) return; - } - touches.currentX = e.pageX; - touches.currentY = e.pageY; - const startX = touches.currentX; - const startY = touches.currentY; - - // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore - - if (!preventEdgeSwipe(swiper, e, startX)) { - return; - } - Object.assign(data, { - isTouched: true, - isMoved: false, - allowTouchCallbacks: true, - isScrolling: undefined, - startMoving: undefined - }); - touches.startX = startX; - touches.startY = startY; - data.touchStartTime = now(); - swiper.allowClick = true; - swiper.updateSize(); - swiper.swipeDirection = undefined; - if (params.threshold > 0) data.allowThresholdMove = false; - let preventDefault = true; - if (targetEl.matches(data.focusableElements)) { - preventDefault = false; - if (targetEl.nodeName === 'SELECT') { - data.isTouched = false; - } - } - if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) { - document.activeElement.blur(); - } - const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; - if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) { - e.preventDefault(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) { - swiper.freeMode.onTouchStart(); - } - swiper.emit('touchStart', e); -} - -function onTouchMove(event) { - const document = getDocument(); - const swiper = this; - const data = swiper.touchEventsData; - const { - params, - touches, - rtlTranslate: rtl, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && event.pointerType === 'mouse') return; - let e = event; - if (e.originalEvent) e = e.originalEvent; - if (e.type === 'pointermove') { - if (data.touchId !== null) return; // return from pointer if we use touch - const id = e.pointerId; - if (id !== data.pointerId) return; - } - let targetTouch; - if (e.type === 'touchmove') { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } else { - targetTouch = e; - } - if (!data.isTouched) { - if (data.startMoving && data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - return; - } - const pageX = targetTouch.pageX; - const pageY = targetTouch.pageY; - if (e.preventedByNestedSwiper) { - touches.startX = pageX; - touches.startY = pageY; - return; - } - if (!swiper.allowTouchMove) { - if (!e.target.matches(data.focusableElements)) { - swiper.allowClick = false; - } - if (data.isTouched) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY - }); - data.touchStartTime = now(); - } - return; - } - if (params.touchReleaseOnEdges && !params.loop) { - if (swiper.isVertical()) { - // Vertical - if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) { - data.isTouched = false; - data.isMoved = false; - return; - } - } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) { - return; - } - } - if (document.activeElement) { - if (e.target === document.activeElement && e.target.matches(data.focusableElements)) { - data.isMoved = true; - swiper.allowClick = false; - return; - } - } - if (data.allowTouchCallbacks) { - swiper.emit('touchMove', e); - } - touches.previousX = touches.currentX; - touches.previousY = touches.currentY; - touches.currentX = pageX; - touches.currentY = pageY; - const diffX = touches.currentX - touches.startX; - const diffY = touches.currentY - touches.startY; - if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return; - if (typeof data.isScrolling === 'undefined') { - let touchAngle; - if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) { - data.isScrolling = false; - } else { - // eslint-disable-next-line - if (diffX * diffX + diffY * diffY >= 25) { - touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI; - data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle; - } - } - } - if (data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - if (typeof data.startMoving === 'undefined') { - if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { - data.startMoving = true; - } - } - if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) { - data.isTouched = false; - return; - } - if (!data.startMoving) { - return; - } - swiper.allowClick = false; - if (!params.cssMode && e.cancelable) { - e.preventDefault(); - } - if (params.touchMoveStopPropagation && !params.nested) { - e.stopPropagation(); - } - let diff = swiper.isHorizontal() ? diffX : diffY; - let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY; - if (params.oneWayMovement) { - diff = Math.abs(diff) * (rtl ? 1 : -1); - touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1); - } - touches.diff = diff; - diff *= params.touchRatio; - if (rtl) { - diff = -diff; - touchesDiff = -touchesDiff; - } - const prevTouchesDirection = swiper.touchesDirection; - swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; - swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next'; - const isLoop = swiper.params.loop && !params.cssMode; - const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev; - if (!data.isMoved) { - if (isLoop && allowLoopFix) { - swiper.loopFix({ - direction: swiper.swipeDirection - }); - } - data.startTranslate = swiper.getTranslate(); - swiper.setTransition(0); - if (swiper.animating) { - const evt = new window.CustomEvent('transitionend', { - bubbles: true, - cancelable: true, - detail: { - bySwiperTouchMove: true - } - }); - swiper.wrapperEl.dispatchEvent(evt); - } - data.allowMomentumBounce = false; - // Grab Cursor - if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(true); - } - swiper.emit('sliderFirstMove', e); - } - let loopFixed; - new Date().getTime(); - if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY, - startTranslate: data.currentTranslate - }); - data.loopSwapReset = true; - data.startTranslate = data.currentTranslate; - return; - } - swiper.emit('sliderMove', e); - data.isMoved = true; - data.currentTranslate = diff + data.startTranslate; - let disableParentSwiper = true; - let resistanceRatio = params.resistanceRatio; - if (params.touchReleaseOnEdges) { - resistanceRatio = 0; - } - if (diff > 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] : swiper.minTranslate())) { - swiper.loopFix({ - direction: 'prev', - setTranslate: true, - activeSlideIndex: 0 - }); - } - if (data.currentTranslate > swiper.minTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio; - } - } - } else if (diff < 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] : swiper.maxTranslate())) { - swiper.loopFix({ - direction: 'next', - setTranslate: true, - activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10))) - }); - } - if (data.currentTranslate < swiper.maxTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio; - } - } - } - if (disableParentSwiper) { - e.preventedByNestedSwiper = true; - } - - // Directions locks - if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && !swiper.allowSlideNext) { - data.currentTranslate = data.startTranslate; - } - - // Threshold - if (params.threshold > 0) { - if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { - if (!data.allowThresholdMove) { - data.allowThresholdMove = true; - touches.startX = touches.currentX; - touches.startY = touches.currentY; - data.currentTranslate = data.startTranslate; - touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; - return; - } - } else { - data.currentTranslate = data.startTranslate; - return; - } - } - if (!params.followFinger || params.cssMode) return; - - // Update active index in free mode - if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) { - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode) { - swiper.freeMode.onTouchMove(); - } - // Update progress - swiper.updateProgress(data.currentTranslate); - // Update translate - swiper.setTranslate(data.currentTranslate); -} - -function onTouchEnd(event) { - const swiper = this; - const data = swiper.touchEventsData; - let e = event; - if (e.originalEvent) e = e.originalEvent; - let targetTouch; - const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel'; - if (!isTouchEvent) { - if (data.touchId !== null) return; // return from pointer if we use touch - if (e.pointerId !== data.pointerId) return; - targetTouch = e; - } else { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } - if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) { - const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView); - if (!proceed) { - return; - } - } - data.pointerId = null; - data.touchId = null; - const { - params, - touches, - rtlTranslate: rtl, - slidesGrid, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (data.allowTouchCallbacks) { - swiper.emit('touchEnd', e); - } - data.allowTouchCallbacks = false; - if (!data.isTouched) { - if (data.isMoved && params.grabCursor) { - swiper.setGrabCursor(false); - } - data.isMoved = false; - data.startMoving = false; - return; - } - - // Return Grab Cursor - if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(false); - } - - // Time diff - const touchEndTime = now(); - const timeDiff = touchEndTime - data.touchStartTime; - - // Tap, doubleTap, Click - if (swiper.allowClick) { - const pathTree = e.path || e.composedPath && e.composedPath(); - swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree); - swiper.emit('tap click', e); - if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) { - swiper.emit('doubleTap doubleClick', e); - } - } - data.lastClickTime = now(); - nextTick(() => { - if (!swiper.destroyed) swiper.allowClick = true; - }); - if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) { - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - return; - } - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - let currentPos; - if (params.followFinger) { - currentPos = rtl ? swiper.translate : -swiper.translate; - } else { - currentPos = -data.currentTranslate; - } - if (params.cssMode) { - return; - } - if (params.freeMode && params.freeMode.enabled) { - swiper.freeMode.onTouchEnd({ - currentPos - }); - return; - } - - // Find current slide - const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop; - let stopIndex = 0; - let groupSize = swiper.slidesSizesGrid[0]; - for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) { - const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (typeof slidesGrid[i + increment] !== 'undefined') { - if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) { - stopIndex = i; - groupSize = slidesGrid[i + increment] - slidesGrid[i]; - } - } else if (swipeToLast || currentPos >= slidesGrid[i]) { - stopIndex = i; - groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; - } - } - let rewindFirstIndex = null; - let rewindLastIndex = null; - if (params.rewind) { - if (swiper.isBeginning) { - rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - } else if (swiper.isEnd) { - rewindFirstIndex = 0; - } - } - // Find current slide size - const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; - const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (timeDiff > params.longSwipesMs) { - // Long touches - if (!params.longSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - if (swiper.swipeDirection === 'next') { - if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex); - } - if (swiper.swipeDirection === 'prev') { - if (ratio > 1 - params.longSwipesRatio) { - swiper.slideTo(stopIndex + increment); - } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) { - swiper.slideTo(rewindLastIndex); - } else { - swiper.slideTo(stopIndex); - } - } - } else { - // Short swipes - if (!params.shortSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl); - if (!isNavButtonTarget) { - if (swiper.swipeDirection === 'next') { - swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment); - } - if (swiper.swipeDirection === 'prev') { - swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex); - } - } else if (e.target === swiper.navigation.nextEl) { - swiper.slideTo(stopIndex + increment); - } else { - swiper.slideTo(stopIndex); - } - } -} - -function onResize() { - const swiper = this; - const { - params, - el - } = swiper; - if (el && el.offsetWidth === 0) return; - - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - - // Save locks - const { - allowSlideNext, - allowSlidePrev, - snapGrid - } = swiper; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - - // Disable locks on resize - swiper.allowSlideNext = true; - swiper.allowSlidePrev = true; - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateSlidesClasses(); - const isVirtualLoop = isVirtual && params.loop; - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) { - swiper.slideTo(swiper.slides.length - 1, 0, false, true); - } else { - if (swiper.params.loop && !isVirtual) { - swiper.slideToLoop(swiper.realIndex, 0, false, true); - } else { - swiper.slideTo(swiper.activeIndex, 0, false, true); - } - } - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - clearTimeout(swiper.autoplay.resizeTimeout); - swiper.autoplay.resizeTimeout = setTimeout(() => { - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - swiper.autoplay.resume(); - } - }, 500); - } - // Return locks after resize - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } -} - -function onClick(e) { - const swiper = this; - if (!swiper.enabled) return; - if (!swiper.allowClick) { - if (swiper.params.preventClicks) e.preventDefault(); - if (swiper.params.preventClicksPropagation && swiper.animating) { - e.stopPropagation(); - e.stopImmediatePropagation(); - } - } -} - -function onScroll() { - const swiper = this; - const { - wrapperEl, - rtlTranslate, - enabled - } = swiper; - if (!enabled) return; - swiper.previousTranslate = swiper.translate; - if (swiper.isHorizontal()) { - swiper.translate = -wrapperEl.scrollLeft; - } else { - swiper.translate = -wrapperEl.scrollTop; - } - // eslint-disable-next-line - if (swiper.translate === 0) swiper.translate = 0; - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== swiper.progress) { - swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate); - } - swiper.emit('setTranslate', swiper.translate, false); -} - -function onLoad(e) { - const swiper = this; - processLazyPreloader(swiper, e.target); - if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) { - return; - } - swiper.update(); -} - -function onDocumentTouchStart() { - const swiper = this; - if (swiper.documentTouchHandlerProceeded) return; - swiper.documentTouchHandlerProceeded = true; - if (swiper.params.touchReleaseOnEdges) { - swiper.el.style.touchAction = 'auto'; - } -} - -const events = (swiper, method) => { - const document = getDocument(); - const { - params, - el, - wrapperEl, - device - } = swiper; - const capture = !!params.nested; - const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; - const swiperMethod = method; - - // Touch Events - document[domMethod]('touchstart', swiper.onDocumentTouchStart, { - passive: false, - capture - }); - el[domMethod]('touchstart', swiper.onTouchStart, { - passive: false - }); - el[domMethod]('pointerdown', swiper.onTouchStart, { - passive: false - }); - document[domMethod]('touchmove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('pointermove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('touchend', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerup', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointercancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('touchcancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerout', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerleave', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('contextmenu', swiper.onTouchEnd, { - passive: true - }); - - // Prevent Links Clicks - if (params.preventClicks || params.preventClicksPropagation) { - el[domMethod]('click', swiper.onClick, true); - } - if (params.cssMode) { - wrapperEl[domMethod]('scroll', swiper.onScroll); - } - - // Resize handler - if (params.updateOnWindowResize) { - swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true); - } else { - swiper[swiperMethod]('observerUpdate', onResize, true); - } - - // Images loader - el[domMethod]('load', swiper.onLoad, { - capture: true - }); -}; -function attachEvents() { - const swiper = this; - const { - params - } = swiper; - swiper.onTouchStart = onTouchStart.bind(swiper); - swiper.onTouchMove = onTouchMove.bind(swiper); - swiper.onTouchEnd = onTouchEnd.bind(swiper); - swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper); - if (params.cssMode) { - swiper.onScroll = onScroll.bind(swiper); - } - swiper.onClick = onClick.bind(swiper); - swiper.onLoad = onLoad.bind(swiper); - events(swiper, 'on'); -} -function detachEvents() { - const swiper = this; - events(swiper, 'off'); -} -var events$1 = { - attachEvents, - detachEvents -}; - -const isGridEnabled = (swiper, params) => { - return swiper.grid && params.grid && params.grid.rows > 1; -}; -function setBreakpoint() { - const swiper = this; - const { - realIndex, - initialized, - params, - el - } = swiper; - const breakpoints = params.breakpoints; - if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; - - // Get breakpoint for window width and update parameters - const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el); - if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; - const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; - const breakpointParams = breakpointOnlyParams || swiper.originalParams; - const wasMultiRow = isGridEnabled(swiper, params); - const isMultiRow = isGridEnabled(swiper, breakpointParams); - const wasGrabCursor = swiper.params.grabCursor; - const isGrabCursor = breakpointParams.grabCursor; - const wasEnabled = params.enabled; - if (wasMultiRow && !isMultiRow) { - el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); - swiper.emitContainerClasses(); - } else if (!wasMultiRow && isMultiRow) { - el.classList.add(`${params.containerModifierClass}grid`); - if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') { - el.classList.add(`${params.containerModifierClass}grid-column`); - } - swiper.emitContainerClasses(); - } - if (wasGrabCursor && !isGrabCursor) { - swiper.unsetGrabCursor(); - } else if (!wasGrabCursor && isGrabCursor) { - swiper.setGrabCursor(); - } - - // Toggle navigation, pagination, scrollbar - ['navigation', 'pagination', 'scrollbar'].forEach(prop => { - if (typeof breakpointParams[prop] === 'undefined') return; - const wasModuleEnabled = params[prop] && params[prop].enabled; - const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; - if (wasModuleEnabled && !isModuleEnabled) { - swiper[prop].disable(); - } - if (!wasModuleEnabled && isModuleEnabled) { - swiper[prop].enable(); - } - }); - const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; - const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); - const wasLoop = params.loop; - if (directionChanged && initialized) { - swiper.changeDirection(); - } - extend(swiper.params, breakpointParams); - const isEnabled = swiper.params.enabled; - const hasLoop = swiper.params.loop; - Object.assign(swiper, { - allowTouchMove: swiper.params.allowTouchMove, - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev - }); - if (wasEnabled && !isEnabled) { - swiper.disable(); - } else if (!wasEnabled && isEnabled) { - swiper.enable(); - } - swiper.currentBreakpoint = breakpoint; - swiper.emit('_beforeBreakpoint', breakpointParams); - if (initialized) { - if (needsReLoop) { - swiper.loopDestroy(); - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (!wasLoop && hasLoop) { - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (wasLoop && !hasLoop) { - swiper.loopDestroy(); - } - } - swiper.emit('breakpoint', breakpointParams); -} - -function getBreakpoint(breakpoints, base, containerEl) { - if (base === void 0) { - base = 'window'; - } - if (!breakpoints || base === 'container' && !containerEl) return undefined; - let breakpoint = false; - const window = getWindow(); - const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight; - const points = Object.keys(breakpoints).map(point => { - if (typeof point === 'string' && point.indexOf('@') === 0) { - const minRatio = parseFloat(point.substr(1)); - const value = currentHeight * minRatio; - return { - value, - point - }; - } - return { - value: point, - point - }; - }); - points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10)); - for (let i = 0; i < points.length; i += 1) { - const { - point, - value - } = points[i]; - if (base === 'window') { - if (window.matchMedia(`(min-width: ${value}px)`).matches) { - breakpoint = point; - } - } else if (value <= containerEl.clientWidth) { - breakpoint = point; - } - } - return breakpoint || 'max'; -} - -var breakpoints = { - setBreakpoint, - getBreakpoint -}; - -function prepareClasses(entries, prefix) { - const resultClasses = []; - entries.forEach(item => { - if (typeof item === 'object') { - Object.keys(item).forEach(classNames => { - if (item[classNames]) { - resultClasses.push(prefix + classNames); - } - }); - } else if (typeof item === 'string') { - resultClasses.push(prefix + item); - } - }); - return resultClasses; -} -function addClasses() { - const swiper = this; - const { - classNames, - params, - rtl, - el, - device - } = swiper; - // prettier-ignore - const suffixes = prepareClasses(['initialized', params.direction, { - 'free-mode': swiper.params.freeMode && params.freeMode.enabled - }, { - 'autoheight': params.autoHeight - }, { - 'rtl': rtl - }, { - 'grid': params.grid && params.grid.rows > 1 - }, { - 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' - }, { - 'android': device.android - }, { - 'ios': device.ios - }, { - 'css-mode': params.cssMode - }, { - 'centered': params.cssMode && params.centeredSlides - }, { - 'watch-progress': params.watchSlidesProgress - }], params.containerModifierClass); - classNames.push(...suffixes); - el.classList.add(...classNames); - swiper.emitContainerClasses(); -} - -function removeClasses() { - const swiper = this; - const { - el, - classNames - } = swiper; - el.classList.remove(...classNames); - swiper.emitContainerClasses(); -} - -var classes = { - addClasses, - removeClasses -}; - -function checkOverflow() { - const swiper = this; - const { - isLocked: wasLocked, - params - } = swiper; - const { - slidesOffsetBefore - } = params; - if (slidesOffsetBefore) { - const lastSlideIndex = swiper.slides.length - 1; - const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2; - swiper.isLocked = swiper.size > lastSlideRightEdge; - } else { - swiper.isLocked = swiper.snapGrid.length === 1; - } - if (params.allowSlideNext === true) { - swiper.allowSlideNext = !swiper.isLocked; - } - if (params.allowSlidePrev === true) { - swiper.allowSlidePrev = !swiper.isLocked; - } - if (wasLocked && wasLocked !== swiper.isLocked) { - swiper.isEnd = false; - } - if (wasLocked !== swiper.isLocked) { - swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); - } -} -var checkOverflow$1 = { - checkOverflow -}; - -var defaults = { - init: true, - direction: 'horizontal', - oneWayMovement: false, - swiperElementNodeName: 'SWIPER-CONTAINER', - touchEventsTarget: 'wrapper', - initialSlide: 0, - speed: 300, - cssMode: false, - updateOnWindowResize: true, - resizeObserver: true, - nested: false, - createElements: false, - eventsPrefix: 'swiper', - enabled: true, - focusableElements: 'input, select, option, textarea, button, video, label', - // Overrides - width: null, - height: null, - // - preventInteractionOnTransition: false, - // ssr - userAgent: null, - url: null, - // To support iOS's swipe-to-go-back gesture (when being used in-app). - edgeSwipeDetection: false, - edgeSwipeThreshold: 20, - // Autoheight - autoHeight: false, - // Set wrapper width - setWrapperSize: false, - // Virtual Translate - virtualTranslate: false, - // Effects - effect: 'slide', - // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' - - // Breakpoints - breakpoints: undefined, - breakpointsBase: 'window', - // Slides grid - spaceBetween: 0, - slidesPerView: 1, - slidesPerGroup: 1, - slidesPerGroupSkip: 0, - slidesPerGroupAuto: false, - centeredSlides: false, - centeredSlidesBounds: false, - slidesOffsetBefore: 0, - // in px - slidesOffsetAfter: 0, - // in px - normalizeSlideIndex: true, - centerInsufficientSlides: false, - // Disable swiper and hide navigation when container not overflow - watchOverflow: true, - // Round length - roundLengths: false, - // Touches - touchRatio: 1, - touchAngle: 45, - simulateTouch: true, - shortSwipes: true, - longSwipes: true, - longSwipesRatio: 0.5, - longSwipesMs: 300, - followFinger: true, - allowTouchMove: true, - threshold: 5, - touchMoveStopPropagation: false, - touchStartPreventDefault: true, - touchStartForcePreventDefault: false, - touchReleaseOnEdges: false, - // Unique Navigation Elements - uniqueNavElements: true, - // Resistance - resistance: true, - resistanceRatio: 0.85, - // Progress - watchSlidesProgress: false, - // Cursor - grabCursor: false, - // Clicks - preventClicks: true, - preventClicksPropagation: true, - slideToClickedSlide: false, - // loop - loop: false, - loopAddBlankSlides: true, - loopAdditionalSlides: 0, - loopPreventsSliding: true, - // rewind - rewind: false, - // Swiping/no swiping - allowSlidePrev: true, - allowSlideNext: true, - swipeHandler: null, - // '.swipe-handler', - noSwiping: true, - noSwipingClass: 'swiper-no-swiping', - noSwipingSelector: null, - // Passive Listeners - passiveListeners: true, - maxBackfaceHiddenSlides: 10, - // NS - containerModifierClass: 'swiper-', - // NEW - 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, - // Callbacks - runCallbacksOnInit: true, - // Internals - _emitClasses: false -}; - -function moduleExtendParams(params, allModulesParams) { - return function extendParams(obj) { - if (obj === void 0) { - obj = {}; - } - const moduleParamName = Object.keys(obj)[0]; - const moduleParams = obj[moduleParamName]; - if (typeof moduleParams !== 'object' || moduleParams === null) { - extend(allModulesParams, obj); - return; - } - if (params[moduleParamName] === true) { - params[moduleParamName] = { - enabled: true - }; - } - if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) { - params[moduleParamName].auto = true; - } - if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) { - params[moduleParamName].auto = true; - } - if (!(moduleParamName in params && 'enabled' in moduleParams)) { - extend(allModulesParams, obj); - return; - } - if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) { - params[moduleParamName].enabled = true; - } - if (!params[moduleParamName]) params[moduleParamName] = { - enabled: false - }; - extend(allModulesParams, obj); - }; -} - -/* eslint no-param-reassign: "off" */ -const prototypes = { - eventsEmitter, - update, - translate, - transition, - slide, - loop, - grabCursor, - events: events$1, - breakpoints, - checkOverflow: checkOverflow$1, - classes -}; -const extendedDefaults = {}; -class Swiper { - constructor() { - let el; - let params; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') { - params = args[0]; - } else { - [el, params] = args; - } - if (!params) params = {}; - params = extend({}, params); - if (el && !params.el) params.el = el; - const document = getDocument(); - if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) { - const swipers = []; - document.querySelectorAll(params.el).forEach(containerEl => { - const newParams = extend({}, params, { - el: containerEl - }); - swipers.push(new Swiper(newParams)); - }); - // eslint-disable-next-line no-constructor-return - return swipers; - } - - // Swiper Instance - const swiper = this; - swiper.__swiper__ = true; - swiper.support = getSupport(); - swiper.device = getDevice({ - userAgent: params.userAgent - }); - swiper.browser = getBrowser(); - swiper.eventsListeners = {}; - swiper.eventsAnyListeners = []; - swiper.modules = [...swiper.__modules__]; - if (params.modules && Array.isArray(params.modules)) { - swiper.modules.push(...params.modules); - } - const allModulesParams = {}; - swiper.modules.forEach(mod => { - mod({ - params, - swiper, - extendParams: moduleExtendParams(params, allModulesParams), - on: swiper.on.bind(swiper), - once: swiper.once.bind(swiper), - off: swiper.off.bind(swiper), - emit: swiper.emit.bind(swiper) - }); - }); - - // Extend defaults with modules params - const swiperParams = extend({}, defaults, allModulesParams); - - // Extend defaults with passed params - swiper.params = extend({}, swiperParams, extendedDefaults, params); - swiper.originalParams = extend({}, swiper.params); - swiper.passedParams = extend({}, params); - - // add event listeners - if (swiper.params && swiper.params.on) { - Object.keys(swiper.params.on).forEach(eventName => { - swiper.on(eventName, swiper.params.on[eventName]); - }); - } - if (swiper.params && swiper.params.onAny) { - swiper.onAny(swiper.params.onAny); - } - - // Extend Swiper - Object.assign(swiper, { - enabled: swiper.params.enabled, - el, - // Classes - classNames: [], - // Slides - slides: [], - slidesGrid: [], - snapGrid: [], - slidesSizesGrid: [], - // isDirection - isHorizontal() { - return swiper.params.direction === 'horizontal'; - }, - isVertical() { - return swiper.params.direction === 'vertical'; - }, - // Indexes - activeIndex: 0, - realIndex: 0, - // - isBeginning: true, - isEnd: false, - // Props - translate: 0, - previousTranslate: 0, - progress: 0, - velocity: 0, - animating: false, - cssOverflowAdjustment() { - // Returns 0 unless `translate` is > 2**23 - // Should be subtracted from css values to prevent overflow - return Math.trunc(this.translate / 2 ** 23) * 2 ** 23; - }, - // Locks - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev, - // Touch Events - touchEventsData: { - isTouched: undefined, - isMoved: undefined, - allowTouchCallbacks: undefined, - touchStartTime: undefined, - isScrolling: undefined, - currentTranslate: undefined, - startTranslate: undefined, - allowThresholdMove: undefined, - // Form elements to match - focusableElements: swiper.params.focusableElements, - // Last click time - lastClickTime: 0, - clickTimeout: undefined, - // Velocities - velocities: [], - allowMomentumBounce: undefined, - startMoving: undefined, - pointerId: null, - touchId: null - }, - // Clicks - allowClick: true, - // Touches - allowTouchMove: swiper.params.allowTouchMove, - touches: { - startX: 0, - startY: 0, - currentX: 0, - currentY: 0, - diff: 0 - }, - // Images - imagesToLoad: [], - imagesLoaded: 0 - }); - swiper.emit('_swiper'); - - // Init - if (swiper.params.init) { - swiper.init(); - } - - // Return app instance - // eslint-disable-next-line no-constructor-return - return swiper; - } - getDirectionLabel(property) { - if (this.isHorizontal()) { - return property; - } - // prettier-ignore - return { - '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' - }[property]; - } - getSlideIndex(slideEl) { - const { - slidesEl, - params - } = this; - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - const firstSlideIndex = elementIndex(slides[0]); - return elementIndex(slideEl) - firstSlideIndex; - } - getSlideIndexByData(index) { - return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]); - } - recalcSlides() { - const swiper = this; - const { - slidesEl, - params - } = swiper; - swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - } - enable() { - const swiper = this; - if (swiper.enabled) return; - swiper.enabled = true; - if (swiper.params.grabCursor) { - swiper.setGrabCursor(); - } - swiper.emit('enable'); - } - disable() { - const swiper = this; - if (!swiper.enabled) return; - swiper.enabled = false; - if (swiper.params.grabCursor) { - swiper.unsetGrabCursor(); - } - swiper.emit('disable'); - } - setProgress(progress, speed) { - const swiper = this; - progress = Math.min(Math.max(progress, 0), 1); - const min = swiper.minTranslate(); - const max = swiper.maxTranslate(); - const current = (max - min) * progress + min; - swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - emitContainerClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const cls = swiper.el.className.split(' ').filter(className => { - return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0; - }); - swiper.emit('_containerClasses', cls.join(' ')); - } - getSlideClasses(slideEl) { - const swiper = this; - if (swiper.destroyed) return ''; - return slideEl.className.split(' ').filter(className => { - return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0; - }).join(' '); - } - emitSlidesClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const updates = []; - swiper.slides.forEach(slideEl => { - const classNames = swiper.getSlideClasses(slideEl); - updates.push({ - slideEl, - classNames - }); - swiper.emit('_slideClass', slideEl, classNames); - }); - swiper.emit('_slideClasses', updates); - } - slidesPerViewDynamic(view, exact) { - if (view === void 0) { - view = 'current'; - } - if (exact === void 0) { - exact = false; - } - const swiper = this; - const { - params, - slides, - slidesGrid, - slidesSizesGrid, - size: swiperSize, - activeIndex - } = swiper; - let spv = 1; - if (typeof params.slidesPerView === 'number') return params.slidesPerView; - if (params.centeredSlides) { - let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0; - let breakLoop; - for (let i = activeIndex + 1; i < slides.length; i += 1) { - if (slides[i] && !breakLoop) { - slideSize += Math.ceil(slides[i].swiperSlideSize); - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - for (let i = activeIndex - 1; i >= 0; i -= 1) { - if (slides[i] && !breakLoop) { - slideSize += slides[i].swiperSlideSize; - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - } else { - // eslint-disable-next-line - if (view === 'current') { - for (let i = activeIndex + 1; i < slides.length; i += 1) { - const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } else { - // previous - for (let i = activeIndex - 1; i >= 0; i -= 1) { - const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } - } - return spv; - } - update() { - const swiper = this; - if (!swiper || swiper.destroyed) return; - const { - snapGrid, - params - } = swiper; - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } - }); - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateProgress(); - swiper.updateSlidesClasses(); - function setTranslate() { - const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; - const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); - swiper.setTranslate(newTranslate); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - let translated; - if (params.freeMode && params.freeMode.enabled && !params.cssMode) { - setTranslate(); - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - } else { - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) { - const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides; - translated = swiper.slideTo(slides.length - 1, 0, false, true); - } else { - translated = swiper.slideTo(swiper.activeIndex, 0, false, true); - } - if (!translated) { - setTranslate(); - } - } - if (params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } - swiper.emit('update'); - } - changeDirection(newDirection, needUpdate) { - if (needUpdate === void 0) { - needUpdate = true; - } - const swiper = this; - const currentDirection = swiper.params.direction; - if (!newDirection) { - // eslint-disable-next-line - newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal'; - } - if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') { - return swiper; - } - swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`); - swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`); - swiper.emitContainerClasses(); - swiper.params.direction = newDirection; - swiper.slides.forEach(slideEl => { - if (newDirection === 'vertical') { - slideEl.style.width = ''; - } else { - slideEl.style.height = ''; - } - }); - swiper.emit('changeDirection'); - if (needUpdate) swiper.update(); - return swiper; - } - changeLanguageDirection(direction) { - const swiper = this; - if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return; - swiper.rtl = direction === 'rtl'; - swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl; - if (swiper.rtl) { - swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'rtl'; - } else { - swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'ltr'; - } - swiper.update(); - } - mount(element) { - const swiper = this; - if (swiper.mounted) return true; - - // Find el - let el = element || swiper.params.el; - if (typeof el === 'string') { - el = document.querySelector(el); - } - if (!el) { - return false; - } - el.swiper = swiper; - if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) { - swiper.isElement = true; - } - const getWrapperSelector = () => { - return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`; - }; - const getWrapper = () => { - if (el && el.shadowRoot && el.shadowRoot.querySelector) { - const res = el.shadowRoot.querySelector(getWrapperSelector()); - // Children needs to return slot items - return res; - } - return elementChildren(el, getWrapperSelector())[0]; - }; - // Find Wrapper - let wrapperEl = getWrapper(); - if (!wrapperEl && swiper.params.createElements) { - wrapperEl = createElement('div', swiper.params.wrapperClass); - el.append(wrapperEl); - elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => { - wrapperEl.append(slideEl); - }); - } - Object.assign(swiper, { - el, - wrapperEl, - slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl, - hostEl: swiper.isElement ? el.parentNode.host : el, - mounted: true, - // RTL - rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl', - rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'), - wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box' - }); - return true; - } - init(el) { - const swiper = this; - if (swiper.initialized) return swiper; - const mounted = swiper.mount(el); - if (mounted === false) return swiper; - swiper.emit('beforeInit'); - - // Set breakpoint - if (swiper.params.breakpoints) { - swiper.setBreakpoint(); - } - - // Add Classes - swiper.addClasses(); - - // Update size - swiper.updateSize(); - - // Update slides - swiper.updateSlides(); - if (swiper.params.watchOverflow) { - swiper.checkOverflow(); - } - - // Set Grab Cursor - if (swiper.params.grabCursor && swiper.enabled) { - swiper.setGrabCursor(); - } - - // Slide To Initial Slide - if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true); - } else { - swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true); - } - - // Create loop - if (swiper.params.loop) { - swiper.loopCreate(); - } - - // Attach events - swiper.attachEvents(); - const lazyElements = [...swiper.el.querySelectorAll('[loading="lazy"]')]; - if (swiper.isElement) { - lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]')); - } - lazyElements.forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } else { - imageEl.addEventListener('load', e => { - processLazyPreloader(swiper, e.target); - }); - } - }); - preload(swiper); - - // Init Flag - swiper.initialized = true; - preload(swiper); - - // Emit - swiper.emit('init'); - swiper.emit('afterInit'); - return swiper; - } - destroy(deleteInstance, cleanStyles) { - if (deleteInstance === void 0) { - deleteInstance = true; - } - if (cleanStyles === void 0) { - cleanStyles = true; - } - const swiper = this; - const { - params, - el, - wrapperEl, - slides - } = swiper; - if (typeof swiper.params === 'undefined' || swiper.destroyed) { - return null; - } - swiper.emit('beforeDestroy'); - - // Init Flag - swiper.initialized = false; - - // Detach events - swiper.detachEvents(); - - // Destroy loop - if (params.loop) { - swiper.loopDestroy(); - } - - // Cleanup styles - if (cleanStyles) { - swiper.removeClasses(); - el.removeAttribute('style'); - wrapperEl.removeAttribute('style'); - if (slides && slides.length) { - slides.forEach(slideEl => { - slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass); - slideEl.removeAttribute('style'); - slideEl.removeAttribute('data-swiper-slide-index'); - }); - } - } - swiper.emit('destroy'); - - // Detach emitter events - Object.keys(swiper.eventsListeners).forEach(eventName => { - swiper.off(eventName); - }); - if (deleteInstance !== false) { - swiper.el.swiper = null; - deleteProps(swiper); - } - swiper.destroyed = true; - return null; - } - static extendDefaults(newDefaults) { - extend(extendedDefaults, newDefaults); - } - static get extendedDefaults() { - return extendedDefaults; - } - static get defaults() { - return defaults; - } - static installModule(mod) { - if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = []; - const modules = Swiper.prototype.__modules__; - if (typeof mod === 'function' && modules.indexOf(mod) < 0) { - modules.push(mod); - } - } - static use(module) { - if (Array.isArray(module)) { - module.forEach(m => Swiper.installModule(m)); - return Swiper; - } - Swiper.installModule(module); - return Swiper; - } -} -Object.keys(prototypes).forEach(prototypeGroup => { - Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => { - Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; - }); -}); -Swiper.use([Resize, Observer]); - -export { Swiper as S, defaults as d }; diff --git a/node_modules/swiper/shared/update-on-virtual-data.min.mjs b/node_modules/swiper/shared/update-on-virtual-data.min.mjs deleted file mode 100644 index 54c8e04..0000000 --- a/node_modules/swiper/shared/update-on-virtual-data.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{e as extend,p as paramsList,i as isObject,n as needsNavigation,a as needsPagination,b as needsScrollbar}from"./update-swiper.min.mjs";import{d as defaults}from"./swiper-core.min.mjs";function getParams(a,e){void 0===a&&(a={}),void 0===e&&(e=!0);const s={on:{}},n={},t={};extend(s,defaults),s._emitClasses=!0,s.init=!1;const r={},i=paramsList.map((a=>a.replace(/_/,""))),l=Object.assign({},a);return Object.keys(l).forEach((l=>{void 0!==a[l]&&(i.indexOf(l)>=0?isObject(a[l])?(s[l]={},t[l]={},extend(s[l],a[l]),extend(t[l],a[l])):(s[l]=a[l],t[l]=a[l]):0===l.search(/on[A-Z]/)&&"function"==typeof a[l]?e?n[`${l[2].toLowerCase()}${l.substr(3)}`]=a[l]:s.on[`${l[2].toLowerCase()}${l.substr(3)}`]=a[l]:r[l]=a[l])})),["navigation","pagination","scrollbar"].forEach((a=>{!0===s[a]&&(s[a]={}),!1===s[a]&&delete s[a]})),{params:s,passedParams:t,rest:r,events:n}}function mountSwiper(a,e){let{el:s,nextEl:n,prevEl:t,paginationEl:r,scrollbarEl:i,swiper:l}=a;needsNavigation(e)&&n&&t&&(l.params.navigation.nextEl=n,l.originalParams.navigation.nextEl=n,l.params.navigation.prevEl=t,l.originalParams.navigation.prevEl=t),needsPagination(e)&&r&&(l.params.pagination.el=r,l.originalParams.pagination.el=r),needsScrollbar(e)&&i&&(l.params.scrollbar.el=i,l.originalParams.scrollbar.el=i),l.init(s)}function getChangedParams(a,e,s,n,t){const r=[];if(!e)return r;const i=a=>{r.indexOf(a)<0&&r.push(a)};if(s&&n){const a=n.map(t),e=s.map(t);a.join("")!==e.join("")&&i("children"),n.length!==s.length&&i("children")}return paramsList.filter((a=>"_"===a[0])).map((a=>a.replace(/_/,""))).forEach((s=>{if(s in a&&s in e)if(isObject(a[s])&&isObject(e[s])){const n=Object.keys(a[s]),t=Object.keys(e[s]);n.length!==t.length?i(s):(n.forEach((n=>{a[s][n]!==e[s][n]&&i(s)})),t.forEach((n=>{a[s][n]!==e[s][n]&&i(s)})))}else a[s]!==e[s]&&i(s)})),r}const updateOnVirtualData=a=>{!a||a.destroyed||!a.params.virtual||a.params.virtual&&!a.params.virtual.enabled||(a.updateSlides(),a.updateProgress(),a.updateSlidesClasses(),a.parallax&&a.params.parallax&&a.params.parallax.enabled&&a.parallax.setTranslate())};export{getChangedParams as a,getParams as g,mountSwiper as m,updateOnVirtualData as u}; -//# sourceMappingURL=update-on-virtual-data.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/update-on-virtual-data.min.mjs.map b/node_modules/swiper/shared/update-on-virtual-data.min.mjs.map deleted file mode 100644 index 88b07d2..0000000 --- a/node_modules/swiper/shared/update-on-virtual-data.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"update-on-virtual-data.mjs.mjs","names":["extend","paramsList","isObject","needsNavigation","needsPagination","needsScrollbar","defaults","getParams","obj","splitEvents","params","on","events","passedParams","_emitClasses","init","rest","allowedParams","map","key","replace","plainObj","Object","assign","keys","forEach","indexOf","search","toLowerCase","substr","mountSwiper","_ref","swiperParams","el","nextEl","prevEl","paginationEl","scrollbarEl","swiper","navigation","originalParams","pagination","scrollbar","getChangedParams","oldParams","children","oldChildren","getKey","addKey","push","oldChildrenKeys","childrenKeys","join","length","filter","newKeys","oldKeys","newKey","oldKey","updateOnVirtualData","destroyed","virtual","enabled","updateSlides","updateProgress","updateSlidesClasses","parallax","setTranslate"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/shared/update-on-virtual-data.mjs b/node_modules/swiper/shared/update-on-virtual-data.mjs deleted file mode 100644 index 0fc3050..0000000 --- a/node_modules/swiper/shared/update-on-virtual-data.mjs +++ /dev/null @@ -1,130 +0,0 @@ -import { e as extend, p as paramsList, i as isObject, n as needsNavigation, a as needsPagination, b as needsScrollbar } from './update-swiper.mjs'; -import { d as defaults } from './swiper-core.mjs'; - -function getParams(obj, splitEvents) { - if (obj === void 0) { - obj = {}; - } - if (splitEvents === void 0) { - splitEvents = true; - } - const params = { - on: {} - }; - const events = {}; - const passedParams = {}; - extend(params, defaults); - params._emitClasses = true; - params.init = false; - const rest = {}; - const allowedParams = paramsList.map(key => key.replace(/_/, '')); - const plainObj = Object.assign({}, obj); - Object.keys(plainObj).forEach(key => { - if (typeof obj[key] === 'undefined') return; - if (allowedParams.indexOf(key) >= 0) { - if (isObject(obj[key])) { - params[key] = {}; - passedParams[key] = {}; - extend(params[key], obj[key]); - extend(passedParams[key], obj[key]); - } else { - params[key] = obj[key]; - passedParams[key] = obj[key]; - } - } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') { - if (splitEvents) { - events[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key]; - } else { - params.on[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key]; - } - } else { - rest[key] = obj[key]; - } - }); - ['navigation', 'pagination', 'scrollbar'].forEach(key => { - if (params[key] === true) params[key] = {}; - if (params[key] === false) delete params[key]; - }); - return { - params, - passedParams, - rest, - events - }; -} - -function mountSwiper(_ref, swiperParams) { - let { - el, - nextEl, - prevEl, - paginationEl, - scrollbarEl, - swiper - } = _ref; - if (needsNavigation(swiperParams) && nextEl && prevEl) { - swiper.params.navigation.nextEl = nextEl; - swiper.originalParams.navigation.nextEl = nextEl; - swiper.params.navigation.prevEl = prevEl; - swiper.originalParams.navigation.prevEl = prevEl; - } - if (needsPagination(swiperParams) && paginationEl) { - swiper.params.pagination.el = paginationEl; - swiper.originalParams.pagination.el = paginationEl; - } - if (needsScrollbar(swiperParams) && scrollbarEl) { - swiper.params.scrollbar.el = scrollbarEl; - swiper.originalParams.scrollbar.el = scrollbarEl; - } - swiper.init(el); -} - -function getChangedParams(swiperParams, oldParams, children, oldChildren, getKey) { - const keys = []; - if (!oldParams) return keys; - const addKey = key => { - if (keys.indexOf(key) < 0) keys.push(key); - }; - if (children && oldChildren) { - const oldChildrenKeys = oldChildren.map(getKey); - const childrenKeys = children.map(getKey); - if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children'); - if (oldChildren.length !== children.length) addKey('children'); - } - const watchParams = paramsList.filter(key => key[0] === '_').map(key => key.replace(/_/, '')); - watchParams.forEach(key => { - if (key in swiperParams && key in oldParams) { - if (isObject(swiperParams[key]) && isObject(oldParams[key])) { - const newKeys = Object.keys(swiperParams[key]); - const oldKeys = Object.keys(oldParams[key]); - if (newKeys.length !== oldKeys.length) { - addKey(key); - } else { - newKeys.forEach(newKey => { - if (swiperParams[key][newKey] !== oldParams[key][newKey]) { - addKey(key); - } - }); - oldKeys.forEach(oldKey => { - if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key); - }); - } - } else if (swiperParams[key] !== oldParams[key]) { - addKey(key); - } - } - }); - return keys; -} - -const updateOnVirtualData = swiper => { - if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return; - swiper.updateSlides(); - swiper.updateProgress(); - swiper.updateSlidesClasses(); - if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) { - swiper.parallax.setTranslate(); - } -}; - -export { getChangedParams as a, getParams as g, mountSwiper as m, updateOnVirtualData as u }; diff --git a/node_modules/swiper/shared/update-swiper.min.mjs b/node_modules/swiper/shared/update-swiper.min.mjs deleted file mode 100644 index d2d6f64..0000000 --- a/node_modules/swiper/shared/update-swiper.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -const paramsList=["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 isObject(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)&&!e.__swiper__}function extend(e,t){const i=["__proto__","constructor","prototype"];Object.keys(t).filter((e=>i.indexOf(e)<0)).forEach((i=>{void 0===e[i]?e[i]=t[i]:isObject(t[i])&&isObject(e[i])&&Object.keys(t[i]).length>0?t[i].__swiper__?e[i]=t[i]:extend(e[i],t[i]):e[i]=t[i]}))}function needsNavigation(e){return void 0===e&&(e={}),e.navigation&&void 0===e.navigation.nextEl&&void 0===e.navigation.prevEl}function needsPagination(e){return void 0===e&&(e={}),e.pagination&&void 0===e.pagination.el}function needsScrollbar(e){return void 0===e&&(e={}),e.scrollbar&&void 0===e.scrollbar.el}function uniqueClasses(e){void 0===e&&(e="");const t=e.split(" ").map((e=>e.trim())).filter((e=>!!e)),i=[];return t.forEach((e=>{i.indexOf(e)<0&&i.push(e)})),i.join(" ")}function attrToProp(e){return void 0===e&&(e=""),e.replace(/-[a-z]/g,(e=>e.toUpperCase().replace("-","")))}function wrapperClass(e){return void 0===e&&(e=""),e?e.includes("swiper-wrapper")?e:`swiper-wrapper ${e}`:"swiper-wrapper"}function updateSwiper(e){let{swiper:t,slides:i,passedParams:l,changedParams:n,nextEl:o,prevEl:r,scrollbarEl:a,paginationEl:s}=e;const d=n.filter((e=>"children"!==e&&"direction"!==e&&"wrapperClass"!==e)),{params:c,pagination:p,navigation:u,scrollbar:v,virtual:g,thumbs:b}=t;let f,_,w,h,S,E,m,C;n.includes("thumbs")&&l.thumbs&&l.thumbs.swiper&&c.thumbs&&!c.thumbs.swiper&&(f=!0),n.includes("controller")&&l.controller&&l.controller.control&&c.controller&&!c.controller.control&&(_=!0),n.includes("pagination")&&l.pagination&&(l.pagination.el||s)&&(c.pagination||!1===c.pagination)&&p&&!p.el&&(w=!0),n.includes("scrollbar")&&l.scrollbar&&(l.scrollbar.el||a)&&(c.scrollbar||!1===c.scrollbar)&&v&&!v.el&&(h=!0),n.includes("navigation")&&l.navigation&&(l.navigation.prevEl||r)&&(l.navigation.nextEl||o)&&(c.navigation||!1===c.navigation)&&u&&!u.prevEl&&!u.nextEl&&(S=!0);const x=e=>{t[e]&&(t[e].destroy(),"navigation"===e?(t.isElement&&(t[e].prevEl.remove(),t[e].nextEl.remove()),c[e].prevEl=void 0,c[e].nextEl=void 0,t[e].prevEl=void 0,t[e].nextEl=void 0):(t.isElement&&t[e].el.remove(),c[e].el=void 0,t[e].el=void 0))};if(n.includes("loop")&&t.isElement&&(c.loop&&!l.loop?E=!0:!c.loop&&l.loop?m=!0:C=!0),d.forEach((e=>{if(isObject(c[e])&&isObject(l[e]))Object.assign(c[e],l[e]),"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e||!("enabled"in l[e])||l[e].enabled||x(e);else{const t=l[e];!0!==t&&!1!==t||"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e?c[e]=l[e]:!1===t&&x(e)}})),d.includes("controller")&&!_&&t.controller&&t.controller.control&&c.controller&&c.controller.control&&(t.controller.control=c.controller.control),n.includes("children")&&i&&g&&c.virtual.enabled?(g.slides=i,g.update(!0)):n.includes("virtual")&&g&&c.virtual.enabled&&(i&&(g.slides=i),g.update(!0)),n.includes("children")&&i&&c.loop&&(C=!0),f){b.init()&&b.update(!0)}_&&(t.controller.control=c.controller.control),w&&(!t.isElement||s&&"string"!=typeof s||(s=document.createElement("div"),s.classList.add("swiper-pagination"),s.part.add("pagination"),t.el.appendChild(s)),s&&(c.pagination.el=s),p.init(),p.render(),p.update()),h&&(!t.isElement||a&&"string"!=typeof a||(a=document.createElement("div"),a.classList.add("swiper-scrollbar"),a.part.add("scrollbar"),t.el.appendChild(a)),a&&(c.scrollbar.el=a),v.init(),v.updateSize(),v.setTranslate()),S&&(t.isElement&&(o&&"string"!=typeof o||(o=document.createElement("div"),o.classList.add("swiper-button-next"),o.innerHTML=t.hostEl.constructor.nextButtonSvg,o.part.add("button-next"),t.el.appendChild(o)),r&&"string"!=typeof r||(r=document.createElement("div"),r.classList.add("swiper-button-prev"),r.innerHTML=t.hostEl.constructor.prevButtonSvg,r.part.add("button-prev"),t.el.appendChild(r))),o&&(c.navigation.nextEl=o),r&&(c.navigation.prevEl=r),u.init(),u.update()),n.includes("allowSlideNext")&&(t.allowSlideNext=l.allowSlideNext),n.includes("allowSlidePrev")&&(t.allowSlidePrev=l.allowSlidePrev),n.includes("direction")&&t.changeDirection(l.direction,!1),(E||C)&&t.loopDestroy(),(m||C)&&t.loopCreate(),t.update()}export{needsPagination as a,needsScrollbar as b,attrToProp as c,uniqueClasses as d,extend as e,isObject as i,needsNavigation as n,paramsList as p,updateSwiper as u,wrapperClass as w}; -//# sourceMappingURL=update-swiper.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/update-swiper.min.mjs.map b/node_modules/swiper/shared/update-swiper.min.mjs.map deleted file mode 100644 index 01b8986..0000000 --- a/node_modules/swiper/shared/update-swiper.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"update-swiper.mjs.mjs","names":["paramsList","isObject","o","constructor","Object","prototype","toString","call","slice","__swiper__","extend","target","src","noExtend","keys","filter","key","indexOf","forEach","length","needsNavigation","params","navigation","nextEl","prevEl","needsPagination","pagination","el","needsScrollbar","scrollbar","uniqueClasses","classNames","classes","split","map","c","trim","unique","push","join","attrToProp","attrName","replace","l","toUpperCase","wrapperClass","className","includes","updateSwiper","_ref","swiper","slides","passedParams","changedParams","scrollbarEl","paginationEl","updateParams","currentParams","virtual","thumbs","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","loopNeedDestroy","loopNeedEnable","loopNeedReloop","controller","control","destroyModule","mod","destroy","isElement","remove","undefined","loop","assign","enabled","newValue","update","init","document","createElement","classList","add","part","appendChild","render","updateSize","setTranslate","innerHTML","hostEl","nextButtonSvg","prevButtonSvg","allowSlideNext","allowSlidePrev","changeDirection","direction","loopDestroy","loopCreate"],"sources":["0"],"mappings":"AACA,MAAMA,WAAa,CAAC,eAAgB,eAAgB,mBAAoB,UAAW,OAAQ,aAAc,iBAAkB,wBAAyB,oBAAqB,eAAgB,SAAU,UAAW,uBAAwB,iBAAkB,SAAU,oBAAqB,WAAY,SAAU,UAAW,iCAAkC,YAAa,MAAO,sBAAuB,sBAAuB,YAAa,cAAe,iBAAkB,mBAAoB,UAAW,cAAe,kBAAmB,gBAAiB,iBAAkB,0BAA2B,QAAS,kBAAmB,sBAAuB,sBAAuB,kBAAmB,wBAAyB,sBAAuB,qBAAsB,sBAAuB,4BAA6B,iBAAkB,eAAgB,aAAc,aAAc,gBAAiB,eAAgB,cAAe,kBAAmB,eAAgB,gBAAiB,iBAAkB,aAAc,2BAA4B,2BAA4B,gCAAiC,sBAAuB,oBAAqB,cAAe,mBAAoB,uBAAwB,cAAe,gBAAiB,2BAA4B,uBAAwB,QAAS,uBAAwB,qBAAsB,sBAAuB,UAAW,kBAAmB,kBAAmB,gBAAiB,aAAc,iBAAkB,oBAAqB,mBAAoB,yBAA0B,aAAc,mBAAoB,oBAAqB,yBAA0B,iBAAkB,iBAAkB,kBAAmB,eAAgB,qBAAsB,sBAAuB,qBAAsB,WAAY,iBAAkB,uBAEluD,OAAQ,YAAa,cAAe,kBAAmB,aAAc,aAAc,aAAc,iBAAkB,cAAe,iBAAkB,UAAW,WAAY,aAAc,cAAe,cAAe,WAAY,aAAc,UAAW,UAAW,OAAQ,WAE/Q,SAASC,SAASC,GAChB,MAAoB,iBAANA,GAAwB,OAANA,GAAcA,EAAEC,aAAkE,WAAnDC,OAAOC,UAAUC,SAASC,KAAKL,GAAGM,MAAM,GAAI,KAAoBN,EAAEO,UACnI,CACA,SAASC,OAAOC,EAAQC,GACtB,MAAMC,EAAW,CAAC,YAAa,cAAe,aAC9CT,OAAOU,KAAKF,GAAKG,QAAOC,GAAOH,EAASI,QAAQD,GAAO,IAAGE,SAAQF,SACrC,IAAhBL,EAAOK,GAAsBL,EAAOK,GAAOJ,EAAII,GAAcf,SAASW,EAAII,KAASf,SAASU,EAAOK,KAASZ,OAAOU,KAAKF,EAAII,IAAMG,OAAS,EAChJP,EAAII,GAAKP,WAAYE,EAAOK,GAAOJ,EAAII,GAAUN,OAAOC,EAAOK,GAAMJ,EAAII,IAE7EL,EAAOK,GAAOJ,EAAII,EACpB,GAEJ,CACA,SAASI,gBAAgBC,GAIvB,YAHe,IAAXA,IACFA,EAAS,CAAC,GAELA,EAAOC,iBAAkD,IAA7BD,EAAOC,WAAWC,aAA8D,IAA7BF,EAAOC,WAAWE,MAC1G,CACA,SAASC,gBAAgBJ,GAIvB,YAHe,IAAXA,IACFA,EAAS,CAAC,GAELA,EAAOK,iBAA8C,IAAzBL,EAAOK,WAAWC,EACvD,CACA,SAASC,eAAeP,GAItB,YAHe,IAAXA,IACFA,EAAS,CAAC,GAELA,EAAOQ,gBAA4C,IAAxBR,EAAOQ,UAAUF,EACrD,CACA,SAASG,cAAcC,QACF,IAAfA,IACFA,EAAa,IAEf,MAAMC,EAAUD,EAAWE,MAAM,KAAKC,KAAIC,GAAKA,EAAEC,SAAQrB,QAAOoB,KAAOA,IACjEE,EAAS,GAIf,OAHAL,EAAQd,SAAQiB,IACVE,EAAOpB,QAAQkB,GAAK,GAAGE,EAAOC,KAAKH,EAAE,IAEpCE,EAAOE,KAAK,IACrB,CACA,SAASC,WAAWC,GAIlB,YAHiB,IAAbA,IACFA,EAAW,IAENA,EAASC,QAAQ,WAAWC,GAAKA,EAAEC,cAAcF,QAAQ,IAAK,KACvE,CACA,SAASG,aAAaC,GAIpB,YAHkB,IAAdA,IACFA,EAAY,IAETA,EACAA,EAAUC,SAAS,kBACjBD,EAD2C,kBAAkBA,IAD7C,gBAGzB,CAEA,SAASE,aAAaC,GACpB,IAAIC,OACFA,EAAMC,OACNA,EAAMC,aACNA,EAAYC,cACZA,EAAa9B,OACbA,EAAMC,OACNA,EAAM8B,YACNA,EAAWC,aACXA,GACEN,EACJ,MAAMO,EAAeH,EAActC,QAAOC,GAAe,aAARA,GAA8B,cAARA,GAA+B,iBAARA,KAE5FK,OAAQoC,EAAa/B,WACrBA,EAAUJ,WACVA,EAAUO,UACVA,EAAS6B,QACTA,EAAOC,OACPA,GACET,EACJ,IAAIU,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAd,EAAcN,SAAS,WAAaK,EAAaO,QAAUP,EAAaO,OAAOT,QAAUO,EAAcE,SAAWF,EAAcE,OAAOT,SACzIU,GAAiB,GAEfP,EAAcN,SAAS,eAAiBK,EAAagB,YAAchB,EAAagB,WAAWC,SAAWZ,EAAcW,aAAeX,EAAcW,WAAWC,UAC9JR,GAAqB,GAEnBR,EAAcN,SAAS,eAAiBK,EAAa1B,aAAe0B,EAAa1B,WAAWC,IAAM4B,KAAkBE,EAAc/B,aAA2C,IAA7B+B,EAAc/B,aAAyBA,IAAeA,EAAWC,KACnNmC,GAAqB,GAEnBT,EAAcN,SAAS,cAAgBK,EAAavB,YAAcuB,EAAavB,UAAUF,IAAM2B,KAAiBG,EAAc5B,YAAyC,IAA5B4B,EAAc5B,YAAwBA,IAAcA,EAAUF,KAC3MoC,GAAoB,GAElBV,EAAcN,SAAS,eAAiBK,EAAa9B,aAAe8B,EAAa9B,WAAWE,QAAUA,KAAY4B,EAAa9B,WAAWC,QAAUA,KAAYkC,EAAcnC,aAA2C,IAA7BmC,EAAcnC,aAAyBA,IAAeA,EAAWE,SAAWF,EAAWC,SACrRyC,GAAqB,GAEvB,MAAMM,EAAgBC,IACfrB,EAAOqB,KACZrB,EAAOqB,GAAKC,UACA,eAARD,GACErB,EAAOuB,YACTvB,EAAOqB,GAAK/C,OAAOkD,SACnBxB,EAAOqB,GAAKhD,OAAOmD,UAErBjB,EAAcc,GAAK/C,YAASmD,EAC5BlB,EAAcc,GAAKhD,YAASoD,EAC5BzB,EAAOqB,GAAK/C,YAASmD,EACrBzB,EAAOqB,GAAKhD,YAASoD,IAEjBzB,EAAOuB,WACTvB,EAAOqB,GAAK5C,GAAG+C,SAEjBjB,EAAcc,GAAK5C,QAAKgD,EACxBzB,EAAOqB,GAAK5C,QAAKgD,GACnB,EAyCF,GAvCItB,EAAcN,SAAS,SAAWG,EAAOuB,YACvChB,EAAcmB,OAASxB,EAAawB,KACtCX,GAAkB,GACRR,EAAcmB,MAAQxB,EAAawB,KAC7CV,GAAiB,EAEjBC,GAAiB,GAGrBX,EAAatC,SAAQF,IACnB,GAAIf,SAASwD,EAAczC,KAASf,SAASmD,EAAapC,IACxDZ,OAAOyE,OAAOpB,EAAczC,GAAMoC,EAAapC,IAClC,eAARA,GAAgC,eAARA,GAAgC,cAARA,KAAwB,YAAaoC,EAAapC,KAASoC,EAAapC,GAAK8D,SAChIR,EAActD,OAEX,CACL,MAAM+D,EAAW3B,EAAapC,IACZ,IAAb+D,IAAkC,IAAbA,GAAgC,eAAR/D,GAAgC,eAARA,GAAgC,cAARA,EAKhGyC,EAAczC,GAAOoC,EAAapC,IAJjB,IAAb+D,GACFT,EAActD,EAKpB,KAEEwC,EAAaT,SAAS,gBAAkBc,GAAsBX,EAAOkB,YAAclB,EAAOkB,WAAWC,SAAWZ,EAAcW,YAAcX,EAAcW,WAAWC,UACvKnB,EAAOkB,WAAWC,QAAUZ,EAAcW,WAAWC,SAEnDhB,EAAcN,SAAS,aAAeI,GAAUO,GAAWD,EAAcC,QAAQoB,SACnFpB,EAAQP,OAASA,EACjBO,EAAQsB,QAAO,IACN3B,EAAcN,SAAS,YAAcW,GAAWD,EAAcC,QAAQoB,UAC3E3B,IAAQO,EAAQP,OAASA,GAC7BO,EAAQsB,QAAO,IAEb3B,EAAcN,SAAS,aAAeI,GAAUM,EAAcmB,OAChET,GAAiB,GAEfP,EAAgB,CACED,EAAOsB,QACVtB,EAAOqB,QAAO,EACjC,CACInB,IACFX,EAAOkB,WAAWC,QAAUZ,EAAcW,WAAWC,SAEnDP,KACEZ,EAAOuB,WAAelB,GAAwC,iBAAjBA,IAC/CA,EAAe2B,SAASC,cAAc,OACtC5B,EAAa6B,UAAUC,IAAI,qBAC3B9B,EAAa+B,KAAKD,IAAI,cACtBnC,EAAOvB,GAAG4D,YAAYhC,IAEpBA,IAAcE,EAAc/B,WAAWC,GAAK4B,GAChD7B,EAAWuD,OACXvD,EAAW8D,SACX9D,EAAWsD,UAETjB,KACEb,EAAOuB,WAAenB,GAAsC,iBAAhBA,IAC9CA,EAAc4B,SAASC,cAAc,OACrC7B,EAAY8B,UAAUC,IAAI,oBAC1B/B,EAAYgC,KAAKD,IAAI,aACrBnC,EAAOvB,GAAG4D,YAAYjC,IAEpBA,IAAaG,EAAc5B,UAAUF,GAAK2B,GAC9CzB,EAAUoD,OACVpD,EAAU4D,aACV5D,EAAU6D,gBAER1B,IACEd,EAAOuB,YACJlD,GAA4B,iBAAXA,IACpBA,EAAS2D,SAASC,cAAc,OAChC5D,EAAO6D,UAAUC,IAAI,sBACrB9D,EAAOoE,UAAYzC,EAAO0C,OAAOzF,YAAY0F,cAC7CtE,EAAO+D,KAAKD,IAAI,eAChBnC,EAAOvB,GAAG4D,YAAYhE,IAEnBC,GAA4B,iBAAXA,IACpBA,EAAS0D,SAASC,cAAc,OAChC3D,EAAO4D,UAAUC,IAAI,sBACrB7D,EAAOmE,UAAYzC,EAAO0C,OAAOzF,YAAY2F,cAC7CtE,EAAO8D,KAAKD,IAAI,eAChBnC,EAAOvB,GAAG4D,YAAY/D,KAGtBD,IAAQkC,EAAcnC,WAAWC,OAASA,GAC1CC,IAAQiC,EAAcnC,WAAWE,OAASA,GAC9CF,EAAW2D,OACX3D,EAAW0D,UAET3B,EAAcN,SAAS,oBACzBG,EAAO6C,eAAiB3C,EAAa2C,gBAEnC1C,EAAcN,SAAS,oBACzBG,EAAO8C,eAAiB5C,EAAa4C,gBAEnC3C,EAAcN,SAAS,cACzBG,EAAO+C,gBAAgB7C,EAAa8C,WAAW,IAE7CjC,GAAmBE,IACrBjB,EAAOiD,eAELjC,GAAkBC,IACpBjB,EAAOkD,aAETlD,EAAO8B,QACT,QAESvD,qBAAsBG,oBAAqBY,gBAAiBV,mBAAoBpB,YAAaT,cAAemB,qBAAsBpB,gBAAiBgD,kBAAmBH"} \ No newline at end of file diff --git a/node_modules/swiper/shared/update-swiper.mjs b/node_modules/swiper/shared/update-swiper.mjs deleted file mode 100644 index 851604f..0000000 --- a/node_modules/swiper/shared/update-swiper.mjs +++ /dev/null @@ -1,236 +0,0 @@ -/* underscore in name -> watch for changes */ -const paramsList = ['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', -// modules -'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control']; - -function isObject(o) { - return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object' && !o.__swiper__; -} -function extend(target, src) { - const noExtend = ['__proto__', 'constructor', 'prototype']; - Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => { - if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) { - if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]); - } else { - target[key] = src[key]; - } - }); -} -function needsNavigation(params) { - if (params === void 0) { - params = {}; - } - return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined'; -} -function needsPagination(params) { - if (params === void 0) { - params = {}; - } - return params.pagination && typeof params.pagination.el === 'undefined'; -} -function needsScrollbar(params) { - if (params === void 0) { - params = {}; - } - return params.scrollbar && typeof params.scrollbar.el === 'undefined'; -} -function uniqueClasses(classNames) { - if (classNames === void 0) { - classNames = ''; - } - const classes = classNames.split(' ').map(c => c.trim()).filter(c => !!c); - const unique = []; - classes.forEach(c => { - if (unique.indexOf(c) < 0) unique.push(c); - }); - return unique.join(' '); -} -function attrToProp(attrName) { - if (attrName === void 0) { - attrName = ''; - } - return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', '')); -} -function wrapperClass(className) { - if (className === void 0) { - className = ''; - } - if (!className) return 'swiper-wrapper'; - if (!className.includes('swiper-wrapper')) return `swiper-wrapper ${className}`; - return className; -} - -function updateSwiper(_ref) { - let { - swiper, - slides, - passedParams, - changedParams, - nextEl, - prevEl, - scrollbarEl, - paginationEl - } = _ref; - const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass'); - const { - params: currentParams, - pagination, - navigation, - scrollbar, - virtual, - thumbs - } = swiper; - let needThumbsInit; - let needControllerInit; - let needPaginationInit; - let needScrollbarInit; - let needNavigationInit; - let loopNeedDestroy; - let loopNeedEnable; - let loopNeedReloop; - if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && currentParams.thumbs && !currentParams.thumbs.swiper) { - needThumbsInit = true; - } - if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) { - needControllerInit = true; - } - if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) { - needPaginationInit = true; - } - if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) { - needScrollbarInit = true; - } - if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) { - needNavigationInit = true; - } - const destroyModule = mod => { - if (!swiper[mod]) return; - swiper[mod].destroy(); - if (mod === 'navigation') { - if (swiper.isElement) { - swiper[mod].prevEl.remove(); - swiper[mod].nextEl.remove(); - } - currentParams[mod].prevEl = undefined; - currentParams[mod].nextEl = undefined; - swiper[mod].prevEl = undefined; - swiper[mod].nextEl = undefined; - } else { - if (swiper.isElement) { - swiper[mod].el.remove(); - } - currentParams[mod].el = undefined; - swiper[mod].el = undefined; - } - }; - if (changedParams.includes('loop') && swiper.isElement) { - if (currentParams.loop && !passedParams.loop) { - loopNeedDestroy = true; - } else if (!currentParams.loop && passedParams.loop) { - loopNeedEnable = true; - } else { - loopNeedReloop = true; - } - } - updateParams.forEach(key => { - if (isObject(currentParams[key]) && isObject(passedParams[key])) { - Object.assign(currentParams[key], passedParams[key]); - if ((key === 'navigation' || key === 'pagination' || key === 'scrollbar') && 'enabled' in passedParams[key] && !passedParams[key].enabled) { - destroyModule(key); - } - } else { - const newValue = passedParams[key]; - if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) { - if (newValue === false) { - destroyModule(key); - } - } else { - currentParams[key] = passedParams[key]; - } - } - }); - if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) { - swiper.controller.control = currentParams.controller.control; - } - if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) { - virtual.slides = slides; - virtual.update(true); - } else if (changedParams.includes('virtual') && virtual && currentParams.virtual.enabled) { - if (slides) virtual.slides = slides; - virtual.update(true); - } - if (changedParams.includes('children') && slides && currentParams.loop) { - loopNeedReloop = true; - } - if (needThumbsInit) { - const initialized = thumbs.init(); - if (initialized) thumbs.update(true); - } - if (needControllerInit) { - swiper.controller.control = currentParams.controller.control; - } - if (needPaginationInit) { - if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) { - paginationEl = document.createElement('div'); - paginationEl.classList.add('swiper-pagination'); - paginationEl.part.add('pagination'); - swiper.el.appendChild(paginationEl); - } - if (paginationEl) currentParams.pagination.el = paginationEl; - pagination.init(); - pagination.render(); - pagination.update(); - } - if (needScrollbarInit) { - if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) { - scrollbarEl = document.createElement('div'); - scrollbarEl.classList.add('swiper-scrollbar'); - scrollbarEl.part.add('scrollbar'); - swiper.el.appendChild(scrollbarEl); - } - if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl; - scrollbar.init(); - scrollbar.updateSize(); - scrollbar.setTranslate(); - } - if (needNavigationInit) { - if (swiper.isElement) { - if (!nextEl || typeof nextEl === 'string') { - nextEl = document.createElement('div'); - nextEl.classList.add('swiper-button-next'); - nextEl.innerHTML = swiper.hostEl.constructor.nextButtonSvg; - nextEl.part.add('button-next'); - swiper.el.appendChild(nextEl); - } - if (!prevEl || typeof prevEl === 'string') { - prevEl = document.createElement('div'); - prevEl.classList.add('swiper-button-prev'); - prevEl.innerHTML = swiper.hostEl.constructor.prevButtonSvg; - prevEl.part.add('button-prev'); - swiper.el.appendChild(prevEl); - } - } - if (nextEl) currentParams.navigation.nextEl = nextEl; - if (prevEl) currentParams.navigation.prevEl = prevEl; - navigation.init(); - navigation.update(); - } - if (changedParams.includes('allowSlideNext')) { - swiper.allowSlideNext = passedParams.allowSlideNext; - } - if (changedParams.includes('allowSlidePrev')) { - swiper.allowSlidePrev = passedParams.allowSlidePrev; - } - if (changedParams.includes('direction')) { - swiper.changeDirection(passedParams.direction, false); - } - if (loopNeedDestroy || loopNeedReloop) { - swiper.loopDestroy(); - } - if (loopNeedEnable || loopNeedReloop) { - swiper.loopCreate(); - } - swiper.update(); -} - -export { needsPagination as a, needsScrollbar as b, attrToProp as c, uniqueClasses as d, extend as e, isObject as i, needsNavigation as n, paramsList as p, updateSwiper as u, wrapperClass as w }; diff --git a/node_modules/swiper/shared/utils.min.mjs b/node_modules/swiper/shared/utils.min.mjs deleted file mode 100644 index a7081ee..0000000 --- a/node_modules/swiper/shared/utils.min.mjs +++ /dev/null @@ -1,2 +0,0 @@ -import{a as getWindow,g as getDocument}from"./ssr-window.esm.min.mjs";function classesToTokens(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function deleteProps(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}function nextTick(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function now(){return Date.now()}function getComputedStyle(e){const t=getWindow();let n;return t.getComputedStyle&&(n=t.getComputedStyle(e,null)),!n&&e.currentStyle&&(n=e.currentStyle),n||(n=e.style),n}function getTranslate(e,t){void 0===t&&(t="x");const n=getWindow();let r,o,l;const s=getComputedStyle(e);return n.WebKitCSSMatrix?(o=s.transform||s.webkitTransform,o.split(",").length>6&&(o=o.split(", ").map((e=>e.replace(",","."))).join(", ")),l=new n.WebKitCSSMatrix("none"===o?"":o)):(l=s.MozTransform||s.OTransform||s.MsTransform||s.msTransform||s.transform||s.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),r=l.toString().split(",")),"x"===t&&(o=n.WebKitCSSMatrix?l.m41:16===r.length?parseFloat(r[12]):parseFloat(r[4])),"y"===t&&(o=n.WebKitCSSMatrix?l.m42:16===r.length?parseFloat(r[13]):parseFloat(r[5])),o||0}function isObject(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function isNode(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function extend(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let n=1;nt.indexOf(e)<0));for(let t=0,o=n.length;tl?"next":"prev",m=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{s=(new Date).getTime(),null===i&&(i=s);const e=Math.max(Math.min((s-i)/a,1),0),c=.5-Math.cos(e*Math.PI)/2;let p=l+c*(n-l);if(m(p,n)&&(p=n),t.wrapperEl.scrollTo({[r]:p}),m(p,n))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[r]:p})})),void o.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=o.requestAnimationFrame(u)};u()}function getSlideTransformEl(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function elementChildren(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function showWarning(e){try{return void console.warn(e)}catch(e){}}function createElement(e,t){void 0===t&&(t=[]);const n=document.createElement(e);return n.classList.add(...Array.isArray(t)?t:classesToTokens(t)),n}function elementOffset(e){const t=getWindow(),n=getDocument(),r=e.getBoundingClientRect(),o=n.body,l=e.clientTop||o.clientTop||0,s=e.clientLeft||o.clientLeft||0,i=e===t?t.scrollY:e.scrollTop,a=e===t?t.scrollX:e.scrollLeft;return{top:r.top+i-l,left:r.left+a-s}}function elementPrevAll(e,t){const n=[];for(;e.previousElementSibling;){const r=e.previousElementSibling;t?r.matches(t)&&n.push(r):n.push(r),e=r}return n}function elementNextAll(e,t){const n=[];for(;e.nextElementSibling;){const r=e.nextElementSibling;t?r.matches(t)&&n.push(r):n.push(r),e=r}return n}function elementStyle(e,t){return getWindow().getComputedStyle(e,null).getPropertyValue(t)}function elementIndex(e){let t,n=e;if(n){for(t=0;null!==(n=n.previousSibling);)1===n.nodeType&&(t+=1);return t}}function elementParents(e,t){const n=[];let r=e.parentElement;for(;r;)t?r.matches(t)&&n.push(r):n.push(r),r=r.parentElement;return n}function elementTransitionEnd(e,t){t&&e.addEventListener("transitionend",(function n(r){r.target===e&&(t.call(e,r),e.removeEventListener("transitionend",n))}))}function elementOuterSize(e,t,n){const r=getWindow();return n?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(r.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(r.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function makeElementsArray(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}export{elementParents as a,elementOffset as b,createElement as c,now as d,elementChildren as e,elementOuterSize as f,getSlideTransformEl as g,elementIndex as h,classesToTokens as i,getTranslate as j,elementTransitionEnd as k,isObject as l,makeElementsArray as m,nextTick as n,elementStyle as o,elementNextAll as p,elementPrevAll as q,animateCSSModeScroll as r,setCSSProperty as s,showWarning as t,extend as u,deleteProps as v}; -//# sourceMappingURL=utils.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/shared/utils.min.mjs.map b/node_modules/swiper/shared/utils.min.mjs.map deleted file mode 100644 index 5bd496c..0000000 --- a/node_modules/swiper/shared/utils.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"utils.mjs.mjs","names":["getWindow","getDocument","classesToTokens","classes","trim","split","filter","c","deleteProps","obj","object","Object","keys","forEach","key","e","nextTick","callback","delay","setTimeout","now","Date","getComputedStyle","el","window","style","currentStyle","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","transform","webkitTransform","length","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","getPropertyValue","toString","m41","parseFloat","m42","isObject","o","constructor","prototype","call","slice","isNode","node","HTMLElement","nodeType","extend","to","arguments","undefined","noExtend","i","nextSource","keysArray","indexOf","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cancelAnimationFrame","cssModeFrameID","dir","isOutOfBound","current","target","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","requestAnimationFrame","getSlideTransformEl","slideEl","querySelector","shadowRoot","elementChildren","element","selector","children","matches","showWarning","text","console","warn","err","createElement","tag","document","classList","add","Array","isArray","elementOffset","box","getBoundingClientRect","body","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","elementPrevAll","prevEls","previousElementSibling","prev","push","elementNextAll","nextEls","nextElementSibling","next","elementStyle","prop","elementIndex","child","previousSibling","elementParents","parents","parent","parentElement","elementTransitionEnd","addEventListener","fireCallBack","removeEventListener","elementOuterSize","size","includeMargins","offsetWidth","makeElementsArray"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/shared/utils.mjs b/node_modules/swiper/shared/utils.mjs deleted file mode 100644 index e46a721..0000000 --- a/node_modules/swiper/shared/utils.mjs +++ /dev/null @@ -1,292 +0,0 @@ -import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs'; - -function classesToTokens(classes) { - if (classes === void 0) { - classes = ''; - } - return classes.trim().split(' ').filter(c => !!c.trim()); -} - -function deleteProps(obj) { - const object = obj; - Object.keys(object).forEach(key => { - try { - object[key] = null; - } catch (e) { - // no getter for object - } - try { - delete object[key]; - } catch (e) { - // something got wrong - } - }); -} -function nextTick(callback, delay) { - if (delay === void 0) { - delay = 0; - } - return setTimeout(callback, delay); -} -function now() { - return Date.now(); -} -function getComputedStyle(el) { - const window = getWindow(); - let style; - if (window.getComputedStyle) { - style = window.getComputedStyle(el, null); - } - if (!style && el.currentStyle) { - style = el.currentStyle; - } - if (!style) { - style = el.style; - } - return style; -} -function getTranslate(el, axis) { - if (axis === void 0) { - axis = 'x'; - } - const window = getWindow(); - let matrix; - let curTransform; - let transformMatrix; - const curStyle = getComputedStyle(el); - if (window.WebKitCSSMatrix) { - curTransform = curStyle.transform || curStyle.webkitTransform; - if (curTransform.split(',').length > 6) { - curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', '); - } - // Some old versions of Webkit choke when 'none' is passed; pass - // empty string instead in this case - transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); - } else { - transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); - matrix = transformMatrix.toString().split(','); - } - if (axis === 'x') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); - // Normal Browsers - else curTransform = parseFloat(matrix[4]); - } - if (axis === 'y') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); - // Normal Browsers - else curTransform = parseFloat(matrix[5]); - } - return curTransform || 0; -} -function isObject(o) { - return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object'; -} -function isNode(node) { - // eslint-disable-next-line - if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') { - return node instanceof HTMLElement; - } - return node && (node.nodeType === 1 || node.nodeType === 11); -} -function extend() { - const to = Object(arguments.length <= 0 ? undefined : arguments[0]); - const noExtend = ['__proto__', 'constructor', 'prototype']; - for (let i = 1; i < arguments.length; i += 1) { - const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i]; - if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) { - const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0); - for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { - const nextKey = keysArray[nextIndex]; - const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); - if (desc !== undefined && desc.enumerable) { - if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) { - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend(to[nextKey], nextSource[nextKey]); - } - } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) { - to[nextKey] = {}; - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend(to[nextKey], nextSource[nextKey]); - } - } else { - to[nextKey] = nextSource[nextKey]; - } - } - } - } - } - return to; -} -function setCSSProperty(el, varName, varValue) { - el.style.setProperty(varName, varValue); -} -function animateCSSModeScroll(_ref) { - let { - swiper, - targetPosition, - side - } = _ref; - const window = getWindow(); - const startPosition = -swiper.translate; - let startTime = null; - let time; - const duration = swiper.params.speed; - swiper.wrapperEl.style.scrollSnapType = 'none'; - window.cancelAnimationFrame(swiper.cssModeFrameID); - const dir = targetPosition > startPosition ? 'next' : 'prev'; - const isOutOfBound = (current, target) => { - return dir === 'next' && current >= target || dir === 'prev' && current <= target; - }; - const animate = () => { - time = new Date().getTime(); - if (startTime === null) { - startTime = time; - } - const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); - const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2; - let currentPosition = startPosition + easeProgress * (targetPosition - startPosition); - if (isOutOfBound(currentPosition, targetPosition)) { - currentPosition = targetPosition; - } - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - if (isOutOfBound(currentPosition, targetPosition)) { - swiper.wrapperEl.style.overflow = 'hidden'; - swiper.wrapperEl.style.scrollSnapType = ''; - setTimeout(() => { - swiper.wrapperEl.style.overflow = ''; - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - }); - window.cancelAnimationFrame(swiper.cssModeFrameID); - return; - } - swiper.cssModeFrameID = window.requestAnimationFrame(animate); - }; - animate(); -} -function getSlideTransformEl(slideEl) { - return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl; -} -function elementChildren(element, selector) { - if (selector === void 0) { - selector = ''; - } - return [...element.children].filter(el => el.matches(selector)); -} -function showWarning(text) { - try { - console.warn(text); - return; - } catch (err) { - // err - } -} -function createElement(tag, classes) { - if (classes === void 0) { - classes = []; - } - const el = document.createElement(tag); - el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes))); - return el; -} -function elementOffset(el) { - const window = getWindow(); - const document = getDocument(); - const box = el.getBoundingClientRect(); - const body = document.body; - const clientTop = el.clientTop || body.clientTop || 0; - const clientLeft = el.clientLeft || body.clientLeft || 0; - const scrollTop = el === window ? window.scrollY : el.scrollTop; - const scrollLeft = el === window ? window.scrollX : el.scrollLeft; - return { - top: box.top + scrollTop - clientTop, - left: box.left + scrollLeft - clientLeft - }; -} -function elementPrevAll(el, selector) { - const prevEls = []; - while (el.previousElementSibling) { - const prev = el.previousElementSibling; // eslint-disable-line - if (selector) { - if (prev.matches(selector)) prevEls.push(prev); - } else prevEls.push(prev); - el = prev; - } - return prevEls; -} -function elementNextAll(el, selector) { - const nextEls = []; - while (el.nextElementSibling) { - const next = el.nextElementSibling; // eslint-disable-line - if (selector) { - if (next.matches(selector)) nextEls.push(next); - } else nextEls.push(next); - el = next; - } - return nextEls; -} -function elementStyle(el, prop) { - const window = getWindow(); - return window.getComputedStyle(el, null).getPropertyValue(prop); -} -function elementIndex(el) { - let child = el; - let i; - if (child) { - i = 0; - // eslint-disable-next-line - while ((child = child.previousSibling) !== null) { - if (child.nodeType === 1) i += 1; - } - return i; - } - return undefined; -} -function elementParents(el, selector) { - const parents = []; // eslint-disable-line - let parent = el.parentElement; // eslint-disable-line - while (parent) { - if (selector) { - if (parent.matches(selector)) parents.push(parent); - } else { - parents.push(parent); - } - parent = parent.parentElement; - } - return parents; -} -function elementTransitionEnd(el, callback) { - function fireCallBack(e) { - if (e.target !== el) return; - callback.call(el, e); - el.removeEventListener('transitionend', fireCallBack); - } - if (callback) { - el.addEventListener('transitionend', fireCallBack); - } -} -function elementOuterSize(el, size, includeMargins) { - const window = getWindow(); - if (includeMargins) { - return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom')); - } - return el.offsetWidth; -} -function makeElementsArray(el) { - return (Array.isArray(el) ? el : [el]).filter(e => !!e); -} - -export { elementParents as a, elementOffset as b, createElement as c, now as d, elementChildren as e, elementOuterSize as f, getSlideTransformEl as g, elementIndex as h, classesToTokens as i, getTranslate as j, elementTransitionEnd as k, isObject as l, makeElementsArray as m, nextTick as n, elementStyle as o, elementNextAll as p, elementPrevAll as q, animateCSSModeScroll as r, setCSSProperty as s, showWarning as t, extend as u, deleteProps as v }; diff --git a/node_modules/swiper/swiper-bundle.css b/node_modules/swiper/swiper-bundle.css deleted file mode 100644 index 0ae60c1..0000000 --- a/node_modules/swiper/swiper-bundle.css +++ /dev/null @@ -1,735 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -/* FONT_START */ -@font-face { - font-family: 'swiper-icons'; - src: url('data:application/font-woff;charset=utf-8;base64, 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'); - font-weight: 400; - font-style: normal; -} -/* FONT_END */ -:root { - --swiper-theme-color: #007aff; - /* - --swiper-preloader-color: var(--swiper-theme-color); - --swiper-wrapper-transition-timing-function: initial; - */ -} -:host { - position: relative; - display: block; - margin-left: auto; - margin-right: auto; - z-index: 1; -} -.swiper { - margin-left: auto; - margin-right: auto; - position: relative; - overflow: hidden; - list-style: none; - padding: 0; - /* Fix of Webkit flickering */ - z-index: 1; - display: block; -} -.swiper-vertical > .swiper-wrapper { - flex-direction: column; -} -.swiper-wrapper { - position: relative; - width: 100%; - height: 100%; - z-index: 1; - display: flex; - transition-property: transform; - transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial); - box-sizing: content-box; -} -.swiper-android .swiper-slide, -.swiper-ios .swiper-slide, -.swiper-wrapper { - transform: translate3d(0px, 0, 0); -} -.swiper-horizontal { - touch-action: pan-y; -} -.swiper-vertical { - touch-action: pan-x; -} -.swiper-slide { - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; - transition-property: transform; - display: block; -} -.swiper-slide-invisible-blank { - visibility: hidden; -} -/* Auto Height */ -.swiper-autoheight, -.swiper-autoheight .swiper-slide { - height: auto; -} -.swiper-autoheight .swiper-wrapper { - align-items: flex-start; - transition-property: transform, height; -} -.swiper-backface-hidden .swiper-slide { - transform: translateZ(0); - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -/* 3D Effects */ -.swiper-3d.swiper-css-mode .swiper-wrapper { - perspective: 1200px; -} -.swiper-3d .swiper-wrapper { - transform-style: preserve-3d; -} -.swiper-3d { - perspective: 1200px; -} -.swiper-3d .swiper-slide, -.swiper-3d .swiper-cube-shadow { - transform-style: preserve-3d; -} -/* CSS Mode */ -.swiper-css-mode > .swiper-wrapper { - overflow: auto; - scrollbar-width: none; - /* For Firefox */ - -ms-overflow-style: none; - /* For Internet Explorer and Edge */ -} -.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar { - display: none; -} -.swiper-css-mode > .swiper-wrapper > .swiper-slide { - scroll-snap-align: start start; -} -.swiper-css-mode.swiper-horizontal > .swiper-wrapper { - scroll-snap-type: x mandatory; -} -.swiper-css-mode.swiper-vertical > .swiper-wrapper { - scroll-snap-type: y mandatory; -} -.swiper-css-mode.swiper-free-mode > .swiper-wrapper { - scroll-snap-type: none; -} -.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide { - scroll-snap-align: none; -} -.swiper-css-mode.swiper-centered > .swiper-wrapper::before { - content: ''; - flex-shrink: 0; - order: 9999; -} -.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide { - scroll-snap-align: center center; - scroll-snap-stop: always; -} -.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child { - margin-inline-start: var(--swiper-centered-offset-before); -} -.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before { - height: 100%; - min-height: 1px; - width: var(--swiper-centered-offset-after); -} -.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child { - margin-block-start: var(--swiper-centered-offset-before); -} -.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before { - width: 100%; - min-width: 1px; - height: var(--swiper-centered-offset-after); -} -/* Slide styles start */ -/* 3D Shadows */ -.swiper-3d .swiper-slide-shadow, -.swiper-3d .swiper-slide-shadow-left, -.swiper-3d .swiper-slide-shadow-right, -.swiper-3d .swiper-slide-shadow-top, -.swiper-3d .swiper-slide-shadow-bottom, -.swiper-3d .swiper-slide-shadow, -.swiper-3d .swiper-slide-shadow-left, -.swiper-3d .swiper-slide-shadow-right, -.swiper-3d .swiper-slide-shadow-top, -.swiper-3d .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; -} -.swiper-3d .swiper-slide-shadow { - background: rgba(0, 0, 0, 0.15); -} -.swiper-3d .swiper-slide-shadow-left { - background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); -} -.swiper-3d .swiper-slide-shadow-right { - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); -} -.swiper-3d .swiper-slide-shadow-top { - background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); -} -.swiper-3d .swiper-slide-shadow-bottom { - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); -} -.swiper-lazy-preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; - transform-origin: 50%; - box-sizing: border-box; - border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color)); - border-radius: 50%; - border-top-color: transparent; -} -.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, -.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader { - animation: swiper-preloader-spin 1s infinite linear; -} -.swiper-lazy-preloader-white { - --swiper-preloader-color: #fff; -} -.swiper-lazy-preloader-black { - --swiper-preloader-color: #000; -} -@keyframes swiper-preloader-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -/* Slide styles end */ -.swiper-virtual .swiper-slide { - -webkit-backface-visibility: hidden; - transform: translateZ(0); -} -.swiper-virtual.swiper-css-mode .swiper-wrapper::after { - content: ''; - position: absolute; - left: 0; - top: 0; - pointer-events: none; -} -.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after { - height: 1px; - width: var(--swiper-virtual-size); -} -.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after { - width: 1px; - height: var(--swiper-virtual-size); -} -:root { - --swiper-navigation-size: 44px; - /* - --swiper-navigation-top-offset: 50%; - --swiper-navigation-sides-offset: 10px; - --swiper-navigation-color: var(--swiper-theme-color); - */ -} -.swiper-button-prev, -.swiper-button-next { - position: absolute; - top: var(--swiper-navigation-top-offset, 50%); - width: calc(var(--swiper-navigation-size) / 44 * 27); - height: var(--swiper-navigation-size); - margin-top: calc(0px - (var(--swiper-navigation-size) / 2)); - z-index: 10; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - color: var(--swiper-navigation-color, var(--swiper-theme-color)); -} -.swiper-button-prev.swiper-button-disabled, -.swiper-button-next.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; -} -.swiper-button-prev.swiper-button-hidden, -.swiper-button-next.swiper-button-hidden { - opacity: 0; - cursor: auto; - pointer-events: none; -} -.swiper-navigation-disabled .swiper-button-prev, -.swiper-navigation-disabled .swiper-button-next { - display: none !important; -} -.swiper-button-prev svg, -.swiper-button-next svg { - width: 100%; - height: 100%; - object-fit: contain; - transform-origin: center; -} -.swiper-rtl .swiper-button-prev svg, -.swiper-rtl .swiper-button-next svg { - transform: rotate(180deg); -} -.swiper-button-prev, -.swiper-rtl .swiper-button-next { - left: var(--swiper-navigation-sides-offset, 10px); - right: auto; -} -.swiper-button-next, -.swiper-rtl .swiper-button-prev { - right: var(--swiper-navigation-sides-offset, 10px); - left: auto; -} -.swiper-button-lock { - display: none; -} -/* Navigation font start */ -.swiper-button-prev:after, -.swiper-button-next:after { - font-family: swiper-icons; - font-size: var(--swiper-navigation-size); - text-transform: none !important; - letter-spacing: 0; - font-variant: initial; - line-height: 1; -} -.swiper-button-prev:after, -.swiper-rtl .swiper-button-next:after { - content: 'prev'; -} -.swiper-button-next, -.swiper-rtl .swiper-button-prev { - right: var(--swiper-navigation-sides-offset, 10px); - left: auto; -} -.swiper-button-next:after, -.swiper-rtl .swiper-button-prev:after { - content: 'next'; -} -/* Navigation font end */ -:root { - /* - --swiper-pagination-color: var(--swiper-theme-color); - --swiper-pagination-left: auto; - --swiper-pagination-right: 8px; - --swiper-pagination-bottom: 8px; - --swiper-pagination-top: auto; - --swiper-pagination-fraction-color: inherit; - --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25); - --swiper-pagination-progressbar-size: 4px; - --swiper-pagination-bullet-size: 8px; - --swiper-pagination-bullet-width: 8px; - --swiper-pagination-bullet-height: 8px; - --swiper-pagination-bullet-border-radius: 50%; - --swiper-pagination-bullet-inactive-color: #000; - --swiper-pagination-bullet-inactive-opacity: 0.2; - --swiper-pagination-bullet-opacity: 1; - --swiper-pagination-bullet-horizontal-gap: 4px; - --swiper-pagination-bullet-vertical-gap: 6px; - */ -} -.swiper-pagination { - position: absolute; - text-align: center; - transition: 300ms opacity; - transform: translate3d(0, 0, 0); - z-index: 10; -} -.swiper-pagination.swiper-pagination-hidden { - opacity: 0; -} -.swiper-pagination-disabled > .swiper-pagination, -.swiper-pagination.swiper-pagination-disabled { - display: none !important; -} -/* Common Styles */ -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-horizontal > .swiper-pagination-bullets, -.swiper-pagination-bullets.swiper-pagination-horizontal { - bottom: var(--swiper-pagination-bottom, 8px); - top: var(--swiper-pagination-top, auto); - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullets-dynamic { - overflow: hidden; - font-size: 0; -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transform: scale(0.33); - position: relative; -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active { - transform: scale(1); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main { - transform: scale(1); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev { - transform: scale(0.66); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev { - transform: scale(0.33); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next { - transform: scale(0.66); -} -.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next { - transform: scale(0.33); -} -.swiper-pagination-bullet { - width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px)); - height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px)); - display: inline-block; - border-radius: var(--swiper-pagination-bullet-border-radius, 50%); - background: var(--swiper-pagination-bullet-inactive-color, #000); - opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2); -} -button.swiper-pagination-bullet { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - -webkit-appearance: none; - appearance: none; -} -.swiper-pagination-clickable .swiper-pagination-bullet { - cursor: pointer; -} -.swiper-pagination-bullet:only-child { - display: none !important; -} -.swiper-pagination-bullet-active { - opacity: var(--swiper-pagination-bullet-opacity, 1); - background: var(--swiper-pagination-color, var(--swiper-theme-color)); -} -.swiper-vertical > .swiper-pagination-bullets, -.swiper-pagination-vertical.swiper-pagination-bullets { - right: var(--swiper-pagination-right, 8px); - left: var(--swiper-pagination-left, auto); - top: 50%; - transform: translate3d(0px, -50%, 0); -} -.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet, -.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet { - margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0; - display: block; -} -.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, -.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { - top: 50%; - transform: translateY(-50%); - width: 8px; -} -.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, -.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - display: inline-block; - transition: 200ms transform, - 200ms top; -} -.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, -.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { - margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); -} -.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, -.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { - left: 50%; - transform: translateX(-50%); - white-space: nowrap; -} -.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, -.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transition: 200ms transform, - 200ms left; -} -.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet { - transition: 200ms transform, - 200ms right; -} -/* Fraction */ -.swiper-pagination-fraction { - color: var(--swiper-pagination-fraction-color, inherit); -} -/* Progress */ -.swiper-pagination-progressbar { - background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25)); - position: absolute; -} -.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { - background: var(--swiper-pagination-color, var(--swiper-theme-color)); - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - transform: scale(0); - transform-origin: left top; -} -.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { - transform-origin: right top; -} -.swiper-horizontal > .swiper-pagination-progressbar, -.swiper-pagination-progressbar.swiper-pagination-horizontal, -.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, -.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite { - width: 100%; - height: var(--swiper-pagination-progressbar-size, 4px); - left: 0; - top: 0; -} -.swiper-vertical > .swiper-pagination-progressbar, -.swiper-pagination-progressbar.swiper-pagination-vertical, -.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, -.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite { - width: var(--swiper-pagination-progressbar-size, 4px); - height: 100%; - left: 0; - top: 0; -} -.swiper-pagination-lock { - display: none; -} -:root { - /* - --swiper-scrollbar-border-radius: 10px; - --swiper-scrollbar-top: auto; - --swiper-scrollbar-bottom: 4px; - --swiper-scrollbar-left: auto; - --swiper-scrollbar-right: 4px; - --swiper-scrollbar-sides-offset: 1%; - --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1); - --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5); - --swiper-scrollbar-size: 4px; - */ -} -.swiper-scrollbar { - border-radius: var(--swiper-scrollbar-border-radius, 10px); - position: relative; - touch-action: none; - background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1)); -} -.swiper-scrollbar-disabled > .swiper-scrollbar, -.swiper-scrollbar.swiper-scrollbar-disabled { - display: none !important; -} -.swiper-horizontal > .swiper-scrollbar, -.swiper-scrollbar.swiper-scrollbar-horizontal { - position: absolute; - left: var(--swiper-scrollbar-sides-offset, 1%); - bottom: var(--swiper-scrollbar-bottom, 4px); - top: var(--swiper-scrollbar-top, auto); - z-index: 50; - height: var(--swiper-scrollbar-size, 4px); - width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); -} -.swiper-vertical > .swiper-scrollbar, -.swiper-scrollbar.swiper-scrollbar-vertical { - position: absolute; - left: var(--swiper-scrollbar-left, auto); - right: var(--swiper-scrollbar-right, 4px); - top: var(--swiper-scrollbar-sides-offset, 1%); - z-index: 50; - width: var(--swiper-scrollbar-size, 4px); - height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%)); -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5)); - border-radius: var(--swiper-scrollbar-border-radius, 10px); - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -.swiper-scrollbar-lock { - display: none; -} -/* Zoom container styles start */ -.swiper-zoom-container { - width: 100%; - height: 100%; - display: flex; - justify-content: center; - align-items: center; - text-align: center; -} -.swiper-zoom-container > img, -.swiper-zoom-container > svg, -.swiper-zoom-container > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; -} -/* Zoom container styles end */ -.swiper-slide-zoomed { - cursor: move; - touch-action: none; -} -/* a11y */ -.swiper .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} -.swiper-free-mode > .swiper-wrapper { - transition-timing-function: ease-out; - margin: 0 auto; -} -.swiper-grid > .swiper-wrapper { - flex-wrap: wrap; -} -.swiper-grid-column > .swiper-wrapper { - flex-wrap: wrap; - flex-direction: column; -} -.swiper-fade.swiper-free-mode .swiper-slide { - transition-timing-function: ease-out; -} -.swiper-fade .swiper-slide { - pointer-events: none; - transition-property: opacity; -} -.swiper-fade .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-fade .swiper-slide-active { - pointer-events: auto; -} -.swiper-fade .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-cube { - overflow: visible; -} -.swiper-cube .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; - visibility: hidden; - transform-origin: 0 0; - width: 100%; - height: 100%; -} -.swiper-cube .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-cube.swiper-rtl .swiper-slide { - transform-origin: 100% 0; -} -.swiper-cube .swiper-slide-active, -.swiper-cube .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-cube .swiper-slide-active, -.swiper-cube .swiper-slide-next, -.swiper-cube .swiper-slide-prev { - pointer-events: auto; - visibility: visible; -} -.swiper-cube .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - opacity: 0.6; - z-index: 0; -} -.swiper-cube .swiper-cube-shadow:before { - content: ''; - background: #000; - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 0; - filter: blur(50px); -} -.swiper-cube .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; -} -/* Cube slide shadows start */ -.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top, -.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, -.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, -.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -/* Cube slide shadows end */ -.swiper-flip { - overflow: visible; -} -.swiper-flip .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; -} -.swiper-flip .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-flip .swiper-slide-active, -.swiper-flip .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -/* Flip slide shadows start */ -.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top, -.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, -.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, -.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -/* Flip slide shadows end */ -.swiper-creative .swiper-slide { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - overflow: hidden; - transition-property: transform, opacity, height; -} -.swiper-cards { - overflow: visible; -} -.swiper-cards .swiper-slide { - transform-origin: center bottom; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - overflow: hidden; -} diff --git a/node_modules/swiper/swiper-bundle.js b/node_modules/swiper/swiper-bundle.js deleted file mode 100644 index 10bac30..0000000 --- a/node_modules/swiper/swiper-bundle.js +++ /dev/null @@ -1,9633 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -var Swiper = (function () { - 'use strict'; - - /** - * SSR Window 4.0.2 - * Better handling for window object in SSR environment - * https://github.com/nolimits4web/ssr-window - * - * Copyright 2021, Vladimir Kharlampidi - * - * Licensed under MIT - * - * Released on: December 13, 2021 - */ - /* eslint-disable no-param-reassign */ - function isObject$1(obj) { - return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object; - } - function extend$1(target, src) { - if (target === void 0) { - target = {}; - } - if (src === void 0) { - src = {}; - } - Object.keys(src).forEach(key => { - if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject$1(src[key]) && isObject$1(target[key]) && Object.keys(src[key]).length > 0) { - extend$1(target[key], src[key]); - } - }); - } - const ssrDocument = { - 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 getDocument() { - const doc = typeof document !== 'undefined' ? document : {}; - extend$1(doc, ssrDocument); - return doc; - } - const ssrWindow = { - document: ssrDocument, - navigator: { - userAgent: '' - }, - location: { - hash: '', - host: '', - hostname: '', - href: '', - origin: '', - pathname: '', - protocol: '', - search: '' - }, - history: { - replaceState() {}, - pushState() {}, - go() {}, - back() {} - }, - CustomEvent: function CustomEvent() { - return this; - }, - addEventListener() {}, - removeEventListener() {}, - getComputedStyle() { - return { - getPropertyValue() { - return ''; - } - }; - }, - Image() {}, - Date() {}, - screen: {}, - setTimeout() {}, - clearTimeout() {}, - matchMedia() { - return {}; - }, - requestAnimationFrame(callback) { - if (typeof setTimeout === 'undefined') { - callback(); - return null; - } - return setTimeout(callback, 0); - }, - cancelAnimationFrame(id) { - if (typeof setTimeout === 'undefined') { - return; - } - clearTimeout(id); - } - }; - function getWindow() { - const win = typeof window !== 'undefined' ? window : {}; - extend$1(win, ssrWindow); - return win; - } - - function classesToTokens(classes) { - if (classes === void 0) { - classes = ''; - } - return classes.trim().split(' ').filter(c => !!c.trim()); - } - - function deleteProps(obj) { - const object = obj; - Object.keys(object).forEach(key => { - try { - object[key] = null; - } catch (e) { - // no getter for object - } - try { - delete object[key]; - } catch (e) { - // something got wrong - } - }); - } - function nextTick(callback, delay) { - if (delay === void 0) { - delay = 0; - } - return setTimeout(callback, delay); - } - function now() { - return Date.now(); - } - function getComputedStyle$1(el) { - const window = getWindow(); - let style; - if (window.getComputedStyle) { - style = window.getComputedStyle(el, null); - } - if (!style && el.currentStyle) { - style = el.currentStyle; - } - if (!style) { - style = el.style; - } - return style; - } - function getTranslate(el, axis) { - if (axis === void 0) { - axis = 'x'; - } - const window = getWindow(); - let matrix; - let curTransform; - let transformMatrix; - const curStyle = getComputedStyle$1(el); - if (window.WebKitCSSMatrix) { - curTransform = curStyle.transform || curStyle.webkitTransform; - if (curTransform.split(',').length > 6) { - curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', '); - } - // Some old versions of Webkit choke when 'none' is passed; pass - // empty string instead in this case - transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); - } else { - transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); - matrix = transformMatrix.toString().split(','); - } - if (axis === 'x') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); - // Normal Browsers - else curTransform = parseFloat(matrix[4]); - } - if (axis === 'y') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); - // Normal Browsers - else curTransform = parseFloat(matrix[5]); - } - return curTransform || 0; - } - function isObject(o) { - return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object'; - } - function isNode(node) { - // eslint-disable-next-line - if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') { - return node instanceof HTMLElement; - } - return node && (node.nodeType === 1 || node.nodeType === 11); - } - function extend() { - const to = Object(arguments.length <= 0 ? undefined : arguments[0]); - const noExtend = ['__proto__', 'constructor', 'prototype']; - for (let i = 1; i < arguments.length; i += 1) { - const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i]; - if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) { - const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0); - for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { - const nextKey = keysArray[nextIndex]; - const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); - if (desc !== undefined && desc.enumerable) { - if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) { - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend(to[nextKey], nextSource[nextKey]); - } - } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) { - to[nextKey] = {}; - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend(to[nextKey], nextSource[nextKey]); - } - } else { - to[nextKey] = nextSource[nextKey]; - } - } - } - } - } - return to; - } - function setCSSProperty(el, varName, varValue) { - el.style.setProperty(varName, varValue); - } - function animateCSSModeScroll(_ref) { - let { - swiper, - targetPosition, - side - } = _ref; - const window = getWindow(); - const startPosition = -swiper.translate; - let startTime = null; - let time; - const duration = swiper.params.speed; - swiper.wrapperEl.style.scrollSnapType = 'none'; - window.cancelAnimationFrame(swiper.cssModeFrameID); - const dir = targetPosition > startPosition ? 'next' : 'prev'; - const isOutOfBound = (current, target) => { - return dir === 'next' && current >= target || dir === 'prev' && current <= target; - }; - const animate = () => { - time = new Date().getTime(); - if (startTime === null) { - startTime = time; - } - const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); - const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2; - let currentPosition = startPosition + easeProgress * (targetPosition - startPosition); - if (isOutOfBound(currentPosition, targetPosition)) { - currentPosition = targetPosition; - } - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - if (isOutOfBound(currentPosition, targetPosition)) { - swiper.wrapperEl.style.overflow = 'hidden'; - swiper.wrapperEl.style.scrollSnapType = ''; - setTimeout(() => { - swiper.wrapperEl.style.overflow = ''; - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - }); - window.cancelAnimationFrame(swiper.cssModeFrameID); - return; - } - swiper.cssModeFrameID = window.requestAnimationFrame(animate); - }; - animate(); - } - function getSlideTransformEl(slideEl) { - return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl; - } - function elementChildren(element, selector) { - if (selector === void 0) { - selector = ''; - } - return [...element.children].filter(el => el.matches(selector)); - } - function showWarning(text) { - try { - console.warn(text); - return; - } catch (err) { - // err - } - } - function createElement(tag, classes) { - if (classes === void 0) { - classes = []; - } - const el = document.createElement(tag); - el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes))); - return el; - } - function elementOffset(el) { - const window = getWindow(); - const document = getDocument(); - const box = el.getBoundingClientRect(); - const body = document.body; - const clientTop = el.clientTop || body.clientTop || 0; - const clientLeft = el.clientLeft || body.clientLeft || 0; - const scrollTop = el === window ? window.scrollY : el.scrollTop; - const scrollLeft = el === window ? window.scrollX : el.scrollLeft; - return { - top: box.top + scrollTop - clientTop, - left: box.left + scrollLeft - clientLeft - }; - } - function elementPrevAll(el, selector) { - const prevEls = []; - while (el.previousElementSibling) { - const prev = el.previousElementSibling; // eslint-disable-line - if (selector) { - if (prev.matches(selector)) prevEls.push(prev); - } else prevEls.push(prev); - el = prev; - } - return prevEls; - } - function elementNextAll(el, selector) { - const nextEls = []; - while (el.nextElementSibling) { - const next = el.nextElementSibling; // eslint-disable-line - if (selector) { - if (next.matches(selector)) nextEls.push(next); - } else nextEls.push(next); - el = next; - } - return nextEls; - } - function elementStyle(el, prop) { - const window = getWindow(); - return window.getComputedStyle(el, null).getPropertyValue(prop); - } - function elementIndex(el) { - let child = el; - let i; - if (child) { - i = 0; - // eslint-disable-next-line - while ((child = child.previousSibling) !== null) { - if (child.nodeType === 1) i += 1; - } - return i; - } - return undefined; - } - function elementParents(el, selector) { - const parents = []; // eslint-disable-line - let parent = el.parentElement; // eslint-disable-line - while (parent) { - if (selector) { - if (parent.matches(selector)) parents.push(parent); - } else { - parents.push(parent); - } - parent = parent.parentElement; - } - return parents; - } - function elementTransitionEnd(el, callback) { - function fireCallBack(e) { - if (e.target !== el) return; - callback.call(el, e); - el.removeEventListener('transitionend', fireCallBack); - } - if (callback) { - el.addEventListener('transitionend', fireCallBack); - } - } - function elementOuterSize(el, size, includeMargins) { - const window = getWindow(); - if (includeMargins) { - return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom')); - } - return el.offsetWidth; - } - function makeElementsArray(el) { - return (Array.isArray(el) ? el : [el]).filter(e => !!e); - } - - let support; - function calcSupport() { - const window = getWindow(); - const document = getDocument(); - return { - smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style, - touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch) - }; - } - function getSupport() { - if (!support) { - support = calcSupport(); - } - return support; - } - - let deviceCached; - function calcDevice(_temp) { - let { - userAgent - } = _temp === void 0 ? {} : _temp; - const support = getSupport(); - const window = getWindow(); - const platform = window.navigator.platform; - const ua = userAgent || window.navigator.userAgent; - const device = { - ios: false, - android: false - }; - const screenWidth = window.screen.width; - const screenHeight = window.screen.height; - const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line - let ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); - const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); - const windows = platform === 'Win32'; - let macos = platform === 'MacIntel'; - - // iPadOs 13 fix - const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810']; - if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) { - ipad = ua.match(/(Version)\/([\d.]+)/); - if (!ipad) ipad = [0, 1, '13_0_0']; - macos = false; - } - - // Android - if (android && !windows) { - device.os = 'android'; - device.android = true; - } - if (ipad || iphone || ipod) { - device.os = 'ios'; - device.ios = true; - } - - // Export object - return device; - } - function getDevice(overrides) { - if (overrides === void 0) { - overrides = {}; - } - if (!deviceCached) { - deviceCached = calcDevice(overrides); - } - return deviceCached; - } - - let browser; - function calcBrowser() { - const window = getWindow(); - const device = getDevice(); - let needPerspectiveFix = false; - function isSafari() { - const ua = window.navigator.userAgent.toLowerCase(); - return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; - } - if (isSafari()) { - const ua = String(window.navigator.userAgent); - if (ua.includes('Version/')) { - const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num)); - needPerspectiveFix = major < 16 || major === 16 && minor < 2; - } - } - const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent); - const isSafariBrowser = isSafari(); - const need3dFix = isSafariBrowser || isWebView && device.ios; - return { - isSafari: needPerspectiveFix || isSafariBrowser, - needPerspectiveFix, - need3dFix, - isWebView - }; - } - function getBrowser() { - if (!browser) { - browser = calcBrowser(); - } - return browser; - } - - function Resize(_ref) { - let { - swiper, - on, - emit - } = _ref; - const window = getWindow(); - let observer = null; - let animationFrame = null; - const resizeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('beforeResize'); - emit('resize'); - }; - const createObserver = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - observer = new ResizeObserver(entries => { - animationFrame = window.requestAnimationFrame(() => { - const { - width, - height - } = swiper; - let newWidth = width; - let newHeight = height; - entries.forEach(_ref2 => { - let { - contentBoxSize, - contentRect, - target - } = _ref2; - if (target && target !== swiper.el) return; - newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize; - newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize; - }); - if (newWidth !== width || newHeight !== height) { - resizeHandler(); - } - }); - }); - observer.observe(swiper.el); - }; - const removeObserver = () => { - if (animationFrame) { - window.cancelAnimationFrame(animationFrame); - } - if (observer && observer.unobserve && swiper.el) { - observer.unobserve(swiper.el); - observer = null; - } - }; - const orientationChangeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('orientationchange'); - }; - on('init', () => { - if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') { - createObserver(); - return; - } - window.addEventListener('resize', resizeHandler); - window.addEventListener('orientationchange', orientationChangeHandler); - }); - on('destroy', () => { - removeObserver(); - window.removeEventListener('resize', resizeHandler); - window.removeEventListener('orientationchange', orientationChangeHandler); - }); - } - - function Observer(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const observers = []; - const window = getWindow(); - const attach = function (target, options) { - if (options === void 0) { - options = {}; - } - const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; - const observer = new ObserverFunc(mutations => { - // The observerUpdate event should only be triggered - // once despite the number of mutations. Additional - // triggers are redundant and are very costly - if (swiper.__preventObserver__) return; - if (mutations.length === 1) { - emit('observerUpdate', mutations[0]); - return; - } - const observerUpdate = function observerUpdate() { - emit('observerUpdate', mutations[0]); - }; - if (window.requestAnimationFrame) { - window.requestAnimationFrame(observerUpdate); - } else { - window.setTimeout(observerUpdate, 0); - } - }); - observer.observe(target, { - attributes: typeof options.attributes === 'undefined' ? true : options.attributes, - childList: typeof options.childList === 'undefined' ? true : options.childList, - characterData: typeof options.characterData === 'undefined' ? true : options.characterData - }); - observers.push(observer); - }; - const init = () => { - if (!swiper.params.observer) return; - if (swiper.params.observeParents) { - const containerParents = elementParents(swiper.hostEl); - for (let i = 0; i < containerParents.length; i += 1) { - attach(containerParents[i]); - } - } - // Observe container - attach(swiper.hostEl, { - childList: swiper.params.observeSlideChildren - }); - - // Observe wrapper - attach(swiper.wrapperEl, { - attributes: false - }); - }; - const destroy = () => { - observers.forEach(observer => { - observer.disconnect(); - }); - observers.splice(0, observers.length); - }; - extendParams({ - observer: false, - observeParents: false, - observeSlideChildren: false - }); - on('init', init); - on('destroy', destroy); - } - - /* eslint-disable no-underscore-dangle */ - - var eventsEmitter = { - on(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - events.split(' ').forEach(event => { - if (!self.eventsListeners[event]) self.eventsListeners[event] = []; - self.eventsListeners[event][method](handler); - }); - return self; - }, - once(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - function onceHandler() { - self.off(events, onceHandler); - if (onceHandler.__emitterProxy) { - delete onceHandler.__emitterProxy; - } - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - handler.apply(self, args); - } - onceHandler.__emitterProxy = handler; - return self.on(events, onceHandler, priority); - }, - onAny(handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - if (self.eventsAnyListeners.indexOf(handler) < 0) { - self.eventsAnyListeners[method](handler); - } - return self; - }, - offAny(handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsAnyListeners) return self; - const index = self.eventsAnyListeners.indexOf(handler); - if (index >= 0) { - self.eventsAnyListeners.splice(index, 1); - } - return self; - }, - off(events, handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - events.split(' ').forEach(event => { - if (typeof handler === 'undefined') { - self.eventsListeners[event] = []; - } else if (self.eventsListeners[event]) { - self.eventsListeners[event].forEach((eventHandler, index) => { - if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) { - self.eventsListeners[event].splice(index, 1); - } - }); - } - }); - return self; - }, - emit() { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - let events; - let data; - let context; - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - if (typeof args[0] === 'string' || Array.isArray(args[0])) { - events = args[0]; - data = args.slice(1, args.length); - context = self; - } else { - events = args[0].events; - data = args[0].data; - context = args[0].context || self; - } - data.unshift(context); - const eventsArray = Array.isArray(events) ? events : events.split(' '); - eventsArray.forEach(event => { - if (self.eventsAnyListeners && self.eventsAnyListeners.length) { - self.eventsAnyListeners.forEach(eventHandler => { - eventHandler.apply(context, [event, ...data]); - }); - } - if (self.eventsListeners && self.eventsListeners[event]) { - self.eventsListeners[event].forEach(eventHandler => { - eventHandler.apply(context, data); - }); - } - }); - return self; - } - }; - - function updateSize() { - const swiper = this; - let width; - let height; - const el = swiper.el; - if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) { - width = swiper.params.width; - } else { - width = el.clientWidth; - } - if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) { - height = swiper.params.height; - } else { - height = el.clientHeight; - } - if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) { - return; - } - - // Subtract paddings - width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10); - height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10); - if (Number.isNaN(width)) width = 0; - if (Number.isNaN(height)) height = 0; - Object.assign(swiper, { - width, - height, - size: swiper.isHorizontal() ? width : height - }); - } - - function updateSlides() { - const swiper = this; - function getDirectionPropertyValue(node, label) { - return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0); - } - const params = swiper.params; - const { - wrapperEl, - slidesEl, - size: swiperSize, - rtlTranslate: rtl, - wrongRTL - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; - const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`); - const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; - let snapGrid = []; - const slidesGrid = []; - const slidesSizesGrid = []; - let offsetBefore = params.slidesOffsetBefore; - if (typeof offsetBefore === 'function') { - offsetBefore = params.slidesOffsetBefore.call(swiper); - } - let offsetAfter = params.slidesOffsetAfter; - if (typeof offsetAfter === 'function') { - offsetAfter = params.slidesOffsetAfter.call(swiper); - } - const previousSnapGridLength = swiper.snapGrid.length; - const previousSlidesGridLength = swiper.slidesGrid.length; - let spaceBetween = params.spaceBetween; - let slidePosition = -offsetBefore; - let prevSlideSize = 0; - let index = 0; - if (typeof swiperSize === 'undefined') { - return; - } - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - swiper.virtualSize = -spaceBetween; - - // reset margins - slides.forEach(slideEl => { - if (rtl) { - slideEl.style.marginLeft = ''; - } else { - slideEl.style.marginRight = ''; - } - slideEl.style.marginBottom = ''; - slideEl.style.marginTop = ''; - }); - - // reset cssMode offsets - if (params.centeredSlides && params.cssMode) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', ''); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', ''); - } - const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid; - if (gridEnabled) { - swiper.grid.initSlides(slides); - } else if (swiper.grid) { - swiper.grid.unsetSlides(); - } - - // Calc slides - let slideSize; - const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => { - return typeof params.breakpoints[key].slidesPerView !== 'undefined'; - }).length > 0; - for (let i = 0; i < slidesLength; i += 1) { - slideSize = 0; - let slide; - if (slides[i]) slide = slides[i]; - if (gridEnabled) { - swiper.grid.updateSlide(i, slide, slides); - } - if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line - - if (params.slidesPerView === 'auto') { - if (shouldResetSlideSize) { - slides[i].style[swiper.getDirectionLabel('width')] = ``; - } - const slideStyles = getComputedStyle(slide); - const currentTransform = slide.style.transform; - const currentWebKitTransform = slide.style.webkitTransform; - if (currentTransform) { - slide.style.transform = 'none'; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = 'none'; - } - if (params.roundLengths) { - slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true); - } else { - // eslint-disable-next-line - const width = getDirectionPropertyValue(slideStyles, 'width'); - const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left'); - const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right'); - const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left'); - const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right'); - const boxSizing = slideStyles.getPropertyValue('box-sizing'); - if (boxSizing && boxSizing === 'border-box') { - slideSize = width + marginLeft + marginRight; - } else { - const { - clientWidth, - offsetWidth - } = slide; - slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth); - } - } - if (currentTransform) { - slide.style.transform = currentTransform; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = currentWebKitTransform; - } - if (params.roundLengths) slideSize = Math.floor(slideSize); - } else { - slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView; - if (params.roundLengths) slideSize = Math.floor(slideSize); - if (slides[i]) { - slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`; - } - } - if (slides[i]) { - slides[i].swiperSlideSize = slideSize; - } - slidesSizesGrid.push(slideSize); - if (params.centeredSlides) { - slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; - if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - } else { - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - slidePosition = slidePosition + slideSize + spaceBetween; - } - swiper.virtualSize += slideSize + spaceBetween; - prevSlideSize = slideSize; - index += 1; - } - swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; - if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { - wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`; - } - if (params.setWrapperSize) { - wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; - } - if (gridEnabled) { - swiper.grid.updateWrapperSize(slideSize, snapGrid); - } - - // Remove last grid elements depending on width - if (!params.centeredSlides) { - const newSlidesGrid = []; - for (let i = 0; i < snapGrid.length; i += 1) { - let slidesGridItem = snapGrid[i]; - if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem); - if (snapGrid[i] <= swiper.virtualSize - swiperSize) { - newSlidesGrid.push(slidesGridItem); - } - } - snapGrid = newSlidesGrid; - if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { - snapGrid.push(swiper.virtualSize - swiperSize); - } - } - if (isVirtual && params.loop) { - const size = slidesSizesGrid[0] + spaceBetween; - if (params.slidesPerGroup > 1) { - const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup); - const groupSize = size * params.slidesPerGroup; - for (let i = 0; i < groups; i += 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize); - } - } - for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) { - if (params.slidesPerGroup === 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + size); - } - slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size); - swiper.virtualSize += size; - } - } - if (snapGrid.length === 0) snapGrid = [0]; - if (spaceBetween !== 0) { - const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight'); - slides.filter((_, slideIndex) => { - if (!params.cssMode || params.loop) return true; - if (slideIndex === slides.length - 1) { - return false; - } - return true; - }).forEach(slideEl => { - slideEl.style[key] = `${spaceBetween}px`; - }); - } - if (params.centeredSlides && params.centeredSlidesBounds) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const maxSnap = allSlidesSize - swiperSize; - snapGrid = snapGrid.map(snap => { - if (snap <= 0) return -offsetBefore; - if (snap > maxSnap) return maxSnap + offsetAfter; - return snap; - }); - } - if (params.centerInsufficientSlides) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0); - if (allSlidesSize + offsetSize < swiperSize) { - const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2; - snapGrid.forEach((snap, snapIndex) => { - snapGrid[snapIndex] = snap - allSlidesOffset; - }); - slidesGrid.forEach((snap, snapIndex) => { - slidesGrid[snapIndex] = snap + allSlidesOffset; - }); - } - } - Object.assign(swiper, { - slides, - snapGrid, - slidesGrid, - slidesSizesGrid - }); - if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`); - const addToSnapGrid = -swiper.snapGrid[0]; - const addToSlidesGrid = -swiper.slidesGrid[0]; - swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid); - swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid); - } - if (slidesLength !== previousSlidesLength) { - swiper.emit('slidesLengthChange'); - } - if (snapGrid.length !== previousSnapGridLength) { - if (swiper.params.watchOverflow) swiper.checkOverflow(); - swiper.emit('snapGridLengthChange'); - } - if (slidesGrid.length !== previousSlidesGridLength) { - swiper.emit('slidesGridLengthChange'); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - swiper.emit('slidesUpdated'); - if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) { - const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`; - const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass); - if (slidesLength <= params.maxBackfaceHiddenSlides) { - if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass); - } else if (hasClassBackfaceClassAdded) { - swiper.el.classList.remove(backFaceHiddenClass); - } - } - } - - function updateAutoHeight(speed) { - const swiper = this; - const activeSlides = []; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - let newHeight = 0; - let i; - if (typeof speed === 'number') { - swiper.setTransition(speed); - } else if (speed === true) { - swiper.setTransition(swiper.params.speed); - } - const getSlideByIndex = index => { - if (isVirtual) { - return swiper.slides[swiper.getSlideIndexByData(index)]; - } - return swiper.slides[index]; - }; - // Find slides currently in view - if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { - if (swiper.params.centeredSlides) { - (swiper.visibleSlides || []).forEach(slide => { - activeSlides.push(slide); - }); - } else { - for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { - const index = swiper.activeIndex + i; - if (index > swiper.slides.length && !isVirtual) break; - activeSlides.push(getSlideByIndex(index)); - } - } - } else { - activeSlides.push(getSlideByIndex(swiper.activeIndex)); - } - - // Find new height from highest slide in view - for (i = 0; i < activeSlides.length; i += 1) { - if (typeof activeSlides[i] !== 'undefined') { - const height = activeSlides[i].offsetHeight; - newHeight = height > newHeight ? height : newHeight; - } - } - - // Update Height - if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`; - } - - function updateSlidesOffset() { - const swiper = this; - const slides = swiper.slides; - // eslint-disable-next-line - const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0; - for (let i = 0; i < slides.length; i += 1) { - slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment(); - } - } - - const toggleSlideClasses$1 = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } - }; - function updateSlidesProgress(translate) { - if (translate === void 0) { - translate = this && this.translate || 0; - } - const swiper = this; - const params = swiper.params; - const { - slides, - rtlTranslate: rtl, - snapGrid - } = swiper; - if (slides.length === 0) return; - if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); - let offsetCenter = -translate; - if (rtl) offsetCenter = translate; - swiper.visibleSlidesIndexes = []; - swiper.visibleSlides = []; - let spaceBetween = params.spaceBetween; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - for (let i = 0; i < slides.length; i += 1) { - const slide = slides[i]; - let slideOffset = slide.swiperSlideOffset; - if (params.cssMode && params.centeredSlides) { - slideOffset -= slides[0].swiperSlideOffset; - } - const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const slideBefore = -(offsetCenter - slideOffset); - const slideAfter = slideBefore + swiper.slidesSizesGrid[i]; - const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i]; - const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size; - if (isVisible) { - swiper.visibleSlides.push(slide); - swiper.visibleSlidesIndexes.push(i); - } - toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass); - toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass); - slide.progress = rtl ? -slideProgress : slideProgress; - slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; - } - } - - function updateProgress(translate) { - const swiper = this; - if (typeof translate === 'undefined') { - const multiplier = swiper.rtlTranslate ? -1 : 1; - // eslint-disable-next-line - translate = swiper && swiper.translate && swiper.translate * multiplier || 0; - } - const params = swiper.params; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - let { - progress, - isBeginning, - isEnd, - progressLoop - } = swiper; - const wasBeginning = isBeginning; - const wasEnd = isEnd; - if (translatesDiff === 0) { - progress = 0; - isBeginning = true; - isEnd = true; - } else { - progress = (translate - swiper.minTranslate()) / translatesDiff; - const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1; - const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1; - isBeginning = isBeginningRounded || progress <= 0; - isEnd = isEndRounded || progress >= 1; - if (isBeginningRounded) progress = 0; - if (isEndRounded) progress = 1; - } - if (params.loop) { - const firstSlideIndex = swiper.getSlideIndexByData(0); - const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1); - const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex]; - const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex]; - const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1]; - const translateAbs = Math.abs(translate); - if (translateAbs >= firstSlideTranslate) { - progressLoop = (translateAbs - firstSlideTranslate) / translateMax; - } else { - progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax; - } - if (progressLoop > 1) progressLoop -= 1; - } - Object.assign(swiper, { - progress, - progressLoop, - isBeginning, - isEnd - }); - if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate); - if (isBeginning && !wasBeginning) { - swiper.emit('reachBeginning toEdge'); - } - if (isEnd && !wasEnd) { - swiper.emit('reachEnd toEdge'); - } - if (wasBeginning && !isBeginning || wasEnd && !isEnd) { - swiper.emit('fromEdge'); - } - swiper.emit('progress', progress); - } - - const toggleSlideClasses = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } - }; - function updateSlidesClasses() { - const swiper = this; - const { - slides, - params, - slidesEl, - activeIndex - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const getFilteredSlide = selector => { - return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0]; - }; - let activeSlide; - let prevSlide; - let nextSlide; - if (isVirtual) { - if (params.loop) { - let slideIndex = activeIndex - swiper.virtual.slidesBefore; - if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex; - if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length; - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`); - } else { - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`); - } - } else { - if (gridEnabled) { - activeSlide = slides.filter(slideEl => slideEl.column === activeIndex)[0]; - nextSlide = slides.filter(slideEl => slideEl.column === activeIndex + 1)[0]; - prevSlide = slides.filter(slideEl => slideEl.column === activeIndex - 1)[0]; - } else { - activeSlide = slides[activeIndex]; - } - } - if (activeSlide) { - if (!gridEnabled) { - // Next Slide - nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !nextSlide) { - nextSlide = slides[0]; - } - - // Prev Slide - prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !prevSlide === 0) { - prevSlide = slides[slides.length - 1]; - } - } - } - slides.forEach(slideEl => { - toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass); - toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass); - toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass); - }); - swiper.emitSlidesClasses(); - } - - const processLazyPreloader = (swiper, imageEl) => { - if (!swiper || swiper.destroyed || !swiper.params) return; - const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; - const slideEl = imageEl.closest(slideSelector()); - if (slideEl) { - let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (!lazyEl && swiper.isElement) { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - } else { - // init later - requestAnimationFrame(() => { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (lazyEl) lazyEl.remove(); - } - }); - } - } - if (lazyEl) lazyEl.remove(); - } - }; - const unlazy = (swiper, index) => { - if (!swiper.slides[index]) return; - const imageEl = swiper.slides[index].querySelector('[loading="lazy"]'); - if (imageEl) imageEl.removeAttribute('loading'); - }; - const preload = swiper => { - if (!swiper || swiper.destroyed || !swiper.params) return; - let amount = swiper.params.lazyPreloadPrevNext; - const len = swiper.slides.length; - if (!len || !amount || amount < 0) return; - amount = Math.min(amount, len); - const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView); - const activeIndex = swiper.activeIndex; - if (swiper.params.grid && swiper.params.grid.rows > 1) { - const activeColumn = activeIndex; - const preloadColumns = [activeColumn - amount]; - preloadColumns.push(...Array.from({ - length: amount - }).map((_, i) => { - return activeColumn + slidesPerView + i; - })); - swiper.slides.forEach((slideEl, i) => { - if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i); - }); - return; - } - const slideIndexLastInView = activeIndex + slidesPerView - 1; - if (swiper.params.rewind || swiper.params.loop) { - for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) { - const realIndex = (i % len + len) % len; - if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex); - } - } else { - for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) { - if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) { - unlazy(swiper, i); - } - } - } - }; - - function getActiveIndexByTranslate(swiper) { - const { - slidesGrid, - params - } = swiper; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - let activeIndex; - for (let i = 0; i < slidesGrid.length; i += 1) { - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) { - activeIndex = i; - } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { - activeIndex = i + 1; - } - } else if (translate >= slidesGrid[i]) { - activeIndex = i; - } - } - // Normalize slideIndex - if (params.normalizeSlideIndex) { - if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0; - } - return activeIndex; - } - function updateActiveIndex(newActiveIndex) { - const swiper = this; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - const { - snapGrid, - params, - activeIndex: previousIndex, - realIndex: previousRealIndex, - snapIndex: previousSnapIndex - } = swiper; - let activeIndex = newActiveIndex; - let snapIndex; - const getVirtualRealIndex = aIndex => { - let realIndex = aIndex - swiper.virtual.slidesBefore; - if (realIndex < 0) { - realIndex = swiper.virtual.slides.length + realIndex; - } - if (realIndex >= swiper.virtual.slides.length) { - realIndex -= swiper.virtual.slides.length; - } - return realIndex; - }; - if (typeof activeIndex === 'undefined') { - activeIndex = getActiveIndexByTranslate(swiper); - } - if (snapGrid.indexOf(translate) >= 0) { - snapIndex = snapGrid.indexOf(translate); - } else { - const skip = Math.min(params.slidesPerGroupSkip, activeIndex); - snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup); - } - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - if (activeIndex === previousIndex && !swiper.params.loop) { - if (snapIndex !== previousSnapIndex) { - swiper.snapIndex = snapIndex; - swiper.emit('snapIndexChange'); - } - return; - } - if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.realIndex = getVirtualRealIndex(activeIndex); - return; - } - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - - // Get real index - let realIndex; - if (swiper.virtual && params.virtual.enabled && params.loop) { - realIndex = getVirtualRealIndex(activeIndex); - } else if (gridEnabled) { - const firstSlideInColumn = swiper.slides.filter(slideEl => slideEl.column === activeIndex)[0]; - let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10); - if (Number.isNaN(activeSlideIndex)) { - activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0); - } - realIndex = Math.floor(activeSlideIndex / params.grid.rows); - } else if (swiper.slides[activeIndex]) { - const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index'); - if (slideIndex) { - realIndex = parseInt(slideIndex, 10); - } else { - realIndex = activeIndex; - } - } else { - realIndex = activeIndex; - } - Object.assign(swiper, { - previousSnapIndex, - snapIndex, - previousRealIndex, - realIndex, - previousIndex, - activeIndex - }); - if (swiper.initialized) { - preload(swiper); - } - swiper.emit('activeIndexChange'); - swiper.emit('snapIndexChange'); - if (swiper.initialized || swiper.params.runCallbacksOnInit) { - if (previousRealIndex !== realIndex) { - swiper.emit('realIndexChange'); - } - swiper.emit('slideChange'); - } - } - - function updateClickedSlide(el, path) { - const swiper = this; - const params = swiper.params; - let slide = el.closest(`.${params.slideClass}, swiper-slide`); - if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) { - [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => { - if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) { - slide = pathEl; - } - }); - } - let slideFound = false; - let slideIndex; - if (slide) { - for (let i = 0; i < swiper.slides.length; i += 1) { - if (swiper.slides[i] === slide) { - slideFound = true; - slideIndex = i; - break; - } - } - } - if (slide && slideFound) { - swiper.clickedSlide = slide; - if (swiper.virtual && swiper.params.virtual.enabled) { - swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10); - } else { - swiper.clickedIndex = slideIndex; - } - } else { - swiper.clickedSlide = undefined; - swiper.clickedIndex = undefined; - return; - } - if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { - swiper.slideToClickedSlide(); - } - } - - var update = { - updateSize, - updateSlides, - updateAutoHeight, - updateSlidesOffset, - updateSlidesProgress, - updateProgress, - updateSlidesClasses, - updateActiveIndex, - updateClickedSlide - }; - - function getSwiperTranslate(axis) { - if (axis === void 0) { - axis = this.isHorizontal() ? 'x' : 'y'; - } - const swiper = this; - const { - params, - rtlTranslate: rtl, - translate, - wrapperEl - } = swiper; - if (params.virtualTranslate) { - return rtl ? -translate : translate; - } - if (params.cssMode) { - return translate; - } - let currentTranslate = getTranslate(wrapperEl, axis); - currentTranslate += swiper.cssOverflowAdjustment(); - if (rtl) currentTranslate = -currentTranslate; - return currentTranslate || 0; - } - - function setTranslate(translate, byController) { - const swiper = this; - const { - rtlTranslate: rtl, - params, - wrapperEl, - progress - } = swiper; - let x = 0; - let y = 0; - const z = 0; - if (swiper.isHorizontal()) { - x = rtl ? -translate : translate; - } else { - y = translate; - } - if (params.roundLengths) { - x = Math.floor(x); - y = Math.floor(y); - } - swiper.previousTranslate = swiper.translate; - swiper.translate = swiper.isHorizontal() ? x : y; - if (params.cssMode) { - wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y; - } else if (!params.virtualTranslate) { - if (swiper.isHorizontal()) { - x -= swiper.cssOverflowAdjustment(); - } else { - y -= swiper.cssOverflowAdjustment(); - } - wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`; - } - - // Check if we need to update progress - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== progress) { - swiper.updateProgress(translate); - } - swiper.emit('setTranslate', swiper.translate, byController); - } - - function minTranslate() { - return -this.snapGrid[0]; - } - - function maxTranslate() { - return -this.snapGrid[this.snapGrid.length - 1]; - } - - function translateTo(translate, speed, runCallbacks, translateBounds, internal) { - if (translate === void 0) { - translate = 0; - } - if (speed === void 0) { - speed = this.params.speed; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (translateBounds === void 0) { - translateBounds = true; - } - const swiper = this; - const { - params, - wrapperEl - } = swiper; - if (swiper.animating && params.preventInteractionOnTransition) { - return false; - } - const minTranslate = swiper.minTranslate(); - const maxTranslate = swiper.maxTranslate(); - let newTranslate; - if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; - - // Update progress - swiper.updateProgress(newTranslate); - if (params.cssMode) { - const isH = swiper.isHorizontal(); - if (speed === 0) { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: -newTranslate, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: -newTranslate, - behavior: 'smooth' - }); - } - return true; - } - if (speed === 0) { - swiper.setTransition(0); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionEnd'); - } - } else { - swiper.setTransition(speed); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionStart'); - } - if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onTranslateToWrapperTransitionEnd) { - swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - swiper.onTranslateToWrapperTransitionEnd = null; - delete swiper.onTranslateToWrapperTransitionEnd; - swiper.animating = false; - if (runCallbacks) { - swiper.emit('transitionEnd'); - } - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - } - } - return true; - } - - var translate = { - getTranslate: getSwiperTranslate, - setTranslate, - minTranslate, - maxTranslate, - translateTo - }; - - function setTransition(duration, byController) { - const swiper = this; - if (!swiper.params.cssMode) { - swiper.wrapperEl.style.transitionDuration = `${duration}ms`; - swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : ''; - } - swiper.emit('setTransition', duration, byController); - } - - function transitionEmit(_ref) { - let { - swiper, - runCallbacks, - direction, - step - } = _ref; - const { - activeIndex, - previousIndex - } = swiper; - let dir = direction; - if (!dir) { - if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; - } - swiper.emit(`transition${step}`); - if (runCallbacks && activeIndex !== previousIndex) { - if (dir === 'reset') { - swiper.emit(`slideResetTransition${step}`); - return; - } - swiper.emit(`slideChangeTransition${step}`); - if (dir === 'next') { - swiper.emit(`slideNextTransition${step}`); - } else { - swiper.emit(`slidePrevTransition${step}`); - } - } - } - - function transitionStart(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - if (params.cssMode) return; - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'Start' - }); - } - - function transitionEnd(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - swiper.animating = false; - if (params.cssMode) return; - swiper.setTransition(0); - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'End' - }); - } - - var transition = { - setTransition, - transitionStart, - transitionEnd - }; - - function slideTo(index, speed, runCallbacks, internal, initial) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - index = parseInt(index, 10); - } - const swiper = this; - let slideIndex = index; - if (slideIndex < 0) slideIndex = 0; - const { - params, - snapGrid, - slidesGrid, - previousIndex, - activeIndex, - rtlTranslate: rtl, - wrapperEl, - enabled - } = swiper; - if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) { - return false; - } - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex); - let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup); - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - const translate = -snapGrid[snapIndex]; - // Normalize slideIndex - if (params.normalizeSlideIndex) { - for (let i = 0; i < slidesGrid.length; i += 1) { - const normalizedTranslate = -Math.floor(translate * 100); - const normalizedGrid = Math.floor(slidesGrid[i] * 100); - const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100); - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) { - slideIndex = i; - } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) { - slideIndex = i + 1; - } - } else if (normalizedTranslate >= normalizedGrid) { - slideIndex = i; - } - } - } - // Directions locks - if (swiper.initialized && slideIndex !== activeIndex) { - if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) { - return false; - } - if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { - if ((activeIndex || 0) !== slideIndex) { - return false; - } - } - } - if (slideIndex !== (previousIndex || 0) && runCallbacks) { - swiper.emit('beforeSlideChangeStart'); - } - - // Update progress - swiper.updateProgress(translate); - let direction; - if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; - - // Update Index - if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) { - swiper.updateActiveIndex(slideIndex); - // Update Height - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - swiper.updateSlidesClasses(); - if (params.effect !== 'slide') { - swiper.setTranslate(translate); - } - if (direction !== 'reset') { - swiper.transitionStart(runCallbacks, direction); - swiper.transitionEnd(runCallbacks, direction); - } - return false; - } - if (params.cssMode) { - const isH = swiper.isHorizontal(); - const t = rtl ? translate : -translate; - if (speed === 0) { - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - if (isVirtual) { - swiper.wrapperEl.style.scrollSnapType = 'none'; - swiper._immediateVirtual = true; - } - if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) { - swiper._cssModeVirtualInitialSet = true; - requestAnimationFrame(() => { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - }); - } else { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - } - if (isVirtual) { - requestAnimationFrame(() => { - swiper.wrapperEl.style.scrollSnapType = ''; - swiper._immediateVirtual = false; - }); - } - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: t, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: t, - behavior: 'smooth' - }); - } - return true; - } - swiper.setTransition(speed); - swiper.setTranslate(translate); - swiper.updateActiveIndex(slideIndex); - swiper.updateSlidesClasses(); - swiper.emit('beforeTransitionStart', speed, internal); - swiper.transitionStart(runCallbacks, direction); - if (speed === 0) { - swiper.transitionEnd(runCallbacks, direction); - } else if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onSlideToWrapperTransitionEnd) { - swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - swiper.onSlideToWrapperTransitionEnd = null; - delete swiper.onSlideToWrapperTransitionEnd; - swiper.transitionEnd(runCallbacks, direction); - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - } - return true; - } - - function slideToLoop(index, speed, runCallbacks, internal) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - const indexAsNumber = parseInt(index, 10); - index = indexAsNumber; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1; - let newIndex = index; - if (swiper.params.loop) { - if (swiper.virtual && swiper.params.virtual.enabled) { - // eslint-disable-next-line - newIndex = newIndex + swiper.virtual.slidesBefore; - } else { - let targetSlideIndex; - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - targetSlideIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - targetSlideIndex = swiper.getSlideIndexByData(newIndex); - } - const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length; - const { - centeredSlides - } = swiper.params; - let slidesPerView = swiper.params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - let needLoopFix = cols - targetSlideIndex < slidesPerView; - if (centeredSlides) { - needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2); - } - if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) { - needLoopFix = false; - } - if (needLoopFix) { - const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev'; - swiper.loopFix({ - direction, - slideTo: true, - activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1, - slideRealIndex: direction === 'next' ? swiper.realIndex : undefined - }); - } - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - newIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - newIndex = swiper.getSlideIndexByData(newIndex); - } - } - } - requestAnimationFrame(() => { - swiper.slideTo(newIndex, speed, runCallbacks, internal); - }); - return swiper; - } - - /* eslint no-unused-vars: "off" */ - function slideNext(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - enabled, - params, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let perGroup = params.slidesPerGroup; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1); - } - const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup; - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'next' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); - }); - return true; - } - } - if (params.rewind && swiper.isEnd) { - return swiper.slideTo(0, speed, runCallbacks, internal); - } - return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slidePrev(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params, - snapGrid, - slidesGrid, - rtlTranslate, - enabled, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'prev' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - } - const translate = rtlTranslate ? swiper.translate : -swiper.translate; - function normalize(val) { - if (val < 0) return -Math.floor(Math.abs(val)); - return Math.floor(val); - } - const normalizedTranslate = normalize(translate); - const normalizedSnapGrid = snapGrid.map(val => normalize(val)); - let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; - if (typeof prevSnap === 'undefined' && params.cssMode) { - let prevSnapIndex; - snapGrid.forEach((snap, snapIndex) => { - if (normalizedTranslate >= snap) { - // prevSnap = snap; - prevSnapIndex = snapIndex; - } - }); - if (typeof prevSnapIndex !== 'undefined') { - prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex]; - } - } - let prevIndex = 0; - if (typeof prevSnap !== 'undefined') { - prevIndex = slidesGrid.indexOf(prevSnap); - if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; - prevIndex = Math.max(prevIndex, 0); - } - } - if (params.rewind && swiper.isBeginning) { - const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - return swiper.slideTo(lastIndex, speed, runCallbacks, internal); - } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(prevIndex, speed, runCallbacks, internal); - }); - return true; - } - return swiper.slideTo(prevIndex, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slideReset(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slideToClosest(speed, runCallbacks, internal, threshold) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (threshold === void 0) { - threshold = 0.5; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let index = swiper.activeIndex; - const skip = Math.min(swiper.params.slidesPerGroupSkip, index); - const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - if (translate >= swiper.snapGrid[snapIndex]) { - // The current translate is on or after the current snap index, so the choice - // is between the current index and the one after it. - const currentSnap = swiper.snapGrid[snapIndex]; - const nextSnap = swiper.snapGrid[snapIndex + 1]; - if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { - index += swiper.params.slidesPerGroup; - } - } else { - // The current translate is before the current snap index, so the choice - // is between the current index and the one before it. - const prevSnap = swiper.snapGrid[snapIndex - 1]; - const currentSnap = swiper.snapGrid[snapIndex]; - if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { - index -= swiper.params.slidesPerGroup; - } - } - index = Math.max(index, 0); - index = Math.min(index, swiper.slidesGrid.length - 1); - return swiper.slideTo(index, speed, runCallbacks, internal); - } - - function slideToClickedSlide() { - const swiper = this; - if (swiper.destroyed) return; - const { - params, - slidesEl - } = swiper; - const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; - let slideToIndex = swiper.clickedIndex; - let realIndex; - const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`; - if (params.loop) { - if (swiper.animating) return; - realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); - if (params.centeredSlides) { - if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else if (slideToIndex > swiper.slides.length - slidesPerView) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else { - swiper.slideTo(slideToIndex); - } - } - - var slide = { - slideTo, - slideToLoop, - slideNext, - slidePrev, - slideReset, - slideToClosest, - slideToClickedSlide - }; - - function loopCreate(slideRealIndex) { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - const initSlides = () => { - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - slides.forEach((el, index) => { - el.setAttribute('data-swiper-slide-index', index); - }); - }; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1); - const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0; - const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0; - const addBlankSlides = amountOfSlides => { - for (let i = 0; i < amountOfSlides; i += 1) { - const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]); - swiper.slidesEl.append(slideEl); - } - }; - if (shouldFillGroup) { - if (params.loopAddBlankSlides) { - const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else if (shouldFillGrid) { - if (params.loopAddBlankSlides) { - const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else { - initSlides(); - } - swiper.loopFix({ - slideRealIndex, - direction: params.centeredSlides ? undefined : 'next' - }); - } - - function loopFix(_temp) { - let { - slideRealIndex, - slideTo = true, - direction, - setTranslate, - activeSlideIndex, - byController, - byMousewheel - } = _temp === void 0 ? {} : _temp; - const swiper = this; - if (!swiper.params.loop) return; - swiper.emit('beforeLoopFix'); - const { - slides, - allowSlidePrev, - allowSlideNext, - slidesEl, - params - } = swiper; - const { - centeredSlides - } = params; - swiper.allowSlidePrev = true; - swiper.allowSlideNext = true; - if (swiper.virtual && params.virtual.enabled) { - if (slideTo) { - if (!params.centeredSlides && swiper.snapIndex === 0) { - swiper.slideTo(swiper.virtual.slides.length, 0, false, true); - } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) { - swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true); - } else if (swiper.snapIndex === swiper.snapGrid.length - 1) { - swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true); - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - swiper.emit('loopFix'); - return; - } - let slidesPerView = params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup; - let loopedSlides = slidesPerGroup; - if (loopedSlides % slidesPerGroup !== 0) { - loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup; - } - loopedSlides += params.loopAdditionalSlides; - swiper.loopedSlides = loopedSlides; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - if (slides.length < slidesPerView + loopedSlides) { - showWarning('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'); - } else if (gridEnabled && params.grid.fill === 'row') { - showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`'); - } - const prependSlidesIndexes = []; - const appendSlidesIndexes = []; - let activeIndex = swiper.activeIndex; - if (typeof activeSlideIndex === 'undefined') { - activeSlideIndex = swiper.getSlideIndex(slides.filter(el => el.classList.contains(params.slideActiveClass))[0]); - } else { - activeIndex = activeSlideIndex; - } - const isNext = direction === 'next' || !direction; - const isPrev = direction === 'prev' || !direction; - let slidesPrepended = 0; - let slidesAppended = 0; - const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length; - const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex; - const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0); - // prepend last slides before start - if (activeColIndexWithShift < loopedSlides) { - slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup); - for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - const colIndexToPrepend = cols - index - 1; - for (let i = slides.length - 1; i >= 0; i -= 1) { - if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i); - } - // slides.forEach((slide, slideIndex) => { - // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex); - // }); - } else { - prependSlidesIndexes.push(cols - index - 1); - } - } - } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) { - slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup); - for (let i = 0; i < slidesAppended; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - slides.forEach((slide, slideIndex) => { - if (slide.column === index) appendSlidesIndexes.push(slideIndex); - }); - } else { - appendSlidesIndexes.push(index); - } - } - } - swiper.__preventObserver__ = true; - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - if (isPrev) { - prependSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.prepend(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - if (isNext) { - appendSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.append(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - swiper.recalcSlides(); - if (params.slidesPerView === 'auto') { - swiper.updateSlides(); - } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) { - swiper.slides.forEach((slide, slideIndex) => { - swiper.grid.updateSlide(slideIndex, slide, swiper.slides); - }); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - if (slideTo) { - if (prependSlidesIndexes.length > 0 && isPrev) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - if (setTranslate) { - const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex + shift, 0, false, true); - swiper.touchEventsData.currentTranslate = swiper.translate; - } - } - } else if (appendSlidesIndexes.length > 0 && isNext) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex - slidesAppended, 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex - shift, 0, false, true); - } - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.controller && swiper.controller.control && !byController) { - const loopParams = { - slideRealIndex, - direction, - setTranslate, - activeSlideIndex, - byController: true - }; - if (Array.isArray(swiper.controller.control)) { - swiper.controller.control.forEach(c => { - if (!c.destroyed && c.params.loop) c.loopFix({ - ...loopParams, - slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - }); - } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) { - swiper.controller.control.loopFix({ - ...loopParams, - slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - } - } - swiper.emit('loopFix'); - } - - function loopDestroy() { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - swiper.recalcSlides(); - const newSlidesOrder = []; - swiper.slides.forEach(slideEl => { - const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex; - newSlidesOrder[index] = slideEl; - }); - swiper.slides.forEach(slideEl => { - slideEl.removeAttribute('data-swiper-slide-index'); - }); - newSlidesOrder.forEach(slideEl => { - slidesEl.append(slideEl); - }); - swiper.recalcSlides(); - swiper.slideTo(swiper.realIndex, 0); - } - - var loop = { - loopCreate, - loopFix, - loopDestroy - }; - - function setGrabCursor(moving) { - const swiper = this; - if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return; - const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl; - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - el.style.cursor = 'move'; - el.style.cursor = moving ? 'grabbing' : 'grab'; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } - } - - function unsetGrabCursor() { - const swiper = this; - if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) { - return; - } - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = ''; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } - } - - var grabCursor = { - setGrabCursor, - unsetGrabCursor - }; - - // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd - function closestElement(selector, base) { - if (base === void 0) { - base = this; - } - function __closestFrom(el) { - if (!el || el === getDocument() || el === getWindow()) return null; - if (el.assignedSlot) el = el.assignedSlot; - const found = el.closest(selector); - if (!found && !el.getRootNode) { - return null; - } - return found || __closestFrom(el.getRootNode().host); - } - return __closestFrom(base); - } - function preventEdgeSwipe(swiper, event, startX) { - const window = getWindow(); - const { - params - } = swiper; - const edgeSwipeDetection = params.edgeSwipeDetection; - const edgeSwipeThreshold = params.edgeSwipeThreshold; - if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) { - if (edgeSwipeDetection === 'prevent') { - event.preventDefault(); - return true; - } - return false; - } - return true; - } - function onTouchStart(event) { - const swiper = this; - const document = getDocument(); - let e = event; - if (e.originalEvent) e = e.originalEvent; - const data = swiper.touchEventsData; - if (e.type === 'pointerdown') { - if (data.pointerId !== null && data.pointerId !== e.pointerId) { - return; - } - data.pointerId = e.pointerId; - } else if (e.type === 'touchstart' && e.targetTouches.length === 1) { - data.touchId = e.targetTouches[0].identifier; - } - if (e.type === 'touchstart') { - // don't proceed touch event - preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX); - return; - } - const { - params, - touches, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (swiper.animating && params.preventInteractionOnTransition) { - return; - } - if (!swiper.animating && params.cssMode && params.loop) { - swiper.loopFix(); - } - let targetEl = e.target; - if (params.touchEventsTarget === 'wrapper') { - if (!swiper.wrapperEl.contains(targetEl)) return; - } - if ('which' in e && e.which === 3) return; - if ('button' in e && e.button > 0) return; - if (data.isTouched && data.isMoved) return; - - // change target el for shadow root component - const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; - // eslint-disable-next-line - const eventPath = e.composedPath ? e.composedPath() : e.path; - if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) { - targetEl = eventPath[0]; - } - const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`; - const isTargetShadow = !!(e.target && e.target.shadowRoot); - - // use closestElement for shadow root element to get the actual closest for nested shadow root element - if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) { - swiper.allowClick = true; - return; - } - if (params.swipeHandler) { - if (!targetEl.closest(params.swipeHandler)) return; - } - touches.currentX = e.pageX; - touches.currentY = e.pageY; - const startX = touches.currentX; - const startY = touches.currentY; - - // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore - - if (!preventEdgeSwipe(swiper, e, startX)) { - return; - } - Object.assign(data, { - isTouched: true, - isMoved: false, - allowTouchCallbacks: true, - isScrolling: undefined, - startMoving: undefined - }); - touches.startX = startX; - touches.startY = startY; - data.touchStartTime = now(); - swiper.allowClick = true; - swiper.updateSize(); - swiper.swipeDirection = undefined; - if (params.threshold > 0) data.allowThresholdMove = false; - let preventDefault = true; - if (targetEl.matches(data.focusableElements)) { - preventDefault = false; - if (targetEl.nodeName === 'SELECT') { - data.isTouched = false; - } - } - if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) { - document.activeElement.blur(); - } - const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; - if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) { - e.preventDefault(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) { - swiper.freeMode.onTouchStart(); - } - swiper.emit('touchStart', e); - } - - function onTouchMove(event) { - const document = getDocument(); - const swiper = this; - const data = swiper.touchEventsData; - const { - params, - touches, - rtlTranslate: rtl, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && event.pointerType === 'mouse') return; - let e = event; - if (e.originalEvent) e = e.originalEvent; - if (e.type === 'pointermove') { - if (data.touchId !== null) return; // return from pointer if we use touch - const id = e.pointerId; - if (id !== data.pointerId) return; - } - let targetTouch; - if (e.type === 'touchmove') { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } else { - targetTouch = e; - } - if (!data.isTouched) { - if (data.startMoving && data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - return; - } - const pageX = targetTouch.pageX; - const pageY = targetTouch.pageY; - if (e.preventedByNestedSwiper) { - touches.startX = pageX; - touches.startY = pageY; - return; - } - if (!swiper.allowTouchMove) { - if (!e.target.matches(data.focusableElements)) { - swiper.allowClick = false; - } - if (data.isTouched) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY - }); - data.touchStartTime = now(); - } - return; - } - if (params.touchReleaseOnEdges && !params.loop) { - if (swiper.isVertical()) { - // Vertical - if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) { - data.isTouched = false; - data.isMoved = false; - return; - } - } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) { - return; - } - } - if (document.activeElement) { - if (e.target === document.activeElement && e.target.matches(data.focusableElements)) { - data.isMoved = true; - swiper.allowClick = false; - return; - } - } - if (data.allowTouchCallbacks) { - swiper.emit('touchMove', e); - } - touches.previousX = touches.currentX; - touches.previousY = touches.currentY; - touches.currentX = pageX; - touches.currentY = pageY; - const diffX = touches.currentX - touches.startX; - const diffY = touches.currentY - touches.startY; - if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return; - if (typeof data.isScrolling === 'undefined') { - let touchAngle; - if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) { - data.isScrolling = false; - } else { - // eslint-disable-next-line - if (diffX * diffX + diffY * diffY >= 25) { - touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI; - data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle; - } - } - } - if (data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - if (typeof data.startMoving === 'undefined') { - if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { - data.startMoving = true; - } - } - if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) { - data.isTouched = false; - return; - } - if (!data.startMoving) { - return; - } - swiper.allowClick = false; - if (!params.cssMode && e.cancelable) { - e.preventDefault(); - } - if (params.touchMoveStopPropagation && !params.nested) { - e.stopPropagation(); - } - let diff = swiper.isHorizontal() ? diffX : diffY; - let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY; - if (params.oneWayMovement) { - diff = Math.abs(diff) * (rtl ? 1 : -1); - touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1); - } - touches.diff = diff; - diff *= params.touchRatio; - if (rtl) { - diff = -diff; - touchesDiff = -touchesDiff; - } - const prevTouchesDirection = swiper.touchesDirection; - swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; - swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next'; - const isLoop = swiper.params.loop && !params.cssMode; - const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev; - if (!data.isMoved) { - if (isLoop && allowLoopFix) { - swiper.loopFix({ - direction: swiper.swipeDirection - }); - } - data.startTranslate = swiper.getTranslate(); - swiper.setTransition(0); - if (swiper.animating) { - const evt = new window.CustomEvent('transitionend', { - bubbles: true, - cancelable: true, - detail: { - bySwiperTouchMove: true - } - }); - swiper.wrapperEl.dispatchEvent(evt); - } - data.allowMomentumBounce = false; - // Grab Cursor - if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(true); - } - swiper.emit('sliderFirstMove', e); - } - let loopFixed; - new Date().getTime(); - if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY, - startTranslate: data.currentTranslate - }); - data.loopSwapReset = true; - data.startTranslate = data.currentTranslate; - return; - } - swiper.emit('sliderMove', e); - data.isMoved = true; - data.currentTranslate = diff + data.startTranslate; - let disableParentSwiper = true; - let resistanceRatio = params.resistanceRatio; - if (params.touchReleaseOnEdges) { - resistanceRatio = 0; - } - if (diff > 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] : swiper.minTranslate())) { - swiper.loopFix({ - direction: 'prev', - setTranslate: true, - activeSlideIndex: 0 - }); - } - if (data.currentTranslate > swiper.minTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio; - } - } - } else if (diff < 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] : swiper.maxTranslate())) { - swiper.loopFix({ - direction: 'next', - setTranslate: true, - activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10))) - }); - } - if (data.currentTranslate < swiper.maxTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio; - } - } - } - if (disableParentSwiper) { - e.preventedByNestedSwiper = true; - } - - // Directions locks - if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && !swiper.allowSlideNext) { - data.currentTranslate = data.startTranslate; - } - - // Threshold - if (params.threshold > 0) { - if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { - if (!data.allowThresholdMove) { - data.allowThresholdMove = true; - touches.startX = touches.currentX; - touches.startY = touches.currentY; - data.currentTranslate = data.startTranslate; - touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; - return; - } - } else { - data.currentTranslate = data.startTranslate; - return; - } - } - if (!params.followFinger || params.cssMode) return; - - // Update active index in free mode - if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) { - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode) { - swiper.freeMode.onTouchMove(); - } - // Update progress - swiper.updateProgress(data.currentTranslate); - // Update translate - swiper.setTranslate(data.currentTranslate); - } - - function onTouchEnd(event) { - const swiper = this; - const data = swiper.touchEventsData; - let e = event; - if (e.originalEvent) e = e.originalEvent; - let targetTouch; - const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel'; - if (!isTouchEvent) { - if (data.touchId !== null) return; // return from pointer if we use touch - if (e.pointerId !== data.pointerId) return; - targetTouch = e; - } else { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } - if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) { - const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView); - if (!proceed) { - return; - } - } - data.pointerId = null; - data.touchId = null; - const { - params, - touches, - rtlTranslate: rtl, - slidesGrid, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (data.allowTouchCallbacks) { - swiper.emit('touchEnd', e); - } - data.allowTouchCallbacks = false; - if (!data.isTouched) { - if (data.isMoved && params.grabCursor) { - swiper.setGrabCursor(false); - } - data.isMoved = false; - data.startMoving = false; - return; - } - - // Return Grab Cursor - if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(false); - } - - // Time diff - const touchEndTime = now(); - const timeDiff = touchEndTime - data.touchStartTime; - - // Tap, doubleTap, Click - if (swiper.allowClick) { - const pathTree = e.path || e.composedPath && e.composedPath(); - swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree); - swiper.emit('tap click', e); - if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) { - swiper.emit('doubleTap doubleClick', e); - } - } - data.lastClickTime = now(); - nextTick(() => { - if (!swiper.destroyed) swiper.allowClick = true; - }); - if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) { - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - return; - } - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - let currentPos; - if (params.followFinger) { - currentPos = rtl ? swiper.translate : -swiper.translate; - } else { - currentPos = -data.currentTranslate; - } - if (params.cssMode) { - return; - } - if (params.freeMode && params.freeMode.enabled) { - swiper.freeMode.onTouchEnd({ - currentPos - }); - return; - } - - // Find current slide - const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop; - let stopIndex = 0; - let groupSize = swiper.slidesSizesGrid[0]; - for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) { - const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (typeof slidesGrid[i + increment] !== 'undefined') { - if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) { - stopIndex = i; - groupSize = slidesGrid[i + increment] - slidesGrid[i]; - } - } else if (swipeToLast || currentPos >= slidesGrid[i]) { - stopIndex = i; - groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; - } - } - let rewindFirstIndex = null; - let rewindLastIndex = null; - if (params.rewind) { - if (swiper.isBeginning) { - rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - } else if (swiper.isEnd) { - rewindFirstIndex = 0; - } - } - // Find current slide size - const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; - const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (timeDiff > params.longSwipesMs) { - // Long touches - if (!params.longSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - if (swiper.swipeDirection === 'next') { - if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex); - } - if (swiper.swipeDirection === 'prev') { - if (ratio > 1 - params.longSwipesRatio) { - swiper.slideTo(stopIndex + increment); - } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) { - swiper.slideTo(rewindLastIndex); - } else { - swiper.slideTo(stopIndex); - } - } - } else { - // Short swipes - if (!params.shortSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl); - if (!isNavButtonTarget) { - if (swiper.swipeDirection === 'next') { - swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment); - } - if (swiper.swipeDirection === 'prev') { - swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex); - } - } else if (e.target === swiper.navigation.nextEl) { - swiper.slideTo(stopIndex + increment); - } else { - swiper.slideTo(stopIndex); - } - } - } - - function onResize() { - const swiper = this; - const { - params, - el - } = swiper; - if (el && el.offsetWidth === 0) return; - - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - - // Save locks - const { - allowSlideNext, - allowSlidePrev, - snapGrid - } = swiper; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - - // Disable locks on resize - swiper.allowSlideNext = true; - swiper.allowSlidePrev = true; - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateSlidesClasses(); - const isVirtualLoop = isVirtual && params.loop; - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) { - swiper.slideTo(swiper.slides.length - 1, 0, false, true); - } else { - if (swiper.params.loop && !isVirtual) { - swiper.slideToLoop(swiper.realIndex, 0, false, true); - } else { - swiper.slideTo(swiper.activeIndex, 0, false, true); - } - } - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - clearTimeout(swiper.autoplay.resizeTimeout); - swiper.autoplay.resizeTimeout = setTimeout(() => { - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - swiper.autoplay.resume(); - } - }, 500); - } - // Return locks after resize - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } - } - - function onClick(e) { - const swiper = this; - if (!swiper.enabled) return; - if (!swiper.allowClick) { - if (swiper.params.preventClicks) e.preventDefault(); - if (swiper.params.preventClicksPropagation && swiper.animating) { - e.stopPropagation(); - e.stopImmediatePropagation(); - } - } - } - - function onScroll() { - const swiper = this; - const { - wrapperEl, - rtlTranslate, - enabled - } = swiper; - if (!enabled) return; - swiper.previousTranslate = swiper.translate; - if (swiper.isHorizontal()) { - swiper.translate = -wrapperEl.scrollLeft; - } else { - swiper.translate = -wrapperEl.scrollTop; - } - // eslint-disable-next-line - if (swiper.translate === 0) swiper.translate = 0; - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== swiper.progress) { - swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate); - } - swiper.emit('setTranslate', swiper.translate, false); - } - - function onLoad(e) { - const swiper = this; - processLazyPreloader(swiper, e.target); - if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) { - return; - } - swiper.update(); - } - - function onDocumentTouchStart() { - const swiper = this; - if (swiper.documentTouchHandlerProceeded) return; - swiper.documentTouchHandlerProceeded = true; - if (swiper.params.touchReleaseOnEdges) { - swiper.el.style.touchAction = 'auto'; - } - } - - const events = (swiper, method) => { - const document = getDocument(); - const { - params, - el, - wrapperEl, - device - } = swiper; - const capture = !!params.nested; - const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; - const swiperMethod = method; - - // Touch Events - document[domMethod]('touchstart', swiper.onDocumentTouchStart, { - passive: false, - capture - }); - el[domMethod]('touchstart', swiper.onTouchStart, { - passive: false - }); - el[domMethod]('pointerdown', swiper.onTouchStart, { - passive: false - }); - document[domMethod]('touchmove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('pointermove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('touchend', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerup', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointercancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('touchcancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerout', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerleave', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('contextmenu', swiper.onTouchEnd, { - passive: true - }); - - // Prevent Links Clicks - if (params.preventClicks || params.preventClicksPropagation) { - el[domMethod]('click', swiper.onClick, true); - } - if (params.cssMode) { - wrapperEl[domMethod]('scroll', swiper.onScroll); - } - - // Resize handler - if (params.updateOnWindowResize) { - swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true); - } else { - swiper[swiperMethod]('observerUpdate', onResize, true); - } - - // Images loader - el[domMethod]('load', swiper.onLoad, { - capture: true - }); - }; - function attachEvents() { - const swiper = this; - const { - params - } = swiper; - swiper.onTouchStart = onTouchStart.bind(swiper); - swiper.onTouchMove = onTouchMove.bind(swiper); - swiper.onTouchEnd = onTouchEnd.bind(swiper); - swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper); - if (params.cssMode) { - swiper.onScroll = onScroll.bind(swiper); - } - swiper.onClick = onClick.bind(swiper); - swiper.onLoad = onLoad.bind(swiper); - events(swiper, 'on'); - } - function detachEvents() { - const swiper = this; - events(swiper, 'off'); - } - var events$1 = { - attachEvents, - detachEvents - }; - - const isGridEnabled = (swiper, params) => { - return swiper.grid && params.grid && params.grid.rows > 1; - }; - function setBreakpoint() { - const swiper = this; - const { - realIndex, - initialized, - params, - el - } = swiper; - const breakpoints = params.breakpoints; - if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; - - // Get breakpoint for window width and update parameters - const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el); - if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; - const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; - const breakpointParams = breakpointOnlyParams || swiper.originalParams; - const wasMultiRow = isGridEnabled(swiper, params); - const isMultiRow = isGridEnabled(swiper, breakpointParams); - const wasGrabCursor = swiper.params.grabCursor; - const isGrabCursor = breakpointParams.grabCursor; - const wasEnabled = params.enabled; - if (wasMultiRow && !isMultiRow) { - el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); - swiper.emitContainerClasses(); - } else if (!wasMultiRow && isMultiRow) { - el.classList.add(`${params.containerModifierClass}grid`); - if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') { - el.classList.add(`${params.containerModifierClass}grid-column`); - } - swiper.emitContainerClasses(); - } - if (wasGrabCursor && !isGrabCursor) { - swiper.unsetGrabCursor(); - } else if (!wasGrabCursor && isGrabCursor) { - swiper.setGrabCursor(); - } - - // Toggle navigation, pagination, scrollbar - ['navigation', 'pagination', 'scrollbar'].forEach(prop => { - if (typeof breakpointParams[prop] === 'undefined') return; - const wasModuleEnabled = params[prop] && params[prop].enabled; - const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; - if (wasModuleEnabled && !isModuleEnabled) { - swiper[prop].disable(); - } - if (!wasModuleEnabled && isModuleEnabled) { - swiper[prop].enable(); - } - }); - const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; - const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); - const wasLoop = params.loop; - if (directionChanged && initialized) { - swiper.changeDirection(); - } - extend(swiper.params, breakpointParams); - const isEnabled = swiper.params.enabled; - const hasLoop = swiper.params.loop; - Object.assign(swiper, { - allowTouchMove: swiper.params.allowTouchMove, - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev - }); - if (wasEnabled && !isEnabled) { - swiper.disable(); - } else if (!wasEnabled && isEnabled) { - swiper.enable(); - } - swiper.currentBreakpoint = breakpoint; - swiper.emit('_beforeBreakpoint', breakpointParams); - if (initialized) { - if (needsReLoop) { - swiper.loopDestroy(); - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (!wasLoop && hasLoop) { - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (wasLoop && !hasLoop) { - swiper.loopDestroy(); - } - } - swiper.emit('breakpoint', breakpointParams); - } - - function getBreakpoint(breakpoints, base, containerEl) { - if (base === void 0) { - base = 'window'; - } - if (!breakpoints || base === 'container' && !containerEl) return undefined; - let breakpoint = false; - const window = getWindow(); - const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight; - const points = Object.keys(breakpoints).map(point => { - if (typeof point === 'string' && point.indexOf('@') === 0) { - const minRatio = parseFloat(point.substr(1)); - const value = currentHeight * minRatio; - return { - value, - point - }; - } - return { - value: point, - point - }; - }); - points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10)); - for (let i = 0; i < points.length; i += 1) { - const { - point, - value - } = points[i]; - if (base === 'window') { - if (window.matchMedia(`(min-width: ${value}px)`).matches) { - breakpoint = point; - } - } else if (value <= containerEl.clientWidth) { - breakpoint = point; - } - } - return breakpoint || 'max'; - } - - var breakpoints = { - setBreakpoint, - getBreakpoint - }; - - function prepareClasses(entries, prefix) { - const resultClasses = []; - entries.forEach(item => { - if (typeof item === 'object') { - Object.keys(item).forEach(classNames => { - if (item[classNames]) { - resultClasses.push(prefix + classNames); - } - }); - } else if (typeof item === 'string') { - resultClasses.push(prefix + item); - } - }); - return resultClasses; - } - function addClasses() { - const swiper = this; - const { - classNames, - params, - rtl, - el, - device - } = swiper; - // prettier-ignore - const suffixes = prepareClasses(['initialized', params.direction, { - 'free-mode': swiper.params.freeMode && params.freeMode.enabled - }, { - 'autoheight': params.autoHeight - }, { - 'rtl': rtl - }, { - 'grid': params.grid && params.grid.rows > 1 - }, { - 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' - }, { - 'android': device.android - }, { - 'ios': device.ios - }, { - 'css-mode': params.cssMode - }, { - 'centered': params.cssMode && params.centeredSlides - }, { - 'watch-progress': params.watchSlidesProgress - }], params.containerModifierClass); - classNames.push(...suffixes); - el.classList.add(...classNames); - swiper.emitContainerClasses(); - } - - function removeClasses() { - const swiper = this; - const { - el, - classNames - } = swiper; - el.classList.remove(...classNames); - swiper.emitContainerClasses(); - } - - var classes = { - addClasses, - removeClasses - }; - - function checkOverflow() { - const swiper = this; - const { - isLocked: wasLocked, - params - } = swiper; - const { - slidesOffsetBefore - } = params; - if (slidesOffsetBefore) { - const lastSlideIndex = swiper.slides.length - 1; - const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2; - swiper.isLocked = swiper.size > lastSlideRightEdge; - } else { - swiper.isLocked = swiper.snapGrid.length === 1; - } - if (params.allowSlideNext === true) { - swiper.allowSlideNext = !swiper.isLocked; - } - if (params.allowSlidePrev === true) { - swiper.allowSlidePrev = !swiper.isLocked; - } - if (wasLocked && wasLocked !== swiper.isLocked) { - swiper.isEnd = false; - } - if (wasLocked !== swiper.isLocked) { - swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); - } - } - var checkOverflow$1 = { - checkOverflow - }; - - var defaults = { - init: true, - direction: 'horizontal', - oneWayMovement: false, - swiperElementNodeName: 'SWIPER-CONTAINER', - touchEventsTarget: 'wrapper', - initialSlide: 0, - speed: 300, - cssMode: false, - updateOnWindowResize: true, - resizeObserver: true, - nested: false, - createElements: false, - eventsPrefix: 'swiper', - enabled: true, - focusableElements: 'input, select, option, textarea, button, video, label', - // Overrides - width: null, - height: null, - // - preventInteractionOnTransition: false, - // ssr - userAgent: null, - url: null, - // To support iOS's swipe-to-go-back gesture (when being used in-app). - edgeSwipeDetection: false, - edgeSwipeThreshold: 20, - // Autoheight - autoHeight: false, - // Set wrapper width - setWrapperSize: false, - // Virtual Translate - virtualTranslate: false, - // Effects - effect: 'slide', - // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' - - // Breakpoints - breakpoints: undefined, - breakpointsBase: 'window', - // Slides grid - spaceBetween: 0, - slidesPerView: 1, - slidesPerGroup: 1, - slidesPerGroupSkip: 0, - slidesPerGroupAuto: false, - centeredSlides: false, - centeredSlidesBounds: false, - slidesOffsetBefore: 0, - // in px - slidesOffsetAfter: 0, - // in px - normalizeSlideIndex: true, - centerInsufficientSlides: false, - // Disable swiper and hide navigation when container not overflow - watchOverflow: true, - // Round length - roundLengths: false, - // Touches - touchRatio: 1, - touchAngle: 45, - simulateTouch: true, - shortSwipes: true, - longSwipes: true, - longSwipesRatio: 0.5, - longSwipesMs: 300, - followFinger: true, - allowTouchMove: true, - threshold: 5, - touchMoveStopPropagation: false, - touchStartPreventDefault: true, - touchStartForcePreventDefault: false, - touchReleaseOnEdges: false, - // Unique Navigation Elements - uniqueNavElements: true, - // Resistance - resistance: true, - resistanceRatio: 0.85, - // Progress - watchSlidesProgress: false, - // Cursor - grabCursor: false, - // Clicks - preventClicks: true, - preventClicksPropagation: true, - slideToClickedSlide: false, - // loop - loop: false, - loopAddBlankSlides: true, - loopAdditionalSlides: 0, - loopPreventsSliding: true, - // rewind - rewind: false, - // Swiping/no swiping - allowSlidePrev: true, - allowSlideNext: true, - swipeHandler: null, - // '.swipe-handler', - noSwiping: true, - noSwipingClass: 'swiper-no-swiping', - noSwipingSelector: null, - // Passive Listeners - passiveListeners: true, - maxBackfaceHiddenSlides: 10, - // NS - containerModifierClass: 'swiper-', - // NEW - 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, - // Callbacks - runCallbacksOnInit: true, - // Internals - _emitClasses: false - }; - - function moduleExtendParams(params, allModulesParams) { - return function extendParams(obj) { - if (obj === void 0) { - obj = {}; - } - const moduleParamName = Object.keys(obj)[0]; - const moduleParams = obj[moduleParamName]; - if (typeof moduleParams !== 'object' || moduleParams === null) { - extend(allModulesParams, obj); - return; - } - if (params[moduleParamName] === true) { - params[moduleParamName] = { - enabled: true - }; - } - if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) { - params[moduleParamName].auto = true; - } - if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) { - params[moduleParamName].auto = true; - } - if (!(moduleParamName in params && 'enabled' in moduleParams)) { - extend(allModulesParams, obj); - return; - } - if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) { - params[moduleParamName].enabled = true; - } - if (!params[moduleParamName]) params[moduleParamName] = { - enabled: false - }; - extend(allModulesParams, obj); - }; - } - - /* eslint no-param-reassign: "off" */ - const prototypes = { - eventsEmitter, - update, - translate, - transition, - slide, - loop, - grabCursor, - events: events$1, - breakpoints, - checkOverflow: checkOverflow$1, - classes - }; - const extendedDefaults = {}; - class Swiper { - constructor() { - let el; - let params; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') { - params = args[0]; - } else { - [el, params] = args; - } - if (!params) params = {}; - params = extend({}, params); - if (el && !params.el) params.el = el; - const document = getDocument(); - if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) { - const swipers = []; - document.querySelectorAll(params.el).forEach(containerEl => { - const newParams = extend({}, params, { - el: containerEl - }); - swipers.push(new Swiper(newParams)); - }); - // eslint-disable-next-line no-constructor-return - return swipers; - } - - // Swiper Instance - const swiper = this; - swiper.__swiper__ = true; - swiper.support = getSupport(); - swiper.device = getDevice({ - userAgent: params.userAgent - }); - swiper.browser = getBrowser(); - swiper.eventsListeners = {}; - swiper.eventsAnyListeners = []; - swiper.modules = [...swiper.__modules__]; - if (params.modules && Array.isArray(params.modules)) { - swiper.modules.push(...params.modules); - } - const allModulesParams = {}; - swiper.modules.forEach(mod => { - mod({ - params, - swiper, - extendParams: moduleExtendParams(params, allModulesParams), - on: swiper.on.bind(swiper), - once: swiper.once.bind(swiper), - off: swiper.off.bind(swiper), - emit: swiper.emit.bind(swiper) - }); - }); - - // Extend defaults with modules params - const swiperParams = extend({}, defaults, allModulesParams); - - // Extend defaults with passed params - swiper.params = extend({}, swiperParams, extendedDefaults, params); - swiper.originalParams = extend({}, swiper.params); - swiper.passedParams = extend({}, params); - - // add event listeners - if (swiper.params && swiper.params.on) { - Object.keys(swiper.params.on).forEach(eventName => { - swiper.on(eventName, swiper.params.on[eventName]); - }); - } - if (swiper.params && swiper.params.onAny) { - swiper.onAny(swiper.params.onAny); - } - - // Extend Swiper - Object.assign(swiper, { - enabled: swiper.params.enabled, - el, - // Classes - classNames: [], - // Slides - slides: [], - slidesGrid: [], - snapGrid: [], - slidesSizesGrid: [], - // isDirection - isHorizontal() { - return swiper.params.direction === 'horizontal'; - }, - isVertical() { - return swiper.params.direction === 'vertical'; - }, - // Indexes - activeIndex: 0, - realIndex: 0, - // - isBeginning: true, - isEnd: false, - // Props - translate: 0, - previousTranslate: 0, - progress: 0, - velocity: 0, - animating: false, - cssOverflowAdjustment() { - // Returns 0 unless `translate` is > 2**23 - // Should be subtracted from css values to prevent overflow - return Math.trunc(this.translate / 2 ** 23) * 2 ** 23; - }, - // Locks - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev, - // Touch Events - touchEventsData: { - isTouched: undefined, - isMoved: undefined, - allowTouchCallbacks: undefined, - touchStartTime: undefined, - isScrolling: undefined, - currentTranslate: undefined, - startTranslate: undefined, - allowThresholdMove: undefined, - // Form elements to match - focusableElements: swiper.params.focusableElements, - // Last click time - lastClickTime: 0, - clickTimeout: undefined, - // Velocities - velocities: [], - allowMomentumBounce: undefined, - startMoving: undefined, - pointerId: null, - touchId: null - }, - // Clicks - allowClick: true, - // Touches - allowTouchMove: swiper.params.allowTouchMove, - touches: { - startX: 0, - startY: 0, - currentX: 0, - currentY: 0, - diff: 0 - }, - // Images - imagesToLoad: [], - imagesLoaded: 0 - }); - swiper.emit('_swiper'); - - // Init - if (swiper.params.init) { - swiper.init(); - } - - // Return app instance - // eslint-disable-next-line no-constructor-return - return swiper; - } - getDirectionLabel(property) { - if (this.isHorizontal()) { - return property; - } - // prettier-ignore - return { - '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' - }[property]; - } - getSlideIndex(slideEl) { - const { - slidesEl, - params - } = this; - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - const firstSlideIndex = elementIndex(slides[0]); - return elementIndex(slideEl) - firstSlideIndex; - } - getSlideIndexByData(index) { - return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]); - } - recalcSlides() { - const swiper = this; - const { - slidesEl, - params - } = swiper; - swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - } - enable() { - const swiper = this; - if (swiper.enabled) return; - swiper.enabled = true; - if (swiper.params.grabCursor) { - swiper.setGrabCursor(); - } - swiper.emit('enable'); - } - disable() { - const swiper = this; - if (!swiper.enabled) return; - swiper.enabled = false; - if (swiper.params.grabCursor) { - swiper.unsetGrabCursor(); - } - swiper.emit('disable'); - } - setProgress(progress, speed) { - const swiper = this; - progress = Math.min(Math.max(progress, 0), 1); - const min = swiper.minTranslate(); - const max = swiper.maxTranslate(); - const current = (max - min) * progress + min; - swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - emitContainerClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const cls = swiper.el.className.split(' ').filter(className => { - return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0; - }); - swiper.emit('_containerClasses', cls.join(' ')); - } - getSlideClasses(slideEl) { - const swiper = this; - if (swiper.destroyed) return ''; - return slideEl.className.split(' ').filter(className => { - return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0; - }).join(' '); - } - emitSlidesClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const updates = []; - swiper.slides.forEach(slideEl => { - const classNames = swiper.getSlideClasses(slideEl); - updates.push({ - slideEl, - classNames - }); - swiper.emit('_slideClass', slideEl, classNames); - }); - swiper.emit('_slideClasses', updates); - } - slidesPerViewDynamic(view, exact) { - if (view === void 0) { - view = 'current'; - } - if (exact === void 0) { - exact = false; - } - const swiper = this; - const { - params, - slides, - slidesGrid, - slidesSizesGrid, - size: swiperSize, - activeIndex - } = swiper; - let spv = 1; - if (typeof params.slidesPerView === 'number') return params.slidesPerView; - if (params.centeredSlides) { - let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0; - let breakLoop; - for (let i = activeIndex + 1; i < slides.length; i += 1) { - if (slides[i] && !breakLoop) { - slideSize += Math.ceil(slides[i].swiperSlideSize); - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - for (let i = activeIndex - 1; i >= 0; i -= 1) { - if (slides[i] && !breakLoop) { - slideSize += slides[i].swiperSlideSize; - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - } else { - // eslint-disable-next-line - if (view === 'current') { - for (let i = activeIndex + 1; i < slides.length; i += 1) { - const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } else { - // previous - for (let i = activeIndex - 1; i >= 0; i -= 1) { - const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } - } - return spv; - } - update() { - const swiper = this; - if (!swiper || swiper.destroyed) return; - const { - snapGrid, - params - } = swiper; - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } - }); - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateProgress(); - swiper.updateSlidesClasses(); - function setTranslate() { - const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; - const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); - swiper.setTranslate(newTranslate); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - let translated; - if (params.freeMode && params.freeMode.enabled && !params.cssMode) { - setTranslate(); - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - } else { - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) { - const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides; - translated = swiper.slideTo(slides.length - 1, 0, false, true); - } else { - translated = swiper.slideTo(swiper.activeIndex, 0, false, true); - } - if (!translated) { - setTranslate(); - } - } - if (params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } - swiper.emit('update'); - } - changeDirection(newDirection, needUpdate) { - if (needUpdate === void 0) { - needUpdate = true; - } - const swiper = this; - const currentDirection = swiper.params.direction; - if (!newDirection) { - // eslint-disable-next-line - newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal'; - } - if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') { - return swiper; - } - swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`); - swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`); - swiper.emitContainerClasses(); - swiper.params.direction = newDirection; - swiper.slides.forEach(slideEl => { - if (newDirection === 'vertical') { - slideEl.style.width = ''; - } else { - slideEl.style.height = ''; - } - }); - swiper.emit('changeDirection'); - if (needUpdate) swiper.update(); - return swiper; - } - changeLanguageDirection(direction) { - const swiper = this; - if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return; - swiper.rtl = direction === 'rtl'; - swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl; - if (swiper.rtl) { - swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'rtl'; - } else { - swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'ltr'; - } - swiper.update(); - } - mount(element) { - const swiper = this; - if (swiper.mounted) return true; - - // Find el - let el = element || swiper.params.el; - if (typeof el === 'string') { - el = document.querySelector(el); - } - if (!el) { - return false; - } - el.swiper = swiper; - if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) { - swiper.isElement = true; - } - const getWrapperSelector = () => { - return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`; - }; - const getWrapper = () => { - if (el && el.shadowRoot && el.shadowRoot.querySelector) { - const res = el.shadowRoot.querySelector(getWrapperSelector()); - // Children needs to return slot items - return res; - } - return elementChildren(el, getWrapperSelector())[0]; - }; - // Find Wrapper - let wrapperEl = getWrapper(); - if (!wrapperEl && swiper.params.createElements) { - wrapperEl = createElement('div', swiper.params.wrapperClass); - el.append(wrapperEl); - elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => { - wrapperEl.append(slideEl); - }); - } - Object.assign(swiper, { - el, - wrapperEl, - slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl, - hostEl: swiper.isElement ? el.parentNode.host : el, - mounted: true, - // RTL - rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl', - rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'), - wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box' - }); - return true; - } - init(el) { - const swiper = this; - if (swiper.initialized) return swiper; - const mounted = swiper.mount(el); - if (mounted === false) return swiper; - swiper.emit('beforeInit'); - - // Set breakpoint - if (swiper.params.breakpoints) { - swiper.setBreakpoint(); - } - - // Add Classes - swiper.addClasses(); - - // Update size - swiper.updateSize(); - - // Update slides - swiper.updateSlides(); - if (swiper.params.watchOverflow) { - swiper.checkOverflow(); - } - - // Set Grab Cursor - if (swiper.params.grabCursor && swiper.enabled) { - swiper.setGrabCursor(); - } - - // Slide To Initial Slide - if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true); - } else { - swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true); - } - - // Create loop - if (swiper.params.loop) { - swiper.loopCreate(); - } - - // Attach events - swiper.attachEvents(); - const lazyElements = [...swiper.el.querySelectorAll('[loading="lazy"]')]; - if (swiper.isElement) { - lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]')); - } - lazyElements.forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } else { - imageEl.addEventListener('load', e => { - processLazyPreloader(swiper, e.target); - }); - } - }); - preload(swiper); - - // Init Flag - swiper.initialized = true; - preload(swiper); - - // Emit - swiper.emit('init'); - swiper.emit('afterInit'); - return swiper; - } - destroy(deleteInstance, cleanStyles) { - if (deleteInstance === void 0) { - deleteInstance = true; - } - if (cleanStyles === void 0) { - cleanStyles = true; - } - const swiper = this; - const { - params, - el, - wrapperEl, - slides - } = swiper; - if (typeof swiper.params === 'undefined' || swiper.destroyed) { - return null; - } - swiper.emit('beforeDestroy'); - - // Init Flag - swiper.initialized = false; - - // Detach events - swiper.detachEvents(); - - // Destroy loop - if (params.loop) { - swiper.loopDestroy(); - } - - // Cleanup styles - if (cleanStyles) { - swiper.removeClasses(); - el.removeAttribute('style'); - wrapperEl.removeAttribute('style'); - if (slides && slides.length) { - slides.forEach(slideEl => { - slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass); - slideEl.removeAttribute('style'); - slideEl.removeAttribute('data-swiper-slide-index'); - }); - } - } - swiper.emit('destroy'); - - // Detach emitter events - Object.keys(swiper.eventsListeners).forEach(eventName => { - swiper.off(eventName); - }); - if (deleteInstance !== false) { - swiper.el.swiper = null; - deleteProps(swiper); - } - swiper.destroyed = true; - return null; - } - static extendDefaults(newDefaults) { - extend(extendedDefaults, newDefaults); - } - static get extendedDefaults() { - return extendedDefaults; - } - static get defaults() { - return defaults; - } - static installModule(mod) { - if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = []; - const modules = Swiper.prototype.__modules__; - if (typeof mod === 'function' && modules.indexOf(mod) < 0) { - modules.push(mod); - } - } - static use(module) { - if (Array.isArray(module)) { - module.forEach(m => Swiper.installModule(m)); - return Swiper; - } - Swiper.installModule(module); - return Swiper; - } - } - Object.keys(prototypes).forEach(prototypeGroup => { - Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => { - Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; - }); - }); - Swiper.use([Resize, Observer]); - - function Virtual(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - extendParams({ - virtual: { - enabled: false, - slides: [], - cache: true, - renderSlide: null, - renderExternal: null, - renderExternalUpdate: true, - addSlidesBefore: 0, - addSlidesAfter: 0 - } - }); - let cssModeTimeout; - const document = getDocument(); - swiper.virtual = { - cache: {}, - from: undefined, - to: undefined, - slides: [], - offset: 0, - slidesGrid: [] - }; - const tempDOM = document.createElement('div'); - function renderSlide(slide, index) { - const params = swiper.params.virtual; - if (params.cache && swiper.virtual.cache[index]) { - return swiper.virtual.cache[index]; - } - // eslint-disable-next-line - let slideEl; - if (params.renderSlide) { - slideEl = params.renderSlide.call(swiper, slide, index); - if (typeof slideEl === 'string') { - tempDOM.innerHTML = slideEl; - slideEl = tempDOM.children[0]; - } - } else if (swiper.isElement) { - slideEl = createElement('swiper-slide'); - } else { - slideEl = createElement('div', swiper.params.slideClass); - } - slideEl.setAttribute('data-swiper-slide-index', index); - if (!params.renderSlide) { - slideEl.innerHTML = slide; - } - if (params.cache) { - swiper.virtual.cache[index] = slideEl; - } - return slideEl; - } - function update(force, beforeInit) { - const { - slidesPerView, - slidesPerGroup, - centeredSlides, - loop: isLoop, - initialSlide - } = swiper.params; - if (beforeInit && !isLoop && initialSlide > 0) { - return; - } - const { - addSlidesBefore, - addSlidesAfter - } = swiper.params.virtual; - const { - from: previousFrom, - to: previousTo, - slides, - slidesGrid: previousSlidesGrid, - offset: previousOffset - } = swiper.virtual; - if (!swiper.params.cssMode) { - swiper.updateActiveIndex(); - } - const activeIndex = swiper.activeIndex || 0; - let offsetProp; - if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top'; - let slidesAfter; - let slidesBefore; - if (centeredSlides) { - slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter; - slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore; - } else { - slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter; - slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore; - } - let from = activeIndex - slidesBefore; - let to = activeIndex + slidesAfter; - if (!isLoop) { - from = Math.max(from, 0); - to = Math.min(to, slides.length - 1); - } - let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0); - if (isLoop && activeIndex >= slidesBefore) { - from -= slidesBefore; - if (!centeredSlides) offset += swiper.slidesGrid[0]; - } else if (isLoop && activeIndex < slidesBefore) { - from = -slidesBefore; - if (centeredSlides) offset += swiper.slidesGrid[0]; - } - Object.assign(swiper.virtual, { - from, - to, - offset, - slidesGrid: swiper.slidesGrid, - slidesBefore, - slidesAfter - }); - function onRendered() { - swiper.updateSlides(); - swiper.updateProgress(); - swiper.updateSlidesClasses(); - emit('virtualUpdate'); - } - if (previousFrom === from && previousTo === to && !force) { - if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) { - swiper.slides.forEach(slideEl => { - slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`; - }); - } - swiper.updateProgress(); - emit('virtualUpdate'); - return; - } - if (swiper.params.virtual.renderExternal) { - swiper.params.virtual.renderExternal.call(swiper, { - offset, - from, - to, - slides: function getSlides() { - const slidesToRender = []; - for (let i = from; i <= to; i += 1) { - slidesToRender.push(slides[i]); - } - return slidesToRender; - }() - }); - if (swiper.params.virtual.renderExternalUpdate) { - onRendered(); - } else { - emit('virtualUpdate'); - } - return; - } - const prependIndexes = []; - const appendIndexes = []; - const getSlideIndex = index => { - let slideIndex = index; - if (index < 0) { - slideIndex = slides.length + index; - } else if (slideIndex >= slides.length) { - // eslint-disable-next-line - slideIndex = slideIndex - slides.length; - } - return slideIndex; - }; - if (force) { - swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl => { - slideEl.remove(); - }); - } else { - for (let i = previousFrom; i <= previousTo; i += 1) { - if (i < from || i > to) { - const slideIndex = getSlideIndex(i); - swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`)).forEach(slideEl => { - slideEl.remove(); - }); - } - } - } - const loopFrom = isLoop ? -slides.length : 0; - const loopTo = isLoop ? slides.length * 2 : slides.length; - for (let i = loopFrom; i < loopTo; i += 1) { - if (i >= from && i <= to) { - const slideIndex = getSlideIndex(i); - if (typeof previousTo === 'undefined' || force) { - appendIndexes.push(slideIndex); - } else { - if (i > previousTo) appendIndexes.push(slideIndex); - if (i < previousFrom) prependIndexes.push(slideIndex); - } - } - } - appendIndexes.forEach(index => { - swiper.slidesEl.append(renderSlide(slides[index], index)); - }); - if (isLoop) { - for (let i = prependIndexes.length - 1; i >= 0; i -= 1) { - const index = prependIndexes[i]; - swiper.slidesEl.prepend(renderSlide(slides[index], index)); - } - } else { - prependIndexes.sort((a, b) => b - a); - prependIndexes.forEach(index => { - swiper.slidesEl.prepend(renderSlide(slides[index], index)); - }); - } - elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => { - slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`; - }); - onRendered(); - } - function appendSlide(slides) { - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) swiper.virtual.slides.push(slides[i]); - } - } else { - swiper.virtual.slides.push(slides); - } - update(true); - } - function prependSlide(slides) { - const activeIndex = swiper.activeIndex; - let newActiveIndex = activeIndex + 1; - let numberOfNewSlides = 1; - if (Array.isArray(slides)) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) swiper.virtual.slides.unshift(slides[i]); - } - newActiveIndex = activeIndex + slides.length; - numberOfNewSlides = slides.length; - } else { - swiper.virtual.slides.unshift(slides); - } - if (swiper.params.virtual.cache) { - const cache = swiper.virtual.cache; - const newCache = {}; - Object.keys(cache).forEach(cachedIndex => { - const cachedEl = cache[cachedIndex]; - const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index'); - if (cachedElIndex) { - cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides); - } - newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl; - }); - swiper.virtual.cache = newCache; - } - update(true); - swiper.slideTo(newActiveIndex, 0); - } - function removeSlide(slidesIndexes) { - if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return; - let activeIndex = swiper.activeIndex; - if (Array.isArray(slidesIndexes)) { - for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) { - if (swiper.params.virtual.cache) { - delete swiper.virtual.cache[slidesIndexes[i]]; - // shift cache indexes - Object.keys(swiper.virtual.cache).forEach(key => { - if (key > slidesIndexes) { - swiper.virtual.cache[key - 1] = swiper.virtual.cache[key]; - swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1); - delete swiper.virtual.cache[key]; - } - }); - } - swiper.virtual.slides.splice(slidesIndexes[i], 1); - if (slidesIndexes[i] < activeIndex) activeIndex -= 1; - activeIndex = Math.max(activeIndex, 0); - } - } else { - if (swiper.params.virtual.cache) { - delete swiper.virtual.cache[slidesIndexes]; - // shift cache indexes - Object.keys(swiper.virtual.cache).forEach(key => { - if (key > slidesIndexes) { - swiper.virtual.cache[key - 1] = swiper.virtual.cache[key]; - swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1); - delete swiper.virtual.cache[key]; - } - }); - } - swiper.virtual.slides.splice(slidesIndexes, 1); - if (slidesIndexes < activeIndex) activeIndex -= 1; - activeIndex = Math.max(activeIndex, 0); - } - update(true); - swiper.slideTo(activeIndex, 0); - } - function removeAllSlides() { - swiper.virtual.slides = []; - if (swiper.params.virtual.cache) { - swiper.virtual.cache = {}; - } - update(true); - swiper.slideTo(0, 0); - } - on('beforeInit', () => { - if (!swiper.params.virtual.enabled) return; - let domSlidesAssigned; - if (typeof swiper.passedParams.virtual.slides === 'undefined') { - const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)); - if (slides && slides.length) { - swiper.virtual.slides = [...slides]; - domSlidesAssigned = true; - slides.forEach((slideEl, slideIndex) => { - slideEl.setAttribute('data-swiper-slide-index', slideIndex); - swiper.virtual.cache[slideIndex] = slideEl; - slideEl.remove(); - }); - } - } - if (!domSlidesAssigned) { - swiper.virtual.slides = swiper.params.virtual.slides; - } - swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`); - swiper.params.watchSlidesProgress = true; - swiper.originalParams.watchSlidesProgress = true; - update(false, true); - }); - on('setTranslate', () => { - if (!swiper.params.virtual.enabled) return; - if (swiper.params.cssMode && !swiper._immediateVirtual) { - clearTimeout(cssModeTimeout); - cssModeTimeout = setTimeout(() => { - update(); - }, 100); - } else { - update(); - } - }); - on('init update resize', () => { - if (!swiper.params.virtual.enabled) return; - if (swiper.params.cssMode) { - setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`); - } - }); - Object.assign(swiper.virtual, { - appendSlide, - prependSlide, - removeSlide, - removeAllSlides, - update - }); - } - - /* eslint-disable consistent-return */ - function Keyboard(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const document = getDocument(); - const window = getWindow(); - swiper.keyboard = { - enabled: false - }; - extendParams({ - keyboard: { - enabled: false, - onlyInViewport: true, - pageUpDown: true - } - }); - function handle(event) { - if (!swiper.enabled) return; - const { - rtlTranslate: rtl - } = swiper; - let e = event; - if (e.originalEvent) e = e.originalEvent; // jquery fix - const kc = e.keyCode || e.charCode; - const pageUpDown = swiper.params.keyboard.pageUpDown; - const isPageUp = pageUpDown && kc === 33; - const isPageDown = pageUpDown && kc === 34; - const isArrowLeft = kc === 37; - const isArrowRight = kc === 39; - const isArrowUp = kc === 38; - const isArrowDown = kc === 40; - // Directions locks - if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) { - return false; - } - if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) { - return false; - } - if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) { - return undefined; - } - if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) { - return undefined; - } - if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) { - let inView = false; - // Check that swiper should be inside of visible area of window - if (elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) { - return undefined; - } - const el = swiper.el; - const swiperWidth = el.clientWidth; - const swiperHeight = el.clientHeight; - const windowWidth = window.innerWidth; - const windowHeight = window.innerHeight; - const swiperOffset = elementOffset(el); - if (rtl) swiperOffset.left -= el.scrollLeft; - const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]]; - for (let i = 0; i < swiperCoord.length; i += 1) { - const point = swiperCoord[i]; - if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) { - if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line - inView = true; - } - } - if (!inView) return undefined; - } - if (swiper.isHorizontal()) { - if (isPageUp || isPageDown || isArrowLeft || isArrowRight) { - if (e.preventDefault) e.preventDefault();else e.returnValue = false; - } - if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext(); - if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev(); - } else { - if (isPageUp || isPageDown || isArrowUp || isArrowDown) { - if (e.preventDefault) e.preventDefault();else e.returnValue = false; - } - if (isPageDown || isArrowDown) swiper.slideNext(); - if (isPageUp || isArrowUp) swiper.slidePrev(); - } - emit('keyPress', kc); - return undefined; - } - function enable() { - if (swiper.keyboard.enabled) return; - document.addEventListener('keydown', handle); - swiper.keyboard.enabled = true; - } - function disable() { - if (!swiper.keyboard.enabled) return; - document.removeEventListener('keydown', handle); - swiper.keyboard.enabled = false; - } - on('init', () => { - if (swiper.params.keyboard.enabled) { - enable(); - } - }); - on('destroy', () => { - if (swiper.keyboard.enabled) { - disable(); - } - }); - Object.assign(swiper.keyboard, { - enable, - disable - }); - } - - /* eslint-disable consistent-return */ - function Mousewheel(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const window = getWindow(); - extendParams({ - mousewheel: { - enabled: false, - releaseOnEdges: false, - invert: false, - forceToAxis: false, - sensitivity: 1, - eventsTarget: 'container', - thresholdDelta: null, - thresholdTime: null, - noMousewheelClass: 'swiper-no-mousewheel' - } - }); - swiper.mousewheel = { - enabled: false - }; - let timeout; - let lastScrollTime = now(); - let lastEventBeforeSnap; - const recentWheelEvents = []; - function normalize(e) { - // Reasonable defaults - const PIXEL_STEP = 10; - const LINE_HEIGHT = 40; - const PAGE_HEIGHT = 800; - let sX = 0; - let sY = 0; // spinX, spinY - let pX = 0; - let pY = 0; // pixelX, pixelY - - // Legacy - if ('detail' in e) { - sY = e.detail; - } - if ('wheelDelta' in e) { - sY = -e.wheelDelta / 120; - } - if ('wheelDeltaY' in e) { - sY = -e.wheelDeltaY / 120; - } - if ('wheelDeltaX' in e) { - sX = -e.wheelDeltaX / 120; - } - - // side scrolling on FF with DOMMouseScroll - if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) { - sX = sY; - sY = 0; - } - pX = sX * PIXEL_STEP; - pY = sY * PIXEL_STEP; - if ('deltaY' in e) { - pY = e.deltaY; - } - if ('deltaX' in e) { - pX = e.deltaX; - } - if (e.shiftKey && !pX) { - // if user scrolls with shift he wants horizontal scroll - pX = pY; - pY = 0; - } - if ((pX || pY) && e.deltaMode) { - if (e.deltaMode === 1) { - // delta in LINE units - pX *= LINE_HEIGHT; - pY *= LINE_HEIGHT; - } else { - // delta in PAGE units - pX *= PAGE_HEIGHT; - pY *= PAGE_HEIGHT; - } - } - - // Fall-back if spin cannot be determined - if (pX && !sX) { - sX = pX < 1 ? -1 : 1; - } - if (pY && !sY) { - sY = pY < 1 ? -1 : 1; - } - return { - spinX: sX, - spinY: sY, - pixelX: pX, - pixelY: pY - }; - } - function handleMouseEnter() { - if (!swiper.enabled) return; - swiper.mouseEntered = true; - } - function handleMouseLeave() { - if (!swiper.enabled) return; - swiper.mouseEntered = false; - } - function animateSlider(newEvent) { - if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) { - // Prevent if delta of wheel scroll delta is below configured threshold - return false; - } - if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) { - // Prevent if time between scrolls is below configured threshold - return false; - } - - // If the movement is NOT big enough and - // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider): - // Don't go any further (avoid insignificant scroll movement). - if (newEvent.delta >= 6 && now() - lastScrollTime < 60) { - // Return false as a default - return true; - } - // If user is scrolling towards the end: - // If the slider hasn't hit the latest slide or - // if the slider is a loop and - // if the slider isn't moving right now: - // Go to next slide and - // emit a scroll event. - // Else (the user is scrolling towards the beginning) and - // if the slider hasn't hit the first slide or - // if the slider is a loop and - // if the slider isn't moving right now: - // Go to prev slide and - // emit a scroll event. - if (newEvent.direction < 0) { - if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) { - swiper.slideNext(); - emit('scroll', newEvent.raw); - } - } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) { - swiper.slidePrev(); - emit('scroll', newEvent.raw); - } - // If you got here is because an animation has been triggered so store the current time - lastScrollTime = new window.Date().getTime(); - // Return false as a default - return false; - } - function releaseScroll(newEvent) { - const params = swiper.params.mousewheel; - if (newEvent.direction < 0) { - if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) { - // Return true to animate scroll on edges - return true; - } - } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) { - // Return true to animate scroll on edges - return true; - } - return false; - } - function handle(event) { - let e = event; - let disableParentSwiper = true; - if (!swiper.enabled) return; - - // Ignore event if the target or its parents have the swiper-no-mousewheel class - if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return; - const params = swiper.params.mousewheel; - if (swiper.params.cssMode) { - e.preventDefault(); - } - let targetEl = swiper.el; - if (swiper.params.mousewheel.eventsTarget !== 'container') { - targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget); - } - const targetElContainsTarget = targetEl && targetEl.contains(e.target); - if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true; - if (e.originalEvent) e = e.originalEvent; // jquery fix - let delta = 0; - const rtlFactor = swiper.rtlTranslate ? -1 : 1; - const data = normalize(e); - if (params.forceToAxis) { - if (swiper.isHorizontal()) { - if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true; - } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true; - } else { - delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY; - } - if (delta === 0) return true; - if (params.invert) delta = -delta; - - // Get the scroll positions - let positions = swiper.getTranslate() + delta * params.sensitivity; - if (positions >= swiper.minTranslate()) positions = swiper.minTranslate(); - if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); - - // When loop is true: - // the disableParentSwiper will be true. - // When loop is false: - // if the scroll positions is not on edge, - // then the disableParentSwiper will be true. - // if the scroll on edge positions, - // then the disableParentSwiper will be false. - disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate()); - if (disableParentSwiper && swiper.params.nested) e.stopPropagation(); - if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) { - // Register the new event in a variable which stores the relevant data - const newEvent = { - time: now(), - delta: Math.abs(delta), - direction: Math.sign(delta), - raw: event - }; - - // Keep the most recent events - if (recentWheelEvents.length >= 2) { - recentWheelEvents.shift(); // only store the last N events - } - - const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; - recentWheelEvents.push(newEvent); - - // If there is at least one previous recorded event: - // If direction has changed or - // if the scroll is quicker than the previous one: - // Animate the slider. - // Else (this is the first time the wheel is moved): - // Animate the slider. - if (prevEvent) { - if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) { - animateSlider(newEvent); - } - } else { - animateSlider(newEvent); - } - - // If it's time to release the scroll: - // Return now so you don't hit the preventDefault. - if (releaseScroll(newEvent)) { - return true; - } - } else { - // Freemode or scrollContainer: - - // If we recently snapped after a momentum scroll, then ignore wheel events - // to give time for the deceleration to finish. Stop ignoring after 500 msecs - // or if it's a new scroll (larger delta or inverse sign as last event before - // an end-of-momentum snap). - const newEvent = { - time: now(), - delta: Math.abs(delta), - direction: Math.sign(delta) - }; - const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction; - if (!ignoreWheelEvents) { - lastEventBeforeSnap = undefined; - let position = swiper.getTranslate() + delta * params.sensitivity; - const wasBeginning = swiper.isBeginning; - const wasEnd = swiper.isEnd; - if (position >= swiper.minTranslate()) position = swiper.minTranslate(); - if (position <= swiper.maxTranslate()) position = swiper.maxTranslate(); - swiper.setTransition(0); - swiper.setTranslate(position); - swiper.updateProgress(); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) { - swiper.updateSlidesClasses(); - } - if (swiper.params.loop) { - swiper.loopFix({ - direction: newEvent.direction < 0 ? 'next' : 'prev', - byMousewheel: true - }); - } - if (swiper.params.freeMode.sticky) { - // When wheel scrolling starts with sticky (aka snap) enabled, then detect - // the end of a momentum scroll by storing recent (N=15?) wheel events. - // 1. do all N events have decreasing or same (absolute value) delta? - // 2. did all N events arrive in the last M (M=500?) msecs? - // 3. does the earliest event have an (absolute value) delta that's - // at least P (P=1?) larger than the most recent event's delta? - // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels? - // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration. - // Snap immediately and ignore remaining wheel events in this scroll. - // See comment above for "remaining wheel events in this scroll" determination. - // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event. - clearTimeout(timeout); - timeout = undefined; - if (recentWheelEvents.length >= 15) { - recentWheelEvents.shift(); // only store the last N events - } - - const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; - const firstEvent = recentWheelEvents[0]; - recentWheelEvents.push(newEvent); - if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) { - // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log. - recentWheelEvents.splice(0); - } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) { - // We're at the end of the deceleration of a momentum scroll, so there's no need - // to wait for more events. Snap ASAP on the next tick. - // Also, because there's some remaining momentum we'll bias the snap in the - // direction of the ongoing scroll because it's better UX for the scroll to snap - // in the same direction as the scroll instead of reversing to snap. Therefore, - // if it's already scrolled more than 20% in the current direction, keep going. - const snapToThreshold = delta > 0 ? 0.8 : 0.2; - lastEventBeforeSnap = newEvent; - recentWheelEvents.splice(0); - timeout = nextTick(() => { - swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); - }, 0); // no delay; move on next tick - } - - if (!timeout) { - // if we get here, then we haven't detected the end of a momentum scroll, so - // we'll consider a scroll "complete" when there haven't been any wheel events - // for 500ms. - timeout = nextTick(() => { - const snapToThreshold = 0.5; - lastEventBeforeSnap = newEvent; - recentWheelEvents.splice(0); - swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); - }, 500); - } - } - - // Emit event - if (!ignoreWheelEvents) emit('scroll', e); - - // Stop autoplay - if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); - // Return page scroll on edge positions - if (params.releaseOnEdges && (position === swiper.minTranslate() || position === swiper.maxTranslate())) { - return true; - } - } - } - if (e.preventDefault) e.preventDefault();else e.returnValue = false; - return false; - } - function events(method) { - let targetEl = swiper.el; - if (swiper.params.mousewheel.eventsTarget !== 'container') { - targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget); - } - targetEl[method]('mouseenter', handleMouseEnter); - targetEl[method]('mouseleave', handleMouseLeave); - targetEl[method]('wheel', handle); - } - function enable() { - if (swiper.params.cssMode) { - swiper.wrapperEl.removeEventListener('wheel', handle); - return true; - } - if (swiper.mousewheel.enabled) return false; - events('addEventListener'); - swiper.mousewheel.enabled = true; - return true; - } - function disable() { - if (swiper.params.cssMode) { - swiper.wrapperEl.addEventListener(event, handle); - return true; - } - if (!swiper.mousewheel.enabled) return false; - events('removeEventListener'); - swiper.mousewheel.enabled = false; - return true; - } - on('init', () => { - if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) { - disable(); - } - if (swiper.params.mousewheel.enabled) enable(); - }); - on('destroy', () => { - if (swiper.params.cssMode) { - enable(); - } - if (swiper.mousewheel.enabled) disable(); - }); - Object.assign(swiper.mousewheel, { - enable, - disable - }); - } - - function createElementIfNotDefined(swiper, originalParams, params, checkProps) { - if (swiper.params.createElements) { - Object.keys(checkProps).forEach(key => { - if (!params[key] && params.auto === true) { - let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0]; - if (!element) { - element = createElement('div', checkProps[key]); - element.className = checkProps[key]; - swiper.el.append(element); - } - params[key] = element; - originalParams[key] = element; - } - }); - } - return params; - } - - function Navigation(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - extendParams({ - navigation: { - nextEl: null, - prevEl: null, - hideOnClick: false, - disabledClass: 'swiper-button-disabled', - hiddenClass: 'swiper-button-hidden', - lockClass: 'swiper-button-lock', - navigationDisabledClass: 'swiper-navigation-disabled' - } - }); - swiper.navigation = { - nextEl: null, - prevEl: null - }; - function getEl(el) { - let res; - if (el && typeof el === 'string' && swiper.isElement) { - res = swiper.el.querySelector(el); - if (res) return res; - } - if (el) { - if (typeof el === 'string') res = [...document.querySelectorAll(el)]; - if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) { - res = swiper.el.querySelector(el); - } else if (res && res.length === 1) { - res = res[0]; - } - } - if (el && !res) return el; - // if (Array.isArray(res) && res.length === 1) res = res[0]; - return res; - } - function toggleEl(el, disabled) { - const params = swiper.params.navigation; - el = makeElementsArray(el); - el.forEach(subEl => { - if (subEl) { - subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' ')); - if (subEl.tagName === 'BUTTON') subEl.disabled = disabled; - if (swiper.params.watchOverflow && swiper.enabled) { - subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass); - } - } - }); - } - function update() { - // Update Navigation Buttons - const { - nextEl, - prevEl - } = swiper.navigation; - if (swiper.params.loop) { - toggleEl(prevEl, false); - toggleEl(nextEl, false); - return; - } - toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind); - toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind); - } - function onPrevClick(e) { - e.preventDefault(); - if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return; - swiper.slidePrev(); - emit('navigationPrev'); - } - function onNextClick(e) { - e.preventDefault(); - if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return; - swiper.slideNext(); - emit('navigationNext'); - } - function init() { - const params = swiper.params.navigation; - swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, { - nextEl: 'swiper-button-next', - prevEl: 'swiper-button-prev' - }); - if (!(params.nextEl || params.prevEl)) return; - let nextEl = getEl(params.nextEl); - let prevEl = getEl(params.prevEl); - Object.assign(swiper.navigation, { - nextEl, - prevEl - }); - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - const initButton = (el, dir) => { - if (el) { - el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick); - } - if (!swiper.enabled && el) { - el.classList.add(...params.lockClass.split(' ')); - } - }; - nextEl.forEach(el => initButton(el, 'next')); - prevEl.forEach(el => initButton(el, 'prev')); - } - function destroy() { - let { - nextEl, - prevEl - } = swiper.navigation; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - const destroyButton = (el, dir) => { - el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick); - el.classList.remove(...swiper.params.navigation.disabledClass.split(' ')); - }; - nextEl.forEach(el => destroyButton(el, 'next')); - prevEl.forEach(el => destroyButton(el, 'prev')); - } - on('init', () => { - if (swiper.params.navigation.enabled === false) { - // eslint-disable-next-line - disable(); - } else { - init(); - update(); - } - }); - on('toEdge fromEdge lock unlock', () => { - update(); - }); - on('destroy', () => { - destroy(); - }); - on('enable disable', () => { - let { - nextEl, - prevEl - } = swiper.navigation; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - if (swiper.enabled) { - update(); - return; - } - [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass)); - }); - on('click', (_s, e) => { - let { - nextEl, - prevEl - } = swiper.navigation; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - const targetEl = e.target; - if (swiper.params.navigation.hideOnClick && !prevEl.includes(targetEl) && !nextEl.includes(targetEl)) { - if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return; - let isHidden; - if (nextEl.length) { - isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass); - } else if (prevEl.length) { - isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass); - } - if (isHidden === true) { - emit('navigationShow'); - } else { - emit('navigationHide'); - } - [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass)); - } - }); - const enable = () => { - swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' ')); - init(); - update(); - }; - const disable = () => { - swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' ')); - destroy(); - }; - Object.assign(swiper.navigation, { - enable, - disable, - update, - init, - destroy - }); - } - - function classesToSelector(classes) { - if (classes === void 0) { - classes = ''; - } - return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line - .replace(/ /g, '.')}`; - } - - function Pagination(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const pfx = 'swiper-pagination'; - extendParams({ - pagination: { - el: null, - bulletElement: 'span', - clickable: false, - hideOnClick: false, - renderBullet: null, - renderProgressbar: null, - renderFraction: null, - renderCustom: null, - progressbarOpposite: false, - type: 'bullets', - // 'bullets' or 'progressbar' or 'fraction' or 'custom' - dynamicBullets: false, - dynamicMainBullets: 1, - formatFractionCurrent: number => number, - formatFractionTotal: number => number, - bulletClass: `${pfx}-bullet`, - bulletActiveClass: `${pfx}-bullet-active`, - modifierClass: `${pfx}-`, - currentClass: `${pfx}-current`, - totalClass: `${pfx}-total`, - hiddenClass: `${pfx}-hidden`, - progressbarFillClass: `${pfx}-progressbar-fill`, - progressbarOppositeClass: `${pfx}-progressbar-opposite`, - clickableClass: `${pfx}-clickable`, - lockClass: `${pfx}-lock`, - horizontalClass: `${pfx}-horizontal`, - verticalClass: `${pfx}-vertical`, - paginationDisabledClass: `${pfx}-disabled` - } - }); - swiper.pagination = { - el: null, - bullets: [] - }; - let bulletSize; - let dynamicBulletIndex = 0; - function isPaginationDisabled() { - return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0; - } - function setSideBullets(bulletEl, position) { - const { - bulletActiveClass - } = swiper.params.pagination; - if (!bulletEl) return; - bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`]; - if (bulletEl) { - bulletEl.classList.add(`${bulletActiveClass}-${position}`); - bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`]; - if (bulletEl) { - bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`); - } - } - } - function onBulletClick(e) { - const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass)); - if (!bulletEl) { - return; - } - e.preventDefault(); - const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup; - if (swiper.params.loop) { - if (swiper.realIndex === index) return; - swiper.slideToLoop(index); - } else { - swiper.slideTo(index); - } - } - function update() { - // Render || Update Pagination bullets/items - const rtl = swiper.rtl; - const params = swiper.params.pagination; - if (isPaginationDisabled()) return; - let el = swiper.pagination.el; - el = makeElementsArray(el); - // Current/Total - let current; - let previousIndex; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; - const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length; - if (swiper.params.loop) { - previousIndex = swiper.previousRealIndex || 0; - current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex; - } else if (typeof swiper.snapIndex !== 'undefined') { - current = swiper.snapIndex; - previousIndex = swiper.previousSnapIndex; - } else { - previousIndex = swiper.previousIndex || 0; - current = swiper.activeIndex || 0; - } - // Types - if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) { - const bullets = swiper.pagination.bullets; - let firstIndex; - let lastIndex; - let midIndex; - if (params.dynamicBullets) { - bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true); - el.forEach(subEl => { - subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`; - }); - if (params.dynamicMainBullets > 1 && previousIndex !== undefined) { - dynamicBulletIndex += current - (previousIndex || 0); - if (dynamicBulletIndex > params.dynamicMainBullets - 1) { - dynamicBulletIndex = params.dynamicMainBullets - 1; - } else if (dynamicBulletIndex < 0) { - dynamicBulletIndex = 0; - } - } - firstIndex = Math.max(current - dynamicBulletIndex, 0); - lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1); - midIndex = (lastIndex + firstIndex) / 2; - } - bullets.forEach(bulletEl => { - const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat(); - bulletEl.classList.remove(...classesToRemove); - }); - if (el.length > 1) { - bullets.forEach(bullet => { - const bulletIndex = elementIndex(bullet); - if (bulletIndex === current) { - bullet.classList.add(...params.bulletActiveClass.split(' ')); - } else if (swiper.isElement) { - bullet.setAttribute('part', 'bullet'); - } - if (params.dynamicBullets) { - if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) { - bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' ')); - } - if (bulletIndex === firstIndex) { - setSideBullets(bullet, 'prev'); - } - if (bulletIndex === lastIndex) { - setSideBullets(bullet, 'next'); - } - } - }); - } else { - const bullet = bullets[current]; - if (bullet) { - bullet.classList.add(...params.bulletActiveClass.split(' ')); - } - if (swiper.isElement) { - bullets.forEach((bulletEl, bulletIndex) => { - bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet'); - }); - } - if (params.dynamicBullets) { - const firstDisplayedBullet = bullets[firstIndex]; - const lastDisplayedBullet = bullets[lastIndex]; - for (let i = firstIndex; i <= lastIndex; i += 1) { - if (bullets[i]) { - bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' ')); - } - } - setSideBullets(firstDisplayedBullet, 'prev'); - setSideBullets(lastDisplayedBullet, 'next'); - } - } - if (params.dynamicBullets) { - const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4); - const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize; - const offsetProp = rtl ? 'right' : 'left'; - bullets.forEach(bullet => { - bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`; - }); - } - } - el.forEach((subEl, subElIndex) => { - if (params.type === 'fraction') { - subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => { - fractionEl.textContent = params.formatFractionCurrent(current + 1); - }); - subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => { - totalEl.textContent = params.formatFractionTotal(total); - }); - } - if (params.type === 'progressbar') { - let progressbarDirection; - if (params.progressbarOpposite) { - progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal'; - } else { - progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical'; - } - const scale = (current + 1) / total; - let scaleX = 1; - let scaleY = 1; - if (progressbarDirection === 'horizontal') { - scaleX = scale; - } else { - scaleY = scale; - } - subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => { - progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`; - progressEl.style.transitionDuration = `${swiper.params.speed}ms`; - }); - } - if (params.type === 'custom' && params.renderCustom) { - subEl.innerHTML = params.renderCustom(swiper, current + 1, total); - if (subElIndex === 0) emit('paginationRender', subEl); - } else { - if (subElIndex === 0) emit('paginationRender', subEl); - emit('paginationUpdate', subEl); - } - if (swiper.params.watchOverflow && swiper.enabled) { - subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass); - } - }); - } - function render() { - // Render Container - const params = swiper.params.pagination; - if (isPaginationDisabled()) return; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length; - let el = swiper.pagination.el; - el = makeElementsArray(el); - let paginationHTML = ''; - if (params.type === 'bullets') { - let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length; - if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) { - numberOfBullets = slidesLength; - } - for (let i = 0; i < numberOfBullets; i += 1) { - if (params.renderBullet) { - paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass); - } else { - // prettier-ignore - paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part="bullet"' : ''} class="${params.bulletClass}">`; - } - } - } - if (params.type === 'fraction') { - if (params.renderFraction) { - paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass); - } else { - paginationHTML = `` + ' / ' + ``; - } - } - if (params.type === 'progressbar') { - if (params.renderProgressbar) { - paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass); - } else { - paginationHTML = ``; - } - } - swiper.pagination.bullets = []; - el.forEach(subEl => { - if (params.type !== 'custom') { - subEl.innerHTML = paginationHTML || ''; - } - if (params.type === 'bullets') { - swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass))); - } - }); - if (params.type !== 'custom') { - emit('paginationRender', el[0]); - } - } - function init() { - swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, { - el: 'swiper-pagination' - }); - const params = swiper.params.pagination; - if (!params.el) return; - let el; - if (typeof params.el === 'string' && swiper.isElement) { - el = swiper.el.querySelector(params.el); - } - if (!el && typeof params.el === 'string') { - el = [...document.querySelectorAll(params.el)]; - } - if (!el) { - el = params.el; - } - if (!el || el.length === 0) return; - if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) { - el = [...swiper.el.querySelectorAll(params.el)]; - // check if it belongs to another nested Swiper - if (el.length > 1) { - el = el.filter(subEl => { - if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false; - return true; - })[0]; - } - } - if (Array.isArray(el) && el.length === 1) el = el[0]; - Object.assign(swiper.pagination, { - el - }); - el = makeElementsArray(el); - el.forEach(subEl => { - if (params.type === 'bullets' && params.clickable) { - subEl.classList.add(...(params.clickableClass || '').split(' ')); - } - subEl.classList.add(params.modifierClass + params.type); - subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - if (params.type === 'bullets' && params.dynamicBullets) { - subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`); - dynamicBulletIndex = 0; - if (params.dynamicMainBullets < 1) { - params.dynamicMainBullets = 1; - } - } - if (params.type === 'progressbar' && params.progressbarOpposite) { - subEl.classList.add(params.progressbarOppositeClass); - } - if (params.clickable) { - subEl.addEventListener('click', onBulletClick); - } - if (!swiper.enabled) { - subEl.classList.add(params.lockClass); - } - }); - } - function destroy() { - const params = swiper.params.pagination; - if (isPaginationDisabled()) return; - let el = swiper.pagination.el; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.classList.remove(params.hiddenClass); - subEl.classList.remove(params.modifierClass + params.type); - subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - if (params.clickable) { - subEl.classList.remove(...(params.clickableClass || '').split(' ')); - subEl.removeEventListener('click', onBulletClick); - } - }); - } - if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' '))); - } - on('changeDirection', () => { - if (!swiper.pagination || !swiper.pagination.el) return; - const params = swiper.params.pagination; - let { - el - } = swiper.pagination; - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.classList.remove(params.horizontalClass, params.verticalClass); - subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - }); - }); - on('init', () => { - if (swiper.params.pagination.enabled === false) { - // eslint-disable-next-line - disable(); - } else { - init(); - render(); - update(); - } - }); - on('activeIndexChange', () => { - if (typeof swiper.snapIndex === 'undefined') { - update(); - } - }); - on('snapIndexChange', () => { - update(); - }); - on('snapGridLengthChange', () => { - render(); - update(); - }); - on('destroy', () => { - destroy(); - }); - on('enable disable', () => { - let { - el - } = swiper.pagination; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass)); - } - }); - on('lock unlock', () => { - update(); - }); - on('click', (_s, e) => { - const targetEl = e.target; - const el = makeElementsArray(swiper.pagination.el); - if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) { - if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return; - const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass); - if (isHidden === true) { - emit('paginationShow'); - } else { - emit('paginationHide'); - } - el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass)); - } - }); - const enable = () => { - swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass); - let { - el - } = swiper.pagination; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass)); - } - init(); - render(); - update(); - }; - const disable = () => { - swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass); - let { - el - } = swiper.pagination; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass)); - } - destroy(); - }; - Object.assign(swiper.pagination, { - enable, - disable, - render, - update, - init, - destroy - }); - } - - function Scrollbar(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const document = getDocument(); - let isTouched = false; - let timeout = null; - let dragTimeout = null; - let dragStartPos; - let dragSize; - let trackSize; - let divider; - extendParams({ - scrollbar: { - el: null, - dragSize: 'auto', - hide: false, - draggable: false, - snapOnRelease: true, - lockClass: 'swiper-scrollbar-lock', - dragClass: 'swiper-scrollbar-drag', - scrollbarDisabledClass: 'swiper-scrollbar-disabled', - horizontalClass: `swiper-scrollbar-horizontal`, - verticalClass: `swiper-scrollbar-vertical` - } - }); - swiper.scrollbar = { - el: null, - dragEl: null - }; - function setTranslate() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - const { - scrollbar, - rtlTranslate: rtl - } = swiper; - const { - dragEl, - el - } = scrollbar; - const params = swiper.params.scrollbar; - const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress; - let newSize = dragSize; - let newPos = (trackSize - dragSize) * progress; - if (rtl) { - newPos = -newPos; - if (newPos > 0) { - newSize = dragSize - newPos; - newPos = 0; - } else if (-newPos + dragSize > trackSize) { - newSize = trackSize + newPos; - } - } else if (newPos < 0) { - newSize = dragSize + newPos; - newPos = 0; - } else if (newPos + dragSize > trackSize) { - newSize = trackSize - newPos; - } - if (swiper.isHorizontal()) { - dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`; - dragEl.style.width = `${newSize}px`; - } else { - dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`; - dragEl.style.height = `${newSize}px`; - } - if (params.hide) { - clearTimeout(timeout); - el.style.opacity = 1; - timeout = setTimeout(() => { - el.style.opacity = 0; - el.style.transitionDuration = '400ms'; - }, 1000); - } - } - function setTransition(duration) { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`; - } - function updateSize() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - const { - scrollbar - } = swiper; - const { - dragEl, - el - } = scrollbar; - dragEl.style.width = ''; - dragEl.style.height = ''; - trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight; - divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0)); - if (swiper.params.scrollbar.dragSize === 'auto') { - dragSize = trackSize * divider; - } else { - dragSize = parseInt(swiper.params.scrollbar.dragSize, 10); - } - if (swiper.isHorizontal()) { - dragEl.style.width = `${dragSize}px`; - } else { - dragEl.style.height = `${dragSize}px`; - } - if (divider >= 1) { - el.style.display = 'none'; - } else { - el.style.display = ''; - } - if (swiper.params.scrollbar.hide) { - el.style.opacity = 0; - } - if (swiper.params.watchOverflow && swiper.enabled) { - scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass); - } - } - function getPointerPosition(e) { - return swiper.isHorizontal() ? e.clientX : e.clientY; - } - function setDragPosition(e) { - const { - scrollbar, - rtlTranslate: rtl - } = swiper; - const { - el - } = scrollbar; - let positionRatio; - positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize); - positionRatio = Math.max(Math.min(positionRatio, 1), 0); - if (rtl) { - positionRatio = 1 - positionRatio; - } - const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio; - swiper.updateProgress(position); - swiper.setTranslate(position); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - function onDragStart(e) { - const params = swiper.params.scrollbar; - const { - scrollbar, - wrapperEl - } = swiper; - const { - el, - dragEl - } = scrollbar; - isTouched = true; - dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null; - e.preventDefault(); - e.stopPropagation(); - wrapperEl.style.transitionDuration = '100ms'; - dragEl.style.transitionDuration = '100ms'; - setDragPosition(e); - clearTimeout(dragTimeout); - el.style.transitionDuration = '0ms'; - if (params.hide) { - el.style.opacity = 1; - } - if (swiper.params.cssMode) { - swiper.wrapperEl.style['scroll-snap-type'] = 'none'; - } - emit('scrollbarDragStart', e); - } - function onDragMove(e) { - const { - scrollbar, - wrapperEl - } = swiper; - const { - el, - dragEl - } = scrollbar; - if (!isTouched) return; - if (e.preventDefault && e.cancelable) e.preventDefault();else e.returnValue = false; - setDragPosition(e); - wrapperEl.style.transitionDuration = '0ms'; - el.style.transitionDuration = '0ms'; - dragEl.style.transitionDuration = '0ms'; - emit('scrollbarDragMove', e); - } - function onDragEnd(e) { - const params = swiper.params.scrollbar; - const { - scrollbar, - wrapperEl - } = swiper; - const { - el - } = scrollbar; - if (!isTouched) return; - isTouched = false; - if (swiper.params.cssMode) { - swiper.wrapperEl.style['scroll-snap-type'] = ''; - wrapperEl.style.transitionDuration = ''; - } - if (params.hide) { - clearTimeout(dragTimeout); - dragTimeout = nextTick(() => { - el.style.opacity = 0; - el.style.transitionDuration = '400ms'; - }, 1000); - } - emit('scrollbarDragEnd', e); - if (params.snapOnRelease) { - swiper.slideToClosest(); - } - } - function events(method) { - const { - scrollbar, - params - } = swiper; - const el = scrollbar.el; - if (!el) return; - const target = el; - const activeListener = params.passiveListeners ? { - passive: false, - capture: false - } : false; - const passiveListener = params.passiveListeners ? { - passive: true, - capture: false - } : false; - if (!target) return; - const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; - target[eventMethod]('pointerdown', onDragStart, activeListener); - document[eventMethod]('pointermove', onDragMove, activeListener); - document[eventMethod]('pointerup', onDragEnd, passiveListener); - } - function enableDraggable() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - events('on'); - } - function disableDraggable() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - events('off'); - } - function init() { - const { - scrollbar, - el: swiperEl - } = swiper; - swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, { - el: 'swiper-scrollbar' - }); - const params = swiper.params.scrollbar; - if (!params.el) return; - let el; - if (typeof params.el === 'string' && swiper.isElement) { - el = swiper.el.querySelector(params.el); - } - if (!el && typeof params.el === 'string') { - el = document.querySelectorAll(params.el); - if (!el.length) return; - } else if (!el) { - el = params.el; - } - if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) { - el = swiperEl.querySelector(params.el); - } - if (el.length > 0) el = el[0]; - el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - let dragEl; - if (el) { - dragEl = el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass)); - if (!dragEl) { - dragEl = createElement('div', swiper.params.scrollbar.dragClass); - el.append(dragEl); - } - } - Object.assign(scrollbar, { - el, - dragEl - }); - if (params.draggable) { - enableDraggable(); - } - if (el) { - el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass)); - } - } - function destroy() { - const params = swiper.params.scrollbar; - const el = swiper.scrollbar.el; - if (el) { - el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass)); - } - disableDraggable(); - } - on('changeDirection', () => { - if (!swiper.scrollbar || !swiper.scrollbar.el) return; - const params = swiper.params.scrollbar; - let { - el - } = swiper.scrollbar; - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.classList.remove(params.horizontalClass, params.verticalClass); - subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - }); - }); - on('init', () => { - if (swiper.params.scrollbar.enabled === false) { - // eslint-disable-next-line - disable(); - } else { - init(); - updateSize(); - setTranslate(); - } - }); - on('update resize observerUpdate lock unlock changeDirection', () => { - updateSize(); - }); - on('setTranslate', () => { - setTranslate(); - }); - on('setTransition', (_s, duration) => { - setTransition(duration); - }); - on('enable disable', () => { - const { - el - } = swiper.scrollbar; - if (el) { - el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass)); - } - }); - on('destroy', () => { - destroy(); - }); - const enable = () => { - swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - if (swiper.scrollbar.el) { - swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - } - init(); - updateSize(); - setTranslate(); - }; - const disable = () => { - swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - if (swiper.scrollbar.el) { - swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - } - destroy(); - }; - Object.assign(swiper.scrollbar, { - enable, - disable, - updateSize, - setTranslate, - init, - destroy - }); - } - - function Parallax(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - parallax: { - enabled: false - } - }); - const elementsSelector = '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'; - const setTransform = (el, progress) => { - const { - rtl - } = swiper; - const rtlFactor = rtl ? -1 : 1; - const p = el.getAttribute('data-swiper-parallax') || '0'; - let x = el.getAttribute('data-swiper-parallax-x'); - let y = el.getAttribute('data-swiper-parallax-y'); - const scale = el.getAttribute('data-swiper-parallax-scale'); - const opacity = el.getAttribute('data-swiper-parallax-opacity'); - const rotate = el.getAttribute('data-swiper-parallax-rotate'); - if (x || y) { - x = x || '0'; - y = y || '0'; - } else if (swiper.isHorizontal()) { - x = p; - y = '0'; - } else { - y = p; - x = '0'; - } - if (x.indexOf('%') >= 0) { - x = `${parseInt(x, 10) * progress * rtlFactor}%`; - } else { - x = `${x * progress * rtlFactor}px`; - } - if (y.indexOf('%') >= 0) { - y = `${parseInt(y, 10) * progress}%`; - } else { - y = `${y * progress}px`; - } - if (typeof opacity !== 'undefined' && opacity !== null) { - const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress)); - el.style.opacity = currentOpacity; - } - let transform = `translate3d(${x}, ${y}, 0px)`; - if (typeof scale !== 'undefined' && scale !== null) { - const currentScale = scale - (scale - 1) * (1 - Math.abs(progress)); - transform += ` scale(${currentScale})`; - } - if (rotate && typeof rotate !== 'undefined' && rotate !== null) { - const currentRotate = rotate * progress * -1; - transform += ` rotate(${currentRotate}deg)`; - } - el.style.transform = transform; - }; - const setTranslate = () => { - const { - el, - slides, - progress, - snapGrid, - isElement - } = swiper; - const elements = elementChildren(el, elementsSelector); - if (swiper.isElement) { - elements.push(...elementChildren(swiper.hostEl, elementsSelector)); - } - elements.forEach(subEl => { - setTransform(subEl, progress); - }); - slides.forEach((slideEl, slideIndex) => { - let slideProgress = slideEl.progress; - if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') { - slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1); - } - slideProgress = Math.min(Math.max(slideProgress, -1), 1); - slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl => { - setTransform(subEl, slideProgress); - }); - }); - }; - const setTransition = function (duration) { - if (duration === void 0) { - duration = swiper.params.speed; - } - const { - el, - hostEl - } = swiper; - const elements = [...el.querySelectorAll(elementsSelector)]; - if (swiper.isElement) { - elements.push(...hostEl.querySelectorAll(elementsSelector)); - } - elements.forEach(parallaxEl => { - let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration; - if (duration === 0) parallaxDuration = 0; - parallaxEl.style.transitionDuration = `${parallaxDuration}ms`; - }); - }; - on('beforeInit', () => { - if (!swiper.params.parallax.enabled) return; - swiper.params.watchSlidesProgress = true; - swiper.originalParams.watchSlidesProgress = true; - }); - on('init', () => { - if (!swiper.params.parallax.enabled) return; - setTranslate(); - }); - on('setTranslate', () => { - if (!swiper.params.parallax.enabled) return; - setTranslate(); - }); - on('setTransition', (_swiper, duration) => { - if (!swiper.params.parallax.enabled) return; - setTransition(duration); - }); - } - - function Zoom(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const window = getWindow(); - extendParams({ - zoom: { - enabled: false, - limitToOriginalSize: false, - maxRatio: 3, - minRatio: 1, - toggle: true, - containerClass: 'swiper-zoom-container', - zoomedSlideClass: 'swiper-slide-zoomed' - } - }); - swiper.zoom = { - enabled: false - }; - let currentScale = 1; - let isScaling = false; - let fakeGestureTouched; - let fakeGestureMoved; - const evCache = []; - const gesture = { - originX: 0, - originY: 0, - slideEl: undefined, - slideWidth: undefined, - slideHeight: undefined, - imageEl: undefined, - imageWrapEl: undefined, - maxRatio: 3 - }; - const image = { - isTouched: undefined, - isMoved: undefined, - currentX: undefined, - currentY: undefined, - minX: undefined, - minY: undefined, - maxX: undefined, - maxY: undefined, - width: undefined, - height: undefined, - startX: undefined, - startY: undefined, - touchesStart: {}, - touchesCurrent: {} - }; - const velocity = { - x: undefined, - y: undefined, - prevPositionX: undefined, - prevPositionY: undefined, - prevTime: undefined - }; - let scale = 1; - Object.defineProperty(swiper.zoom, 'scale', { - get() { - return scale; - }, - set(value) { - if (scale !== value) { - const imageEl = gesture.imageEl; - const slideEl = gesture.slideEl; - emit('zoomChange', value, imageEl, slideEl); - } - scale = value; - } - }); - function getDistanceBetweenTouches() { - if (evCache.length < 2) return 1; - const x1 = evCache[0].pageX; - const y1 = evCache[0].pageY; - const x2 = evCache[1].pageX; - const y2 = evCache[1].pageY; - const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); - return distance; - } - function getMaxRatio() { - const params = swiper.params.zoom; - const maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio; - if (params.limitToOriginalSize && gesture.imageEl && gesture.imageEl.naturalWidth) { - const imageMaxRatio = gesture.imageEl.naturalWidth / gesture.imageEl.offsetWidth; - return Math.min(imageMaxRatio, maxRatio); - } - return maxRatio; - } - function getScaleOrigin() { - if (evCache.length < 2) return { - x: null, - y: null - }; - const box = gesture.imageEl.getBoundingClientRect(); - return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x - window.scrollX) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y - window.scrollY) / currentScale]; - } - function getSlideSelector() { - return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; - } - function eventWithinSlide(e) { - const slideSelector = getSlideSelector(); - if (e.target.matches(slideSelector)) return true; - if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true; - return false; - } - function eventWithinZoomContainer(e) { - const selector = `.${swiper.params.zoom.containerClass}`; - if (e.target.matches(selector)) return true; - if ([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true; - return false; - } - - // Events - function onGestureStart(e) { - if (e.pointerType === 'mouse') { - evCache.splice(0, evCache.length); - } - if (!eventWithinSlide(e)) return; - const params = swiper.params.zoom; - fakeGestureTouched = false; - fakeGestureMoved = false; - evCache.push(e); - if (evCache.length < 2) { - return; - } - fakeGestureTouched = true; - gesture.scaleStart = getDistanceBetweenTouches(); - if (!gesture.slideEl) { - gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); - if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex]; - let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); - if (imageEl) { - imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; - } - gesture.imageEl = imageEl; - if (imageEl) { - gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; - } else { - gesture.imageWrapEl = undefined; - } - if (!gesture.imageWrapEl) { - gesture.imageEl = undefined; - return; - } - gesture.maxRatio = getMaxRatio(); - } - if (gesture.imageEl) { - const [originX, originY] = getScaleOrigin(); - gesture.originX = originX; - gesture.originY = originY; - gesture.imageEl.style.transitionDuration = '0ms'; - } - isScaling = true; - } - function onGestureChange(e) { - if (!eventWithinSlide(e)) return; - const params = swiper.params.zoom; - const zoom = swiper.zoom; - const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId); - if (pointerIndex >= 0) evCache[pointerIndex] = e; - if (evCache.length < 2) { - return; - } - fakeGestureMoved = true; - gesture.scaleMove = getDistanceBetweenTouches(); - if (!gesture.imageEl) { - return; - } - zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale; - if (zoom.scale > gesture.maxRatio) { - zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5; - } - if (zoom.scale < params.minRatio) { - zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5; - } - gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; - } - function onGestureEnd(e) { - if (!eventWithinSlide(e)) return; - if (e.pointerType === 'mouse' && e.type === 'pointerout') return; - const params = swiper.params.zoom; - const zoom = swiper.zoom; - const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId); - if (pointerIndex >= 0) evCache.splice(pointerIndex, 1); - if (!fakeGestureTouched || !fakeGestureMoved) { - return; - } - fakeGestureTouched = false; - fakeGestureMoved = false; - if (!gesture.imageEl) return; - zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio); - gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`; - gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; - currentScale = zoom.scale; - isScaling = false; - if (zoom.scale > 1 && gesture.slideEl) { - gesture.slideEl.classList.add(`${params.zoomedSlideClass}`); - } else if (zoom.scale <= 1 && gesture.slideEl) { - gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`); - } - if (zoom.scale === 1) { - gesture.originX = 0; - gesture.originY = 0; - gesture.slideEl = undefined; - } - } - let allowTouchMoveTimeout; - function allowTouchMove() { - swiper.touchEventsData.preventTouchMoveFromPointerMove = false; - } - function preventTouchMove() { - clearTimeout(allowTouchMoveTimeout); - swiper.touchEventsData.preventTouchMoveFromPointerMove = true; - allowTouchMoveTimeout = setTimeout(() => { - allowTouchMove(); - }); - } - function onTouchStart(e) { - const device = swiper.device; - if (!gesture.imageEl) return; - if (image.isTouched) return; - if (device.android && e.cancelable) e.preventDefault(); - image.isTouched = true; - const event = evCache.length > 0 ? evCache[0] : e; - image.touchesStart.x = event.pageX; - image.touchesStart.y = event.pageY; - } - function onTouchMove(e) { - if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) { - return; - } - const zoom = swiper.zoom; - if (!gesture.imageEl) { - return; - } - if (!image.isTouched || !gesture.slideEl) { - return; - } - if (!image.isMoved) { - image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth; - image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight; - image.startX = getTranslate(gesture.imageWrapEl, 'x') || 0; - image.startY = getTranslate(gesture.imageWrapEl, 'y') || 0; - gesture.slideWidth = gesture.slideEl.offsetWidth; - gesture.slideHeight = gesture.slideEl.offsetHeight; - gesture.imageWrapEl.style.transitionDuration = '0ms'; - } - // Define if we need image drag - const scaledWidth = image.width * zoom.scale; - const scaledHeight = image.height * zoom.scale; - if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) { - allowTouchMove(); - return; - } - image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); - image.maxX = -image.minX; - image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); - image.maxY = -image.minY; - image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX; - image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY; - const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y)); - if (touchesDiff > 5) { - swiper.allowClick = false; - } - if (!image.isMoved && !isScaling) { - if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) { - image.isTouched = false; - allowTouchMove(); - return; - } - if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) { - image.isTouched = false; - allowTouchMove(); - return; - } - } - if (e.cancelable) { - e.preventDefault(); - } - e.stopPropagation(); - preventTouchMove(); - image.isMoved = true; - const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio); - const { - originX, - originY - } = gesture; - image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2); - image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2); - if (image.currentX < image.minX) { - image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8; - } - if (image.currentX > image.maxX) { - image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8; - } - if (image.currentY < image.minY) { - image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8; - } - if (image.currentY > image.maxY) { - image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8; - } - - // Velocity - if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x; - if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y; - if (!velocity.prevTime) velocity.prevTime = Date.now(); - velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2; - velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2; - if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0; - if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0; - velocity.prevPositionX = image.touchesCurrent.x; - velocity.prevPositionY = image.touchesCurrent.y; - velocity.prevTime = Date.now(); - gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`; - } - function onTouchEnd() { - const zoom = swiper.zoom; - if (!gesture.imageEl) return; - if (!image.isTouched || !image.isMoved) { - image.isTouched = false; - image.isMoved = false; - return; - } - image.isTouched = false; - image.isMoved = false; - let momentumDurationX = 300; - let momentumDurationY = 300; - const momentumDistanceX = velocity.x * momentumDurationX; - const newPositionX = image.currentX + momentumDistanceX; - const momentumDistanceY = velocity.y * momentumDurationY; - const newPositionY = image.currentY + momentumDistanceY; - - // Fix duration - if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x); - if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y); - const momentumDuration = Math.max(momentumDurationX, momentumDurationY); - image.currentX = newPositionX; - image.currentY = newPositionY; - // Define if we need image drag - const scaledWidth = image.width * zoom.scale; - const scaledHeight = image.height * zoom.scale; - image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); - image.maxX = -image.minX; - image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); - image.maxY = -image.minY; - image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX); - image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY); - gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`; - gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`; - } - function onTransitionEnd() { - const zoom = swiper.zoom; - if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) { - if (gesture.imageEl) { - gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)'; - } - if (gesture.imageWrapEl) { - gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)'; - } - gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`); - zoom.scale = 1; - currentScale = 1; - gesture.slideEl = undefined; - gesture.imageEl = undefined; - gesture.imageWrapEl = undefined; - gesture.originX = 0; - gesture.originY = 0; - } - } - function zoomIn(e) { - const zoom = swiper.zoom; - const params = swiper.params.zoom; - if (!gesture.slideEl) { - if (e && e.target) { - gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); - } - if (!gesture.slideEl) { - if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { - gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0]; - } else { - gesture.slideEl = swiper.slides[swiper.activeIndex]; - } - } - let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); - if (imageEl) { - imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; - } - gesture.imageEl = imageEl; - if (imageEl) { - gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; - } else { - gesture.imageWrapEl = undefined; - } - } - if (!gesture.imageEl || !gesture.imageWrapEl) return; - if (swiper.params.cssMode) { - swiper.wrapperEl.style.overflow = 'hidden'; - swiper.wrapperEl.style.touchAction = 'none'; - } - gesture.slideEl.classList.add(`${params.zoomedSlideClass}`); - let touchX; - let touchY; - let offsetX; - let offsetY; - let diffX; - let diffY; - let translateX; - let translateY; - let imageWidth; - let imageHeight; - let scaledWidth; - let scaledHeight; - let translateMinX; - let translateMinY; - let translateMaxX; - let translateMaxY; - let slideWidth; - let slideHeight; - if (typeof image.touchesStart.x === 'undefined' && e) { - touchX = e.pageX; - touchY = e.pageY; - } else { - touchX = image.touchesStart.x; - touchY = image.touchesStart.y; - } - const forceZoomRatio = typeof e === 'number' ? e : null; - if (currentScale === 1 && forceZoomRatio) { - touchX = undefined; - touchY = undefined; - } - const maxRatio = getMaxRatio(); - zoom.scale = forceZoomRatio || maxRatio; - currentScale = forceZoomRatio || maxRatio; - if (e && !(currentScale === 1 && forceZoomRatio)) { - slideWidth = gesture.slideEl.offsetWidth; - slideHeight = gesture.slideEl.offsetHeight; - offsetX = elementOffset(gesture.slideEl).left + window.scrollX; - offsetY = elementOffset(gesture.slideEl).top + window.scrollY; - diffX = offsetX + slideWidth / 2 - touchX; - diffY = offsetY + slideHeight / 2 - touchY; - imageWidth = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth; - imageHeight = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight; - scaledWidth = imageWidth * zoom.scale; - scaledHeight = imageHeight * zoom.scale; - translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0); - translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0); - translateMaxX = -translateMinX; - translateMaxY = -translateMinY; - translateX = diffX * zoom.scale; - translateY = diffY * zoom.scale; - if (translateX < translateMinX) { - translateX = translateMinX; - } - if (translateX > translateMaxX) { - translateX = translateMaxX; - } - if (translateY < translateMinY) { - translateY = translateMinY; - } - if (translateY > translateMaxY) { - translateY = translateMaxY; - } - } else { - translateX = 0; - translateY = 0; - } - if (forceZoomRatio && zoom.scale === 1) { - gesture.originX = 0; - gesture.originY = 0; - } - gesture.imageWrapEl.style.transitionDuration = '300ms'; - gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`; - gesture.imageEl.style.transitionDuration = '300ms'; - gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; - } - function zoomOut() { - const zoom = swiper.zoom; - const params = swiper.params.zoom; - if (!gesture.slideEl) { - if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { - gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0]; - } else { - gesture.slideEl = swiper.slides[swiper.activeIndex]; - } - let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); - if (imageEl) { - imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; - } - gesture.imageEl = imageEl; - if (imageEl) { - gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; - } else { - gesture.imageWrapEl = undefined; - } - } - if (!gesture.imageEl || !gesture.imageWrapEl) return; - if (swiper.params.cssMode) { - swiper.wrapperEl.style.overflow = ''; - swiper.wrapperEl.style.touchAction = ''; - } - zoom.scale = 1; - currentScale = 1; - gesture.imageWrapEl.style.transitionDuration = '300ms'; - gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)'; - gesture.imageEl.style.transitionDuration = '300ms'; - gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)'; - gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`); - gesture.slideEl = undefined; - gesture.originX = 0; - gesture.originY = 0; - } - - // Toggle Zoom - function zoomToggle(e) { - const zoom = swiper.zoom; - if (zoom.scale && zoom.scale !== 1) { - // Zoom Out - zoomOut(); - } else { - // Zoom In - zoomIn(e); - } - } - function getListeners() { - const passiveListener = swiper.params.passiveListeners ? { - passive: true, - capture: false - } : false; - const activeListenerWithCapture = swiper.params.passiveListeners ? { - passive: false, - capture: true - } : true; - return { - passiveListener, - activeListenerWithCapture - }; - } - - // Attach/Detach Events - function enable() { - const zoom = swiper.zoom; - if (zoom.enabled) return; - zoom.enabled = true; - const { - passiveListener, - activeListenerWithCapture - } = getListeners(); - - // Scale image - swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener); - swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture); - ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => { - swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener); - }); - - // Move image - swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture); - } - function disable() { - const zoom = swiper.zoom; - if (!zoom.enabled) return; - zoom.enabled = false; - const { - passiveListener, - activeListenerWithCapture - } = getListeners(); - - // Scale image - swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener); - swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture); - ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => { - swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener); - }); - - // Move image - swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture); - } - on('init', () => { - if (swiper.params.zoom.enabled) { - enable(); - } - }); - on('destroy', () => { - disable(); - }); - on('touchStart', (_s, e) => { - if (!swiper.zoom.enabled) return; - onTouchStart(e); - }); - on('touchEnd', (_s, e) => { - if (!swiper.zoom.enabled) return; - onTouchEnd(); - }); - on('doubleTap', (_s, e) => { - if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) { - zoomToggle(e); - } - }); - on('transitionEnd', () => { - if (swiper.zoom.enabled && swiper.params.zoom.enabled) { - onTransitionEnd(); - } - }); - on('slideChange', () => { - if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) { - onTransitionEnd(); - } - }); - Object.assign(swiper.zoom, { - enable, - disable, - in: zoomIn, - out: zoomOut, - toggle: zoomToggle - }); - } - - /* eslint no-bitwise: ["error", { "allow": [">>"] }] */ - function Controller(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - controller: { - control: undefined, - inverse: false, - by: 'slide' // or 'container' - } - }); - - swiper.controller = { - control: undefined - }; - function LinearSpline(x, y) { - const binarySearch = function search() { - let maxIndex; - let minIndex; - let guess; - return (array, val) => { - minIndex = -1; - maxIndex = array.length; - while (maxIndex - minIndex > 1) { - guess = maxIndex + minIndex >> 1; - if (array[guess] <= val) { - minIndex = guess; - } else { - maxIndex = guess; - } - } - return maxIndex; - }; - }(); - this.x = x; - this.y = y; - this.lastIndex = x.length - 1; - // Given an x value (x2), return the expected y2 value: - // (x1,y1) is the known point before given value, - // (x3,y3) is the known point after given value. - let i1; - let i3; - this.interpolate = function interpolate(x2) { - if (!x2) return 0; - - // Get the indexes of x1 and x3 (the array indexes before and after given x2): - i3 = binarySearch(this.x, x2); - i1 = i3 - 1; - - // We have our indexes i1 & i3, so we can calculate already: - // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1 - return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1]; - }; - return this; - } - function getInterpolateFunction(c) { - swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid); - } - function setTranslate(_t, byController) { - const controlled = swiper.controller.control; - let multiplier; - let controlledTranslate; - const Swiper = swiper.constructor; - function setControlledTranslate(c) { - if (c.destroyed) return; - - // this will create an Interpolate function based on the snapGrids - // x is the Grid of the scrolled scroller and y will be the controlled scroller - // it makes sense to create this only once and recall it for the interpolation - // the function does a lot of value caching for performance - const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate; - if (swiper.params.controller.by === 'slide') { - getInterpolateFunction(c); - // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid - // but it did not work out - controlledTranslate = -swiper.controller.spline.interpolate(-translate); - } - if (!controlledTranslate || swiper.params.controller.by === 'container') { - multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate()); - if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) { - multiplier = 1; - } - controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate(); - } - if (swiper.params.controller.inverse) { - controlledTranslate = c.maxTranslate() - controlledTranslate; - } - c.updateProgress(controlledTranslate); - c.setTranslate(controlledTranslate, swiper); - c.updateActiveIndex(); - c.updateSlidesClasses(); - } - if (Array.isArray(controlled)) { - for (let i = 0; i < controlled.length; i += 1) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTranslate(controlled[i]); - } - } - } else if (controlled instanceof Swiper && byController !== controlled) { - setControlledTranslate(controlled); - } - } - function setTransition(duration, byController) { - const Swiper = swiper.constructor; - const controlled = swiper.controller.control; - let i; - function setControlledTransition(c) { - if (c.destroyed) return; - c.setTransition(duration, swiper); - if (duration !== 0) { - c.transitionStart(); - if (c.params.autoHeight) { - nextTick(() => { - c.updateAutoHeight(); - }); - } - elementTransitionEnd(c.wrapperEl, () => { - if (!controlled) return; - c.transitionEnd(); - }); - } - } - if (Array.isArray(controlled)) { - for (i = 0; i < controlled.length; i += 1) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTransition(controlled[i]); - } - } - } else if (controlled instanceof Swiper && byController !== controlled) { - setControlledTransition(controlled); - } - } - function removeSpline() { - if (!swiper.controller.control) return; - if (swiper.controller.spline) { - swiper.controller.spline = undefined; - delete swiper.controller.spline; - } - } - on('beforeInit', () => { - if (typeof window !== 'undefined' && ( - // eslint-disable-line - typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) { - const controlElement = document.querySelector(swiper.params.controller.control); - if (controlElement && controlElement.swiper) { - swiper.controller.control = controlElement.swiper; - } else if (controlElement) { - const onControllerSwiper = e => { - swiper.controller.control = e.detail[0]; - swiper.update(); - controlElement.removeEventListener('init', onControllerSwiper); - }; - controlElement.addEventListener('init', onControllerSwiper); - } - return; - } - swiper.controller.control = swiper.params.controller.control; - }); - on('update', () => { - removeSpline(); - }); - on('resize', () => { - removeSpline(); - }); - on('observerUpdate', () => { - removeSpline(); - }); - on('setTranslate', (_s, translate, byController) => { - if (!swiper.controller.control || swiper.controller.control.destroyed) return; - swiper.controller.setTranslate(translate, byController); - }); - on('setTransition', (_s, duration, byController) => { - if (!swiper.controller.control || swiper.controller.control.destroyed) return; - swiper.controller.setTransition(duration, byController); - }); - Object.assign(swiper.controller, { - setTranslate, - setTransition - }); - } - - function A11y(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - a11y: { - enabled: true, - notificationClass: 'swiper-notification', - prevSlideMessage: 'Previous slide', - nextSlideMessage: 'Next slide', - firstSlideMessage: 'This is the first slide', - lastSlideMessage: 'This is the last slide', - paginationBulletMessage: 'Go to slide {{index}}', - slideLabelMessage: '{{index}} / {{slidesLength}}', - containerMessage: null, - containerRoleDescriptionMessage: null, - itemRoleDescriptionMessage: null, - slideRole: 'group', - id: null - } - }); - swiper.a11y = { - clicked: false - }; - let liveRegion = null; - let preventFocusHandler; - let focusTargetSlideEl; - let visibilityChangedTimestamp = new Date().getTime(); - function notify(message) { - const notification = liveRegion; - if (notification.length === 0) return; - notification.innerHTML = ''; - notification.innerHTML = message; - } - function getRandomNumber(size) { - if (size === void 0) { - size = 16; - } - const randomChar = () => Math.round(16 * Math.random()).toString(16); - return 'x'.repeat(size).replace(/x/g, randomChar); - } - function makeElFocusable(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('tabIndex', '0'); - }); - } - function makeElNotFocusable(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('tabIndex', '-1'); - }); - } - function addElRole(el, role) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('role', role); - }); - } - function addElRoleDescription(el, description) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-roledescription', description); - }); - } - function addElControls(el, controls) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-controls', controls); - }); - } - function addElLabel(el, label) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-label', label); - }); - } - function addElId(el, id) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('id', id); - }); - } - function addElLive(el, live) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-live', live); - }); - } - function disableEl(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-disabled', true); - }); - } - function enableEl(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-disabled', false); - }); - } - function onEnterOrSpaceKey(e) { - if (e.keyCode !== 13 && e.keyCode !== 32) return; - const params = swiper.params.a11y; - const targetEl = e.target; - if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) { - if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return; - } - if (swiper.navigation && swiper.navigation.prevEl && swiper.navigation.nextEl) { - const prevEls = makeElementsArray(swiper.navigation.prevEl); - const nextEls = makeElementsArray(swiper.navigation.nextEl); - if (nextEls.includes(targetEl)) { - if (!(swiper.isEnd && !swiper.params.loop)) { - swiper.slideNext(); - } - if (swiper.isEnd) { - notify(params.lastSlideMessage); - } else { - notify(params.nextSlideMessage); - } - } - if (prevEls.includes(targetEl)) { - if (!(swiper.isBeginning && !swiper.params.loop)) { - swiper.slidePrev(); - } - if (swiper.isBeginning) { - notify(params.firstSlideMessage); - } else { - notify(params.prevSlideMessage); - } - } - } - if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) { - targetEl.click(); - } - } - function updateNavigation() { - if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return; - const { - nextEl, - prevEl - } = swiper.navigation; - if (prevEl) { - if (swiper.isBeginning) { - disableEl(prevEl); - makeElNotFocusable(prevEl); - } else { - enableEl(prevEl); - makeElFocusable(prevEl); - } - } - if (nextEl) { - if (swiper.isEnd) { - disableEl(nextEl); - makeElNotFocusable(nextEl); - } else { - enableEl(nextEl); - makeElFocusable(nextEl); - } - } - } - function hasPagination() { - return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length; - } - function hasClickablePagination() { - return hasPagination() && swiper.params.pagination.clickable; - } - function updatePagination() { - const params = swiper.params.a11y; - if (!hasPagination()) return; - swiper.pagination.bullets.forEach(bulletEl => { - if (swiper.params.pagination.clickable) { - makeElFocusable(bulletEl); - if (!swiper.params.pagination.renderBullet) { - addElRole(bulletEl, 'button'); - addElLabel(bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, elementIndex(bulletEl) + 1)); - } - } - if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) { - bulletEl.setAttribute('aria-current', 'true'); - } else { - bulletEl.removeAttribute('aria-current'); - } - }); - } - const initNavEl = (el, wrapperId, message) => { - makeElFocusable(el); - if (el.tagName !== 'BUTTON') { - addElRole(el, 'button'); - el.addEventListener('keydown', onEnterOrSpaceKey); - } - addElLabel(el, message); - addElControls(el, wrapperId); - }; - const handlePointerDown = e => { - if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) { - preventFocusHandler = true; - } - swiper.a11y.clicked = true; - }; - const handlePointerUp = () => { - preventFocusHandler = false; - requestAnimationFrame(() => { - requestAnimationFrame(() => { - if (!swiper.destroyed) { - swiper.a11y.clicked = false; - } - }); - }); - }; - const onVisibilityChange = e => { - visibilityChangedTimestamp = new Date().getTime(); - }; - const handleFocus = e => { - if (swiper.a11y.clicked) return; - if (new Date().getTime() - visibilityChangedTimestamp < 100) return; - const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); - if (!slideEl || !swiper.slides.includes(slideEl)) return; - focusTargetSlideEl = slideEl; - const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex; - const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl); - if (isActive || isVisible) return; - if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return; - if (swiper.isHorizontal()) { - swiper.el.scrollLeft = 0; - } else { - swiper.el.scrollTop = 0; - } - requestAnimationFrame(() => { - if (preventFocusHandler) return; - swiper.slideTo(swiper.slides.indexOf(slideEl), 0); - preventFocusHandler = false; - }); - }; - const initSlides = () => { - const params = swiper.params.a11y; - if (params.itemRoleDescriptionMessage) { - addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage); - } - if (params.slideRole) { - addElRole(swiper.slides, params.slideRole); - } - const slidesLength = swiper.slides.length; - if (params.slideLabelMessage) { - swiper.slides.forEach((slideEl, index) => { - const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index; - const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength); - addElLabel(slideEl, ariaLabelMessage); - }); - } - }; - const init = () => { - const params = swiper.params.a11y; - swiper.el.append(liveRegion); - - // Container - const containerEl = swiper.el; - if (params.containerRoleDescriptionMessage) { - addElRoleDescription(containerEl, params.containerRoleDescriptionMessage); - } - if (params.containerMessage) { - addElLabel(containerEl, params.containerMessage); - } - - // Wrapper - const wrapperEl = swiper.wrapperEl; - const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`; - const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite'; - addElId(wrapperEl, wrapperId); - addElLive(wrapperEl, live); - - // Slide - initSlides(); - - // Navigation - let { - nextEl, - prevEl - } = swiper.navigation ? swiper.navigation : {}; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - if (nextEl) { - nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage)); - } - if (prevEl) { - prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage)); - } - - // Pagination - if (hasClickablePagination()) { - const paginationEl = makeElementsArray(swiper.pagination.el); - paginationEl.forEach(el => { - el.addEventListener('keydown', onEnterOrSpaceKey); - }); - } - - // Tab focus - const document = getDocument(); - document.addEventListener('visibilitychange', onVisibilityChange); - swiper.el.addEventListener('focus', handleFocus, true); - swiper.el.addEventListener('focus', handleFocus, true); - swiper.el.addEventListener('pointerdown', handlePointerDown, true); - swiper.el.addEventListener('pointerup', handlePointerUp, true); - }; - function destroy() { - if (liveRegion) liveRegion.remove(); - let { - nextEl, - prevEl - } = swiper.navigation ? swiper.navigation : {}; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - if (nextEl) { - nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey)); - } - if (prevEl) { - prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey)); - } - - // Pagination - if (hasClickablePagination()) { - const paginationEl = makeElementsArray(swiper.pagination.el); - paginationEl.forEach(el => { - el.removeEventListener('keydown', onEnterOrSpaceKey); - }); - } - const document = getDocument(); - document.removeEventListener('visibilitychange', onVisibilityChange); - // Tab focus - swiper.el.removeEventListener('focus', handleFocus, true); - swiper.el.removeEventListener('pointerdown', handlePointerDown, true); - swiper.el.removeEventListener('pointerup', handlePointerUp, true); - } - on('beforeInit', () => { - liveRegion = createElement('span', swiper.params.a11y.notificationClass); - liveRegion.setAttribute('aria-live', 'assertive'); - liveRegion.setAttribute('aria-atomic', 'true'); - }); - on('afterInit', () => { - if (!swiper.params.a11y.enabled) return; - init(); - }); - on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => { - if (!swiper.params.a11y.enabled) return; - initSlides(); - }); - on('fromEdge toEdge afterInit lock unlock', () => { - if (!swiper.params.a11y.enabled) return; - updateNavigation(); - }); - on('paginationUpdate', () => { - if (!swiper.params.a11y.enabled) return; - updatePagination(); - }); - on('destroy', () => { - if (!swiper.params.a11y.enabled) return; - destroy(); - }); - } - - function History(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - history: { - enabled: false, - root: '', - replaceState: false, - key: 'slides', - keepQuery: false - } - }); - let initialized = false; - let paths = {}; - const slugify = text => { - return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, ''); - }; - const getPathValues = urlOverride => { - const window = getWindow(); - let location; - if (urlOverride) { - location = new URL(urlOverride); - } else { - location = window.location; - } - const pathArray = location.pathname.slice(1).split('/').filter(part => part !== ''); - const total = pathArray.length; - const key = pathArray[total - 2]; - const value = pathArray[total - 1]; - return { - key, - value - }; - }; - const setHistory = (key, index) => { - const window = getWindow(); - if (!initialized || !swiper.params.history.enabled) return; - let location; - if (swiper.params.url) { - location = new URL(swiper.params.url); - } else { - location = window.location; - } - const slide = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${index}"]`) : swiper.slides[index]; - let value = slugify(slide.getAttribute('data-history')); - if (swiper.params.history.root.length > 0) { - let root = swiper.params.history.root; - if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1); - value = `${root}/${key ? `${key}/` : ''}${value}`; - } else if (!location.pathname.includes(key)) { - value = `${key ? `${key}/` : ''}${value}`; - } - if (swiper.params.history.keepQuery) { - value += location.search; - } - const currentState = window.history.state; - if (currentState && currentState.value === value) { - return; - } - if (swiper.params.history.replaceState) { - window.history.replaceState({ - value - }, null, value); - } else { - window.history.pushState({ - value - }, null, value); - } - }; - const scrollToSlide = (speed, value, runCallbacks) => { - if (value) { - for (let i = 0, length = swiper.slides.length; i < length; i += 1) { - const slide = swiper.slides[i]; - const slideHistory = slugify(slide.getAttribute('data-history')); - if (slideHistory === value) { - const index = swiper.getSlideIndex(slide); - swiper.slideTo(index, speed, runCallbacks); - } - } - } else { - swiper.slideTo(0, speed, runCallbacks); - } - }; - const setHistoryPopState = () => { - paths = getPathValues(swiper.params.url); - scrollToSlide(swiper.params.speed, paths.value, false); - }; - const init = () => { - const window = getWindow(); - if (!swiper.params.history) return; - if (!window.history || !window.history.pushState) { - swiper.params.history.enabled = false; - swiper.params.hashNavigation.enabled = true; - return; - } - initialized = true; - paths = getPathValues(swiper.params.url); - if (!paths.key && !paths.value) { - if (!swiper.params.history.replaceState) { - window.addEventListener('popstate', setHistoryPopState); - } - return; - } - scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit); - if (!swiper.params.history.replaceState) { - window.addEventListener('popstate', setHistoryPopState); - } - }; - const destroy = () => { - const window = getWindow(); - if (!swiper.params.history.replaceState) { - window.removeEventListener('popstate', setHistoryPopState); - } - }; - on('init', () => { - if (swiper.params.history.enabled) { - init(); - } - }); - on('destroy', () => { - if (swiper.params.history.enabled) { - destroy(); - } - }); - on('transitionEnd _freeModeNoMomentumRelease', () => { - if (initialized) { - setHistory(swiper.params.history.key, swiper.activeIndex); - } - }); - on('slideChange', () => { - if (initialized && swiper.params.cssMode) { - setHistory(swiper.params.history.key, swiper.activeIndex); - } - }); - } - - function HashNavigation(_ref) { - let { - swiper, - extendParams, - emit, - on - } = _ref; - let initialized = false; - const document = getDocument(); - const window = getWindow(); - extendParams({ - hashNavigation: { - enabled: false, - replaceState: false, - watchState: false, - getSlideIndex(_s, hash) { - if (swiper.virtual && swiper.params.virtual.enabled) { - const slideWithHash = swiper.slides.filter(slideEl => slideEl.getAttribute('data-hash') === hash)[0]; - if (!slideWithHash) return 0; - const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10); - return index; - } - return swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0]); - } - } - }); - const onHashChange = () => { - emit('hashChange'); - const newHash = document.location.hash.replace('#', ''); - const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex]; - const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : ''; - if (newHash !== activeSlideHash) { - const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash); - if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return; - swiper.slideTo(newIndex); - } - }; - const setHash = () => { - if (!initialized || !swiper.params.hashNavigation.enabled) return; - const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex]; - const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : ''; - if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) { - window.history.replaceState(null, null, `#${activeSlideHash}` || ''); - emit('hashSet'); - } else { - document.location.hash = activeSlideHash || ''; - emit('hashSet'); - } - }; - const init = () => { - if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return; - initialized = true; - const hash = document.location.hash.replace('#', ''); - if (hash) { - const speed = 0; - const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash); - swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true); - } - if (swiper.params.hashNavigation.watchState) { - window.addEventListener('hashchange', onHashChange); - } - }; - const destroy = () => { - if (swiper.params.hashNavigation.watchState) { - window.removeEventListener('hashchange', onHashChange); - } - }; - on('init', () => { - if (swiper.params.hashNavigation.enabled) { - init(); - } - }); - on('destroy', () => { - if (swiper.params.hashNavigation.enabled) { - destroy(); - } - }); - on('transitionEnd _freeModeNoMomentumRelease', () => { - if (initialized) { - setHash(); - } - }); - on('slideChange', () => { - if (initialized && swiper.params.cssMode) { - setHash(); - } - }); - } - - /* eslint no-underscore-dangle: "off" */ - /* eslint no-use-before-define: "off" */ - function Autoplay(_ref) { - let { - swiper, - extendParams, - on, - emit, - params - } = _ref; - swiper.autoplay = { - running: false, - paused: false, - timeLeft: 0 - }; - extendParams({ - autoplay: { - enabled: false, - delay: 3000, - waitForTransition: true, - disableOnInteraction: false, - stopOnLastSlide: false, - reverseDirection: false, - pauseOnMouseEnter: false - } - }); - let timeout; - let raf; - let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000; - let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000; - let autoplayTimeLeft; - let autoplayStartTime = new Date().getTime(); - let wasPaused; - let isTouched; - let pausedByTouch; - let touchStartTimeout; - let slideChanged; - let pausedByInteraction; - let pausedByPointerEnter; - function onTransitionEnd(e) { - if (!swiper || swiper.destroyed || !swiper.wrapperEl) return; - if (e.target !== swiper.wrapperEl) return; - swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd); - if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) { - return; - } - resume(); - } - const calcTimeLeft = () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - if (swiper.autoplay.paused) { - wasPaused = true; - } else if (wasPaused) { - autoplayDelayCurrent = autoplayTimeLeft; - wasPaused = false; - } - const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime(); - swiper.autoplay.timeLeft = timeLeft; - emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal); - raf = requestAnimationFrame(() => { - calcTimeLeft(); - }); - }; - const getSlideDelay = () => { - let activeSlideEl; - if (swiper.virtual && swiper.params.virtual.enabled) { - activeSlideEl = swiper.slides.filter(slideEl => slideEl.classList.contains('swiper-slide-active'))[0]; - } else { - activeSlideEl = swiper.slides[swiper.activeIndex]; - } - if (!activeSlideEl) return undefined; - const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10); - return currentSlideDelay; - }; - const run = delayForce => { - if (swiper.destroyed || !swiper.autoplay.running) return; - cancelAnimationFrame(raf); - calcTimeLeft(); - let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce; - autoplayDelayTotal = swiper.params.autoplay.delay; - autoplayDelayCurrent = swiper.params.autoplay.delay; - const currentSlideDelay = getSlideDelay(); - if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') { - delay = currentSlideDelay; - autoplayDelayTotal = currentSlideDelay; - autoplayDelayCurrent = currentSlideDelay; - } - autoplayTimeLeft = delay; - const speed = swiper.params.speed; - const proceed = () => { - if (!swiper || swiper.destroyed) return; - if (swiper.params.autoplay.reverseDirection) { - if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) { - swiper.slidePrev(speed, true, true); - emit('autoplay'); - } else if (!swiper.params.autoplay.stopOnLastSlide) { - swiper.slideTo(swiper.slides.length - 1, speed, true, true); - emit('autoplay'); - } - } else { - if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) { - swiper.slideNext(speed, true, true); - emit('autoplay'); - } else if (!swiper.params.autoplay.stopOnLastSlide) { - swiper.slideTo(0, speed, true, true); - emit('autoplay'); - } - } - if (swiper.params.cssMode) { - autoplayStartTime = new Date().getTime(); - requestAnimationFrame(() => { - run(); - }); - } - }; - if (delay > 0) { - clearTimeout(timeout); - timeout = setTimeout(() => { - proceed(); - }, delay); - } else { - requestAnimationFrame(() => { - proceed(); - }); - } - - // eslint-disable-next-line - return delay; - }; - const start = () => { - autoplayStartTime = new Date().getTime(); - swiper.autoplay.running = true; - run(); - emit('autoplayStart'); - }; - const stop = () => { - swiper.autoplay.running = false; - clearTimeout(timeout); - cancelAnimationFrame(raf); - emit('autoplayStop'); - }; - const pause = (internal, reset) => { - if (swiper.destroyed || !swiper.autoplay.running) return; - clearTimeout(timeout); - if (!internal) { - pausedByInteraction = true; - } - const proceed = () => { - emit('autoplayPause'); - if (swiper.params.autoplay.waitForTransition) { - swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd); - } else { - resume(); - } - }; - swiper.autoplay.paused = true; - if (reset) { - if (slideChanged) { - autoplayTimeLeft = swiper.params.autoplay.delay; - } - slideChanged = false; - proceed(); - return; - } - const delay = autoplayTimeLeft || swiper.params.autoplay.delay; - autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime); - if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return; - if (autoplayTimeLeft < 0) autoplayTimeLeft = 0; - proceed(); - }; - const resume = () => { - if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return; - autoplayStartTime = new Date().getTime(); - if (pausedByInteraction) { - pausedByInteraction = false; - run(autoplayTimeLeft); - } else { - run(); - } - swiper.autoplay.paused = false; - emit('autoplayResume'); - }; - const onVisibilityChange = () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - const document = getDocument(); - if (document.visibilityState === 'hidden') { - pausedByInteraction = true; - pause(true); - } - if (document.visibilityState === 'visible') { - resume(); - } - }; - const onPointerEnter = e => { - if (e.pointerType !== 'mouse') return; - pausedByInteraction = true; - pausedByPointerEnter = true; - if (swiper.animating || swiper.autoplay.paused) return; - pause(true); - }; - const onPointerLeave = e => { - if (e.pointerType !== 'mouse') return; - pausedByPointerEnter = false; - if (swiper.autoplay.paused) { - resume(); - } - }; - const attachMouseEvents = () => { - if (swiper.params.autoplay.pauseOnMouseEnter) { - swiper.el.addEventListener('pointerenter', onPointerEnter); - swiper.el.addEventListener('pointerleave', onPointerLeave); - } - }; - const detachMouseEvents = () => { - swiper.el.removeEventListener('pointerenter', onPointerEnter); - swiper.el.removeEventListener('pointerleave', onPointerLeave); - }; - const attachDocumentEvents = () => { - const document = getDocument(); - document.addEventListener('visibilitychange', onVisibilityChange); - }; - const detachDocumentEvents = () => { - const document = getDocument(); - document.removeEventListener('visibilitychange', onVisibilityChange); - }; - on('init', () => { - if (swiper.params.autoplay.enabled) { - attachMouseEvents(); - attachDocumentEvents(); - start(); - } - }); - on('destroy', () => { - detachMouseEvents(); - detachDocumentEvents(); - if (swiper.autoplay.running) { - stop(); - } - }); - on('_freeModeStaticRelease', () => { - if (pausedByTouch || pausedByInteraction) { - resume(); - } - }); - on('_freeModeNoMomentumRelease', () => { - if (!swiper.params.autoplay.disableOnInteraction) { - pause(true, true); - } else { - stop(); - } - }); - on('beforeTransitionStart', (_s, speed, internal) => { - if (swiper.destroyed || !swiper.autoplay.running) return; - if (internal || !swiper.params.autoplay.disableOnInteraction) { - pause(true, true); - } else { - stop(); - } - }); - on('sliderFirstMove', () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - if (swiper.params.autoplay.disableOnInteraction) { - stop(); - return; - } - isTouched = true; - pausedByTouch = false; - pausedByInteraction = false; - touchStartTimeout = setTimeout(() => { - pausedByInteraction = true; - pausedByTouch = true; - pause(true); - }, 200); - }); - on('touchEnd', () => { - if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return; - clearTimeout(touchStartTimeout); - clearTimeout(timeout); - if (swiper.params.autoplay.disableOnInteraction) { - pausedByTouch = false; - isTouched = false; - return; - } - if (pausedByTouch && swiper.params.cssMode) resume(); - pausedByTouch = false; - isTouched = false; - }); - on('slideChange', () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - slideChanged = true; - }); - Object.assign(swiper.autoplay, { - start, - stop, - pause, - resume - }); - } - - function Thumb(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - thumbs: { - swiper: null, - multipleActiveThumbs: true, - autoScrollOffset: 0, - slideThumbActiveClass: 'swiper-slide-thumb-active', - thumbsContainerClass: 'swiper-thumbs' - } - }); - let initialized = false; - let swiperCreated = false; - swiper.thumbs = { - swiper: null - }; - function onThumbClick() { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - const clickedIndex = thumbsSwiper.clickedIndex; - const clickedSlide = thumbsSwiper.clickedSlide; - if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return; - if (typeof clickedIndex === 'undefined' || clickedIndex === null) return; - let slideToIndex; - if (thumbsSwiper.params.loop) { - slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); - } else { - slideToIndex = clickedIndex; - } - if (swiper.params.loop) { - swiper.slideToLoop(slideToIndex); - } else { - swiper.slideTo(slideToIndex); - } - } - function init() { - const { - thumbs: thumbsParams - } = swiper.params; - if (initialized) return false; - initialized = true; - const SwiperClass = swiper.constructor; - if (thumbsParams.swiper instanceof SwiperClass) { - swiper.thumbs.swiper = thumbsParams.swiper; - Object.assign(swiper.thumbs.swiper.originalParams, { - watchSlidesProgress: true, - slideToClickedSlide: false - }); - Object.assign(swiper.thumbs.swiper.params, { - watchSlidesProgress: true, - slideToClickedSlide: false - }); - swiper.thumbs.swiper.update(); - } else if (isObject(thumbsParams.swiper)) { - const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper); - Object.assign(thumbsSwiperParams, { - watchSlidesProgress: true, - slideToClickedSlide: false - }); - swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams); - swiperCreated = true; - } - swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass); - swiper.thumbs.swiper.on('tap', onThumbClick); - return true; - } - function update(initial) { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView; - - // Activate thumbs - let thumbsToActivate = 1; - const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass; - if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) { - thumbsToActivate = swiper.params.slidesPerView; - } - if (!swiper.params.thumbs.multipleActiveThumbs) { - thumbsToActivate = 1; - } - thumbsToActivate = Math.floor(thumbsToActivate); - thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass)); - if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) { - for (let i = 0; i < thumbsToActivate; i += 1) { - elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach(slideEl => { - slideEl.classList.add(thumbActiveClass); - }); - } - } else { - for (let i = 0; i < thumbsToActivate; i += 1) { - if (thumbsSwiper.slides[swiper.realIndex + i]) { - thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass); - } - } - } - const autoScrollOffset = swiper.params.thumbs.autoScrollOffset; - const useOffset = autoScrollOffset && !thumbsSwiper.params.loop; - if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) { - const currentThumbsIndex = thumbsSwiper.activeIndex; - let newThumbsIndex; - let direction; - if (thumbsSwiper.params.loop) { - const newThumbsSlide = thumbsSwiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`)[0]; - newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide); - direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev'; - } else { - newThumbsIndex = swiper.realIndex; - direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev'; - } - if (useOffset) { - newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset; - } - if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) { - if (thumbsSwiper.params.centeredSlides) { - if (newThumbsIndex > currentThumbsIndex) { - newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1; - } else { - newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1; - } - } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ; - thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined); - } - } - } - on('beforeInit', () => { - const { - thumbs - } = swiper.params; - if (!thumbs || !thumbs.swiper) return; - if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) { - const document = getDocument(); - const getThumbsElementAndInit = () => { - const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper; - if (thumbsElement && thumbsElement.swiper) { - thumbs.swiper = thumbsElement.swiper; - init(); - update(true); - } else if (thumbsElement) { - const onThumbsSwiper = e => { - thumbs.swiper = e.detail[0]; - thumbsElement.removeEventListener('init', onThumbsSwiper); - init(); - update(true); - thumbs.swiper.update(); - swiper.update(); - }; - thumbsElement.addEventListener('init', onThumbsSwiper); - } - return thumbsElement; - }; - const watchForThumbsToAppear = () => { - if (swiper.destroyed) return; - const thumbsElement = getThumbsElementAndInit(); - if (!thumbsElement) { - requestAnimationFrame(watchForThumbsToAppear); - } - }; - requestAnimationFrame(watchForThumbsToAppear); - } else { - init(); - update(true); - } - }); - on('slideChange update resize observerUpdate', () => { - update(); - }); - on('setTransition', (_s, duration) => { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - thumbsSwiper.setTransition(duration); - }); - on('beforeDestroy', () => { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - if (swiperCreated) { - thumbsSwiper.destroy(); - } - }); - Object.assign(swiper.thumbs, { - init, - update - }); - } - - function freeMode(_ref) { - let { - swiper, - extendParams, - emit, - once - } = _ref; - extendParams({ - freeMode: { - enabled: false, - momentum: true, - momentumRatio: 1, - momentumBounce: true, - momentumBounceRatio: 1, - momentumVelocityRatio: 1, - sticky: false, - minimumVelocity: 0.02 - } - }); - function onTouchStart() { - if (swiper.params.cssMode) return; - const translate = swiper.getTranslate(); - swiper.setTranslate(translate); - swiper.setTransition(0); - swiper.touchEventsData.velocities.length = 0; - swiper.freeMode.onTouchEnd({ - currentPos: swiper.rtl ? swiper.translate : -swiper.translate - }); - } - function onTouchMove() { - if (swiper.params.cssMode) return; - const { - touchEventsData: data, - touches - } = swiper; - // Velocity - if (data.velocities.length === 0) { - data.velocities.push({ - position: touches[swiper.isHorizontal() ? 'startX' : 'startY'], - time: data.touchStartTime - }); - } - data.velocities.push({ - position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'], - time: now() - }); - } - function onTouchEnd(_ref2) { - let { - currentPos - } = _ref2; - if (swiper.params.cssMode) return; - const { - params, - wrapperEl, - rtlTranslate: rtl, - snapGrid, - touchEventsData: data - } = swiper; - // Time diff - const touchEndTime = now(); - const timeDiff = touchEndTime - data.touchStartTime; - if (currentPos < -swiper.minTranslate()) { - swiper.slideTo(swiper.activeIndex); - return; - } - if (currentPos > -swiper.maxTranslate()) { - if (swiper.slides.length < snapGrid.length) { - swiper.slideTo(snapGrid.length - 1); - } else { - swiper.slideTo(swiper.slides.length - 1); - } - return; - } - if (params.freeMode.momentum) { - if (data.velocities.length > 1) { - const lastMoveEvent = data.velocities.pop(); - const velocityEvent = data.velocities.pop(); - const distance = lastMoveEvent.position - velocityEvent.position; - const time = lastMoveEvent.time - velocityEvent.time; - swiper.velocity = distance / time; - swiper.velocity /= 2; - if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) { - swiper.velocity = 0; - } - // this implies that the user stopped moving a finger then released. - // There would be no events with distance zero, so the last event is stale. - if (time > 150 || now() - lastMoveEvent.time > 300) { - swiper.velocity = 0; - } - } else { - swiper.velocity = 0; - } - swiper.velocity *= params.freeMode.momentumVelocityRatio; - data.velocities.length = 0; - let momentumDuration = 1000 * params.freeMode.momentumRatio; - const momentumDistance = swiper.velocity * momentumDuration; - let newPosition = swiper.translate + momentumDistance; - if (rtl) newPosition = -newPosition; - let doBounce = false; - let afterBouncePosition; - const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio; - let needsLoopFix; - if (newPosition < swiper.maxTranslate()) { - if (params.freeMode.momentumBounce) { - if (newPosition + swiper.maxTranslate() < -bounceAmount) { - newPosition = swiper.maxTranslate() - bounceAmount; - } - afterBouncePosition = swiper.maxTranslate(); - doBounce = true; - data.allowMomentumBounce = true; - } else { - newPosition = swiper.maxTranslate(); - } - if (params.loop && params.centeredSlides) needsLoopFix = true; - } else if (newPosition > swiper.minTranslate()) { - if (params.freeMode.momentumBounce) { - if (newPosition - swiper.minTranslate() > bounceAmount) { - newPosition = swiper.minTranslate() + bounceAmount; - } - afterBouncePosition = swiper.minTranslate(); - doBounce = true; - data.allowMomentumBounce = true; - } else { - newPosition = swiper.minTranslate(); - } - if (params.loop && params.centeredSlides) needsLoopFix = true; - } else if (params.freeMode.sticky) { - let nextSlide; - for (let j = 0; j < snapGrid.length; j += 1) { - if (snapGrid[j] > -newPosition) { - nextSlide = j; - break; - } - } - if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') { - newPosition = snapGrid[nextSlide]; - } else { - newPosition = snapGrid[nextSlide - 1]; - } - newPosition = -newPosition; - } - if (needsLoopFix) { - once('transitionEnd', () => { - swiper.loopFix(); - }); - } - // Fix duration - if (swiper.velocity !== 0) { - if (rtl) { - momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity); - } else { - momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity); - } - if (params.freeMode.sticky) { - // If freeMode.sticky is active and the user ends a swipe with a slow-velocity - // event, then durations can be 20+ seconds to slide one (or zero!) slides. - // It's easy to see this when simulating touch with mouse events. To fix this, - // limit single-slide swipes to the default slide duration. This also has the - // nice side effect of matching slide speed if the user stopped moving before - // lifting finger or mouse vs. moving slowly before lifting the finger/mouse. - // For faster swipes, also apply limits (albeit higher ones). - const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate); - const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex]; - if (moveDistance < currentSlideSize) { - momentumDuration = params.speed; - } else if (moveDistance < 2 * currentSlideSize) { - momentumDuration = params.speed * 1.5; - } else { - momentumDuration = params.speed * 2.5; - } - } - } else if (params.freeMode.sticky) { - swiper.slideToClosest(); - return; - } - if (params.freeMode.momentumBounce && doBounce) { - swiper.updateProgress(afterBouncePosition); - swiper.setTransition(momentumDuration); - swiper.setTranslate(newPosition); - swiper.transitionStart(true, swiper.swipeDirection); - swiper.animating = true; - elementTransitionEnd(wrapperEl, () => { - if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return; - emit('momentumBounce'); - swiper.setTransition(params.speed); - setTimeout(() => { - swiper.setTranslate(afterBouncePosition); - elementTransitionEnd(wrapperEl, () => { - if (!swiper || swiper.destroyed) return; - swiper.transitionEnd(); - }); - }, 0); - }); - } else if (swiper.velocity) { - emit('_freeModeNoMomentumRelease'); - swiper.updateProgress(newPosition); - swiper.setTransition(momentumDuration); - swiper.setTranslate(newPosition); - swiper.transitionStart(true, swiper.swipeDirection); - if (!swiper.animating) { - swiper.animating = true; - elementTransitionEnd(wrapperEl, () => { - if (!swiper || swiper.destroyed) return; - swiper.transitionEnd(); - }); - } - } else { - swiper.updateProgress(newPosition); - } - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } else if (params.freeMode.sticky) { - swiper.slideToClosest(); - return; - } else if (params.freeMode) { - emit('_freeModeNoMomentumRelease'); - } - if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) { - emit('_freeModeStaticRelease'); - swiper.updateProgress(); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - } - Object.assign(swiper, { - freeMode: { - onTouchStart, - onTouchMove, - onTouchEnd - } - }); - } - - function Grid(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - grid: { - rows: 1, - fill: 'column' - } - }); - let slidesNumberEvenToRows; - let slidesPerRow; - let numFullColumns; - let wasMultiRow; - const getSpaceBetween = () => { - let spaceBetween = swiper.params.spaceBetween; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - return spaceBetween; - }; - const initSlides = slides => { - const { - slidesPerView - } = swiper.params; - const { - rows, - fill - } = swiper.params.grid; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length; - numFullColumns = Math.floor(slidesLength / rows); - if (Math.floor(slidesLength / rows) === slidesLength / rows) { - slidesNumberEvenToRows = slidesLength; - } else { - slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows; - } - if (slidesPerView !== 'auto' && fill === 'row') { - slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows); - } - slidesPerRow = slidesNumberEvenToRows / rows; - }; - const unsetSlides = () => { - if (swiper.slides) { - swiper.slides.forEach(slide => { - if (slide.swiperSlideGridSet) { - slide.style.height = ''; - slide.style[swiper.getDirectionLabel('margin-top')] = ''; - } - }); - } - }; - const updateSlide = (i, slide, slides) => { - const { - slidesPerGroup - } = swiper.params; - const spaceBetween = getSpaceBetween(); - const { - rows, - fill - } = swiper.params.grid; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length; - // Set slides order - let newSlideOrderIndex; - let column; - let row; - if (fill === 'row' && slidesPerGroup > 1) { - const groupIndex = Math.floor(i / (slidesPerGroup * rows)); - const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex; - const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup); - row = Math.floor(slideIndexInGroup / columnsInGroup); - column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup; - newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows; - slide.style.order = newSlideOrderIndex; - } else if (fill === 'column') { - column = Math.floor(i / rows); - row = i - column * rows; - if (column > numFullColumns || column === numFullColumns && row === rows - 1) { - row += 1; - if (row >= rows) { - row = 0; - column += 1; - } - } - } else { - row = Math.floor(i / slidesPerRow); - column = i - row * slidesPerRow; - } - slide.row = row; - slide.column = column; - slide.style.height = `calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`; - slide.style[swiper.getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : ''; - slide.swiperSlideGridSet = true; - }; - const updateWrapperSize = (slideSize, snapGrid) => { - const { - centeredSlides, - roundLengths - } = swiper.params; - const spaceBetween = getSpaceBetween(); - const { - rows - } = swiper.params.grid; - swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows; - swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween; - if (!swiper.params.cssMode) { - swiper.wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; - } - if (centeredSlides) { - const newSlidesGrid = []; - for (let i = 0; i < snapGrid.length; i += 1) { - let slidesGridItem = snapGrid[i]; - if (roundLengths) slidesGridItem = Math.floor(slidesGridItem); - if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem); - } - snapGrid.splice(0, snapGrid.length); - snapGrid.push(...newSlidesGrid); - } - }; - const onInit = () => { - wasMultiRow = swiper.params.grid && swiper.params.grid.rows > 1; - }; - const onUpdate = () => { - const { - params, - el - } = swiper; - const isMultiRow = params.grid && params.grid.rows > 1; - if (wasMultiRow && !isMultiRow) { - el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); - numFullColumns = 1; - swiper.emitContainerClasses(); - } else if (!wasMultiRow && isMultiRow) { - el.classList.add(`${params.containerModifierClass}grid`); - if (params.grid.fill === 'column') { - el.classList.add(`${params.containerModifierClass}grid-column`); - } - swiper.emitContainerClasses(); - } - wasMultiRow = isMultiRow; - }; - on('init', onInit); - on('update', onUpdate); - swiper.grid = { - initSlides, - unsetSlides, - updateSlide, - updateWrapperSize - }; - } - - function appendSlide(slides) { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (params.loop) { - swiper.loopDestroy(); - } - const appendElement = slideEl => { - if (typeof slideEl === 'string') { - const tempDOM = document.createElement('div'); - tempDOM.innerHTML = slideEl; - slidesEl.append(tempDOM.children[0]); - tempDOM.innerHTML = ''; - } else { - slidesEl.append(slideEl); - } - }; - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) appendElement(slides[i]); - } - } else { - appendElement(slides); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - } - - function prependSlide(slides) { - const swiper = this; - const { - params, - activeIndex, - slidesEl - } = swiper; - if (params.loop) { - swiper.loopDestroy(); - } - let newActiveIndex = activeIndex + 1; - const prependElement = slideEl => { - if (typeof slideEl === 'string') { - const tempDOM = document.createElement('div'); - tempDOM.innerHTML = slideEl; - slidesEl.prepend(tempDOM.children[0]); - tempDOM.innerHTML = ''; - } else { - slidesEl.prepend(slideEl); - } - }; - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) prependElement(slides[i]); - } - newActiveIndex = activeIndex + slides.length; - } else { - prependElement(slides); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - swiper.slideTo(newActiveIndex, 0, false); - } - - function addSlide(index, slides) { - const swiper = this; - const { - params, - activeIndex, - slidesEl - } = swiper; - let activeIndexBuffer = activeIndex; - if (params.loop) { - activeIndexBuffer -= swiper.loopedSlides; - swiper.loopDestroy(); - swiper.recalcSlides(); - } - const baseLength = swiper.slides.length; - if (index <= 0) { - swiper.prependSlide(slides); - return; - } - if (index >= baseLength) { - swiper.appendSlide(slides); - return; - } - let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer; - const slidesBuffer = []; - for (let i = baseLength - 1; i >= index; i -= 1) { - const currentSlide = swiper.slides[i]; - currentSlide.remove(); - slidesBuffer.unshift(currentSlide); - } - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) slidesEl.append(slides[i]); - } - newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer; - } else { - slidesEl.append(slides); - } - for (let i = 0; i < slidesBuffer.length; i += 1) { - slidesEl.append(slidesBuffer[i]); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - if (params.loop) { - swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); - } else { - swiper.slideTo(newActiveIndex, 0, false); - } - } - - function removeSlide(slidesIndexes) { - const swiper = this; - const { - params, - activeIndex - } = swiper; - let activeIndexBuffer = activeIndex; - if (params.loop) { - activeIndexBuffer -= swiper.loopedSlides; - swiper.loopDestroy(); - } - let newActiveIndex = activeIndexBuffer; - let indexToRemove; - if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) { - for (let i = 0; i < slidesIndexes.length; i += 1) { - indexToRemove = slidesIndexes[i]; - if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove(); - if (indexToRemove < newActiveIndex) newActiveIndex -= 1; - } - newActiveIndex = Math.max(newActiveIndex, 0); - } else { - indexToRemove = slidesIndexes; - if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove(); - if (indexToRemove < newActiveIndex) newActiveIndex -= 1; - newActiveIndex = Math.max(newActiveIndex, 0); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - if (params.loop) { - swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); - } else { - swiper.slideTo(newActiveIndex, 0, false); - } - } - - function removeAllSlides() { - const swiper = this; - const slidesIndexes = []; - for (let i = 0; i < swiper.slides.length; i += 1) { - slidesIndexes.push(i); - } - swiper.removeSlide(slidesIndexes); - } - - function Manipulation(_ref) { - let { - swiper - } = _ref; - Object.assign(swiper, { - appendSlide: appendSlide.bind(swiper), - prependSlide: prependSlide.bind(swiper), - addSlide: addSlide.bind(swiper), - removeSlide: removeSlide.bind(swiper), - removeAllSlides: removeAllSlides.bind(swiper) - }); - } - - function effectInit(params) { - const { - effect, - swiper, - on, - setTranslate, - setTransition, - overwriteParams, - perspective, - recreateShadows, - getEffectParams - } = params; - on('beforeInit', () => { - if (swiper.params.effect !== effect) return; - swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`); - if (perspective && perspective()) { - swiper.classNames.push(`${swiper.params.containerModifierClass}3d`); - } - const overwriteParamsResult = overwriteParams ? overwriteParams() : {}; - Object.assign(swiper.params, overwriteParamsResult); - Object.assign(swiper.originalParams, overwriteParamsResult); - }); - on('setTranslate', () => { - if (swiper.params.effect !== effect) return; - setTranslate(); - }); - on('setTransition', (_s, duration) => { - if (swiper.params.effect !== effect) return; - setTransition(duration); - }); - on('transitionEnd', () => { - if (swiper.params.effect !== effect) return; - if (recreateShadows) { - if (!getEffectParams || !getEffectParams().slideShadows) return; - // remove shadows - swiper.slides.forEach(slideEl => { - slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove()); - }); - // create new one - recreateShadows(); - } - }); - let requireUpdateOnVirtual; - on('virtualUpdate', () => { - if (swiper.params.effect !== effect) return; - if (!swiper.slides.length) { - requireUpdateOnVirtual = true; - } - requestAnimationFrame(() => { - if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) { - setTranslate(); - requireUpdateOnVirtual = false; - } - }); - }); - } - - function effectTarget(effectParams, slideEl) { - const transformEl = getSlideTransformEl(slideEl); - if (transformEl !== slideEl) { - transformEl.style.backfaceVisibility = 'hidden'; - transformEl.style['-webkit-backface-visibility'] = 'hidden'; - } - return transformEl; - } - - function effectVirtualTransitionEnd(_ref) { - let { - swiper, - duration, - transformElements, - allSlides - } = _ref; - const { - activeIndex - } = swiper; - const getSlide = el => { - if (!el.parentElement) { - // assume shadow root - const slide = swiper.slides.filter(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode)[0]; - return slide; - } - return el.parentElement; - }; - if (swiper.params.virtualTranslate && duration !== 0) { - let eventTriggered = false; - let transitionEndTarget; - if (allSlides) { - transitionEndTarget = transformElements; - } else { - transitionEndTarget = transformElements.filter(transformEl => { - const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl; - return swiper.getSlideIndex(el) === activeIndex; - }); - } - transitionEndTarget.forEach(el => { - elementTransitionEnd(el, () => { - if (eventTriggered) return; - if (!swiper || swiper.destroyed) return; - eventTriggered = true; - swiper.animating = false; - const evt = new window.CustomEvent('transitionend', { - bubbles: true, - cancelable: true - }); - swiper.wrapperEl.dispatchEvent(evt); - }); - }); - } - } - - function EffectFade(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - fadeEffect: { - crossFade: false - } - }); - const setTranslate = () => { - const { - slides - } = swiper; - const params = swiper.params.fadeEffect; - for (let i = 0; i < slides.length; i += 1) { - const slideEl = swiper.slides[i]; - const offset = slideEl.swiperSlideOffset; - let tx = -offset; - if (!swiper.params.virtualTranslate) tx -= swiper.translate; - let ty = 0; - if (!swiper.isHorizontal()) { - ty = tx; - tx = 0; - } - const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0); - const targetEl = effectTarget(params, slideEl); - targetEl.style.opacity = slideOpacity; - targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`; - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements, - allSlides: true - }); - }; - effectInit({ - effect: 'fade', - swiper, - on, - setTranslate, - setTransition, - overwriteParams: () => ({ - slidesPerView: 1, - slidesPerGroup: 1, - watchSlidesProgress: true, - spaceBetween: 0, - virtualTranslate: !swiper.params.cssMode - }) - }); - } - - function EffectCube(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - cubeEffect: { - slideShadows: true, - shadow: true, - shadowOffset: 20, - shadowScale: 0.94 - } - }); - const createSlideShadows = (slideEl, progress, isHorizontal) => { - let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); - let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); - if (!shadowBefore) { - shadowBefore = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`.split(' ')); - slideEl.append(shadowBefore); - } - if (!shadowAfter) { - shadowAfter = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`.split(' ')); - slideEl.append(shadowAfter); - } - if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0); - if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0); - }; - const recreateShadows = () => { - // create new ones - const isHorizontal = swiper.isHorizontal(); - swiper.slides.forEach(slideEl => { - const progress = Math.max(Math.min(slideEl.progress, 1), -1); - createSlideShadows(slideEl, progress, isHorizontal); - }); - }; - const setTranslate = () => { - const { - el, - wrapperEl, - slides, - width: swiperWidth, - height: swiperHeight, - rtlTranslate: rtl, - size: swiperSize, - browser - } = swiper; - const params = swiper.params.cubeEffect; - const isHorizontal = swiper.isHorizontal(); - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - let wrapperRotate = 0; - let cubeShadowEl; - if (params.shadow) { - if (isHorizontal) { - cubeShadowEl = swiper.wrapperEl.querySelector('.swiper-cube-shadow'); - if (!cubeShadowEl) { - cubeShadowEl = createElement('div', 'swiper-cube-shadow'); - swiper.wrapperEl.append(cubeShadowEl); - } - cubeShadowEl.style.height = `${swiperWidth}px`; - } else { - cubeShadowEl = el.querySelector('.swiper-cube-shadow'); - if (!cubeShadowEl) { - cubeShadowEl = createElement('div', 'swiper-cube-shadow'); - el.append(cubeShadowEl); - } - } - } - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - let slideIndex = i; - if (isVirtual) { - slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10); - } - let slideAngle = slideIndex * 90; - let round = Math.floor(slideAngle / 360); - if (rtl) { - slideAngle = -slideAngle; - round = Math.floor(-slideAngle / 360); - } - const progress = Math.max(Math.min(slideEl.progress, 1), -1); - let tx = 0; - let ty = 0; - let tz = 0; - if (slideIndex % 4 === 0) { - tx = -round * 4 * swiperSize; - tz = 0; - } else if ((slideIndex - 1) % 4 === 0) { - tx = 0; - tz = -round * 4 * swiperSize; - } else if ((slideIndex - 2) % 4 === 0) { - tx = swiperSize + round * 4 * swiperSize; - tz = swiperSize; - } else if ((slideIndex - 3) % 4 === 0) { - tx = -swiperSize; - tz = 3 * swiperSize + swiperSize * 4 * round; - } - if (rtl) { - tx = -tx; - } - if (!isHorizontal) { - ty = tx; - tx = 0; - } - const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`; - if (progress <= 1 && progress > -1) { - wrapperRotate = slideIndex * 90 + progress * 90; - if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90; - if (swiper.browser && swiper.browser.need3dFix && Math.abs(wrapperRotate) / 90 % 2 === 1) { - wrapperRotate += 0.001; - } - } - slideEl.style.transform = transform; - if (params.slideShadows) { - createSlideShadows(slideEl, progress, isHorizontal); - } - } - wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`; - wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`; - if (params.shadow) { - if (isHorizontal) { - cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`; - } else { - const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90; - const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2); - const scale1 = params.shadowScale; - const scale2 = params.shadowScale / multiplier; - const offset = params.shadowOffset; - cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`; - } - } - const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0; - wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`; - wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`); - }; - const setTransition = duration => { - const { - el, - slides - } = swiper; - slides.forEach(slideEl => { - slideEl.style.transitionDuration = `${duration}ms`; - slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => { - subEl.style.transitionDuration = `${duration}ms`; - }); - }); - if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) { - const shadowEl = el.querySelector('.swiper-cube-shadow'); - if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`; - } - }; - effectInit({ - effect: 'cube', - swiper, - on, - setTranslate, - setTransition, - recreateShadows, - getEffectParams: () => swiper.params.cubeEffect, - perspective: () => true, - overwriteParams: () => ({ - slidesPerView: 1, - slidesPerGroup: 1, - watchSlidesProgress: true, - resistanceRatio: 0, - spaceBetween: 0, - centeredSlides: false, - virtualTranslate: true - }) - }); - } - - function createShadow(suffix, slideEl, side) { - const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`; - const shadowContainer = getSlideTransformEl(slideEl); - let shadowEl = shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`); - if (!shadowEl) { - shadowEl = createElement('div', shadowClass.split(' ')); - shadowContainer.append(shadowEl); - } - return shadowEl; - } - - function EffectFlip(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - flipEffect: { - slideShadows: true, - limitRotation: true - } - }); - const createSlideShadows = (slideEl, progress) => { - let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); - let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); - if (!shadowBefore) { - shadowBefore = createShadow('flip', slideEl, swiper.isHorizontal() ? 'left' : 'top'); - } - if (!shadowAfter) { - shadowAfter = createShadow('flip', slideEl, swiper.isHorizontal() ? 'right' : 'bottom'); - } - if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0); - if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0); - }; - const recreateShadows = () => { - // Set shadows - swiper.params.flipEffect; - swiper.slides.forEach(slideEl => { - let progress = slideEl.progress; - if (swiper.params.flipEffect.limitRotation) { - progress = Math.max(Math.min(slideEl.progress, 1), -1); - } - createSlideShadows(slideEl, progress); - }); - }; - const setTranslate = () => { - const { - slides, - rtlTranslate: rtl - } = swiper; - const params = swiper.params.flipEffect; - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - let progress = slideEl.progress; - if (swiper.params.flipEffect.limitRotation) { - progress = Math.max(Math.min(slideEl.progress, 1), -1); - } - const offset = slideEl.swiperSlideOffset; - const rotate = -180 * progress; - let rotateY = rotate; - let rotateX = 0; - let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset; - let ty = 0; - if (!swiper.isHorizontal()) { - ty = tx; - tx = 0; - rotateX = -rotateY; - rotateY = 0; - } else if (rtl) { - rotateY = -rotateY; - } - if (swiper.browser && swiper.browser.need3dFix) { - if (Math.abs(rotateY) / 90 % 2 === 1) { - rotateY += 0.001; - } - if (Math.abs(rotateX) / 90 % 2 === 1) { - rotateX += 0.001; - } - } - slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length; - if (params.slideShadows) { - createSlideShadows(slideEl, progress); - } - const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`; - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = transform; - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements - }); - }; - effectInit({ - effect: 'flip', - swiper, - on, - setTranslate, - setTransition, - recreateShadows, - getEffectParams: () => swiper.params.flipEffect, - perspective: () => true, - overwriteParams: () => ({ - slidesPerView: 1, - slidesPerGroup: 1, - watchSlidesProgress: true, - spaceBetween: 0, - virtualTranslate: !swiper.params.cssMode - }) - }); - } - - function EffectCoverflow(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - coverflowEffect: { - rotate: 50, - stretch: 0, - depth: 100, - scale: 1, - modifier: 1, - slideShadows: true - } - }); - const setTranslate = () => { - const { - width: swiperWidth, - height: swiperHeight, - slides, - slidesSizesGrid - } = swiper; - const params = swiper.params.coverflowEffect; - const isHorizontal = swiper.isHorizontal(); - const transform = swiper.translate; - const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2; - const rotate = isHorizontal ? params.rotate : -params.rotate; - const translate = params.depth; - // Each slide offset from center - for (let i = 0, length = slides.length; i < length; i += 1) { - const slideEl = slides[i]; - const slideSize = slidesSizesGrid[i]; - const slideOffset = slideEl.swiperSlideOffset; - const centerOffset = (center - slideOffset - slideSize / 2) / slideSize; - const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier; - let rotateY = isHorizontal ? rotate * offsetMultiplier : 0; - let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; - // var rotateZ = 0 - let translateZ = -translate * Math.abs(offsetMultiplier); - let stretch = params.stretch; - // Allow percentage to make a relative stretch for responsive sliders - if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) { - stretch = parseFloat(params.stretch) / 100 * slideSize; - } - let translateY = isHorizontal ? 0 : stretch * offsetMultiplier; - let translateX = isHorizontal ? stretch * offsetMultiplier : 0; - let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); - - // Fix for ultra small values - if (Math.abs(translateX) < 0.001) translateX = 0; - if (Math.abs(translateY) < 0.001) translateY = 0; - if (Math.abs(translateZ) < 0.001) translateZ = 0; - if (Math.abs(rotateY) < 0.001) rotateY = 0; - if (Math.abs(rotateX) < 0.001) rotateX = 0; - if (Math.abs(scale) < 0.001) scale = 0; - if (swiper.browser && swiper.browser.need3dFix) { - if (Math.abs(rotateY) / 90 % 2 === 1) { - rotateY += 0.001; - } - if (Math.abs(rotateX) / 90 % 2 === 1) { - rotateX += 0.001; - } - } - const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`; - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = slideTransform; - slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; - if (params.slideShadows) { - // Set shadows - let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); - let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); - if (!shadowBeforeEl) { - shadowBeforeEl = createShadow('coverflow', slideEl, isHorizontal ? 'left' : 'top'); - } - if (!shadowAfterEl) { - shadowAfterEl = createShadow('coverflow', slideEl, isHorizontal ? 'right' : 'bottom'); - } - if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; - if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0; - } - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - }; - effectInit({ - effect: 'coverflow', - swiper, - on, - setTranslate, - setTransition, - perspective: () => true, - overwriteParams: () => ({ - watchSlidesProgress: true - }) - }); - } - - function EffectCreative(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - creativeEffect: { - limitProgress: 1, - shadowPerProgress: false, - progressMultiplier: 1, - perspective: true, - prev: { - translate: [0, 0, 0], - rotate: [0, 0, 0], - opacity: 1, - scale: 1 - }, - next: { - translate: [0, 0, 0], - rotate: [0, 0, 0], - opacity: 1, - scale: 1 - } - } - }); - const getTranslateValue = value => { - if (typeof value === 'string') return value; - return `${value}px`; - }; - const setTranslate = () => { - const { - slides, - wrapperEl, - slidesSizesGrid - } = swiper; - const params = swiper.params.creativeEffect; - const { - progressMultiplier: multiplier - } = params; - const isCenteredSlides = swiper.params.centeredSlides; - if (isCenteredSlides) { - const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0; - wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`; - } - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - const slideProgress = slideEl.progress; - const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress); - let originalProgress = progress; - if (!isCenteredSlides) { - originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress); - } - const offset = slideEl.swiperSlideOffset; - const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0]; - const r = [0, 0, 0]; - let custom = false; - if (!swiper.isHorizontal()) { - t[1] = t[0]; - t[0] = 0; - } - let data = { - translate: [0, 0, 0], - rotate: [0, 0, 0], - scale: 1, - opacity: 1 - }; - if (progress < 0) { - data = params.next; - custom = true; - } else if (progress > 0) { - data = params.prev; - custom = true; - } - // set translate - t.forEach((value, index) => { - t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`; - }); - // set rotates - r.forEach((value, index) => { - let val = data.rotate[index] * Math.abs(progress * multiplier); - if (swiper.browser && swiper.browser.need3dFix && Math.abs(val) / 90 % 2 === 1) { - val += 0.001; - } - r[index] = val; - }); - slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; - const translateString = t.join(', '); - const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`; - const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`; - const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier; - const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; - - // Set shadows - if (custom && data.shadow || !custom) { - let shadowEl = slideEl.querySelector('.swiper-slide-shadow'); - if (!shadowEl && data.shadow) { - shadowEl = createShadow('creative', slideEl); - } - if (shadowEl) { - const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress; - shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1); - } - } - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = transform; - targetEl.style.opacity = opacityString; - if (data.origin) { - targetEl.style.transformOrigin = data.origin; - } - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements, - allSlides: true - }); - }; - effectInit({ - effect: 'creative', - swiper, - on, - setTranslate, - setTransition, - perspective: () => swiper.params.creativeEffect.perspective, - overwriteParams: () => ({ - watchSlidesProgress: true, - virtualTranslate: !swiper.params.cssMode - }) - }); - } - - function EffectCards(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - cardsEffect: { - slideShadows: true, - rotate: true, - perSlideRotate: 2, - perSlideOffset: 8 - } - }); - const setTranslate = () => { - const { - slides, - activeIndex, - rtlTranslate: rtl - } = swiper; - const params = swiper.params.cardsEffect; - const { - startTranslate, - isTouched - } = swiper.touchEventsData; - const currentTranslate = rtl ? -swiper.translate : swiper.translate; - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - const slideProgress = slideEl.progress; - const progress = Math.min(Math.max(slideProgress, -4), 4); - let offset = slideEl.swiperSlideOffset; - if (swiper.params.centeredSlides && !swiper.params.cssMode) { - swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`; - } - if (swiper.params.centeredSlides && swiper.params.cssMode) { - offset -= slides[0].swiperSlideOffset; - } - let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset; - let tY = 0; - const tZ = -100 * Math.abs(progress); - let scale = 1; - let rotate = -params.perSlideRotate * progress; - let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75; - const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i; - const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate; - const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate; - if (isSwipeToNext || isSwipeToPrev) { - const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5; - rotate += -28 * progress * subProgress; - scale += -0.5 * subProgress; - tXAdd += 96 * subProgress; - tY = `${-25 * subProgress * Math.abs(progress)}%`; - } - if (progress < 0) { - // next - tX = `calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`; - } else if (progress > 0) { - // prev - tX = `calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`; - } else { - tX = `${tX}px`; - } - if (!swiper.isHorizontal()) { - const prevY = tY; - tY = tX; - tX = prevY; - } - const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`; - - /* eslint-disable */ - const transform = ` - translate3d(${tX}, ${tY}, ${tZ}px) - rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg) - scale(${scaleString}) - `; - /* eslint-enable */ - - if (params.slideShadows) { - // Set shadows - let shadowEl = slideEl.querySelector('.swiper-slide-shadow'); - if (!shadowEl) { - shadowEl = createShadow('cards', slideEl); - } - if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1); - } - slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = transform; - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements - }); - }; - effectInit({ - effect: 'cards', - swiper, - on, - setTranslate, - setTransition, - perspective: () => true, - overwriteParams: () => ({ - watchSlidesProgress: true, - virtualTranslate: !swiper.params.cssMode - }) - }); - } - - /** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - - - // Swiper Class - const modules = [Virtual, Keyboard, Mousewheel, Navigation, Pagination, Scrollbar, Parallax, Zoom, Controller, A11y, History, HashNavigation, Autoplay, Thumb, freeMode, Grid, Manipulation, EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCreative, EffectCards]; - Swiper.use(modules); - - return Swiper; - -})(); diff --git a/node_modules/swiper/swiper-bundle.min.css b/node_modules/swiper/swiper-bundle.min.css deleted file mode 100644 index 3ad67d3..0000000 --- a/node_modules/swiper/swiper-bundle.min.css +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/node_modules/swiper/swiper-bundle.min.js b/node_modules/swiper/swiper-bundle.min.js deleted file mode 100644 index 4a0e5d9..0000000 --- a/node_modules/swiper/swiper-bundle.min.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -var Swiper=function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={}),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}function n(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function l(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function d(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function c(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function p(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let a=1;at.indexOf(e)<0));for(let t=0,a=s.length;tn?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function g(e){try{return void console.warn(e)}catch(e){}}function v(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:n(t)),s}function w(e){const t=r(),s=a(),i=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,c=e===t?t.scrollX:e.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}function b(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function y(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function E(e,t){const s=[];let a=e.parentElement;for(;a;)t?a.matches(t)&&s.push(a):s.push(a),a=a.parentElement;return s}function x(e,t){t&&e.addEventListener("transitionend",(function s(a){a.target===e&&(t.call(e,a),e.removeEventListener("transitionend",s))}))}function S(e,t,s){const a=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function T(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}let M,C,P;function L(){return M||(M=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),M}function I(e){return void 0===e&&(e={}),C||(C=function(e){let{userAgent:t}=void 0===e?{}:e;const s=L(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),C}function A(){return P||(P=function(){const e=r(),t=I();let s=!1;function a(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(a()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,a]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&a<2}}const i=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=a();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||i&&t.ios,isWebView:i}}()),P}var z={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};const $=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const k=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const O=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},D=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},G=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const a="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=i,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+a+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&D(e,s)}))}const r=i+a-1;if(e.params.rewind||e.params.loop)for(let a=i-t;a<=r+t;a+=1){const t=(a%s+s)%s;(tr)&&D(e,t)}else for(let a=Math.max(i-t,0);a<=Math.min(r+t,s-1);a+=1)a!==i&&(a>r||a=0?x=parseFloat(x.replace("%",""))/100*r:"string"==typeof x&&(x=parseFloat(x)),e.virtualSize=-x,c.forEach((e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(u(a,"--swiper-centered-offset-before",""),u(a,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const I="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let a=0;a1&&m.push(e.virtualSize-r)}if(o&&s.loop){const t=g[0]+x;if(s.slidesPerGroup>1){const a=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),i=t*s.slidesPerGroup;for(let e=0;e!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${x}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=e-r;m=m.map((e=>e<=0?-v:e>t?t+w:e))}if(s.centerInsufficientSlides){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t{m[t]=e-s})),h.forEach(((e,t)=>{h[t]=e+s}))}}if(Object.assign(e,{slides:c,snapGrid:m,slidesGrid:h,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){u(a,"--swiper-centered-offset-before",-m[0]+"px"),u(a,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),m.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==E&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,a=e.el.classList.contains(t);p<=s.maxBackfaceHiddenSlides?a||e.el.classList.add(t):a&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(i=0;it.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;ir?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e=0&&u<=t.size-t.slidesSizesGrid[e],f=u>=0&&u1&&m<=t.size||u<=0&&m>=t.size;f&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),$(o,f,s.slideVisibleClass),$(o,h,s.slideFullyVisibleClass),o.progress=i?-c:c,o.originalProgress=i?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===a)i=0,r=!0,n=!0;else{i=(e-t.minTranslate())/a;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||i<=0,n=l||i>=1,s&&(i=0),l&&(i=1)}if(s.loop){const s=t.getSlideIndexByData(0),a=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[s],r=t.slidesGrid[a],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=i?(o-i)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(a,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${i}"]`);else n?(o=t.filter((e=>e.column===i))[0],c=t.filter((e=>e.column===i+1))[0],d=t.filter((e=>e.column===i-1))[0]):o=t[i];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const a=e.nextElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const a=e.previousElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{k(e,e===o,s.slideActiveClass),k(e,e===c,s.slideNextClass),k(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:i,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,a=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e=t[e]&&a=t[e]&&a=t[e]&&(i=e);return s.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(t)),a.indexOf(s)>=0)o=a.indexOf(s);else{const e=Math.min(i.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/i.slidesPerGroup)}if(o>=a.length&&(o=a.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&i.grid&&i.grid.rows>1;let u;if(t.virtual&&i.virtual.enabled&&i.loop)u=c(d);else if(p){const e=t.slides.filter((e=>e.column===d))[0];let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/i.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&G(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,a=s.params;let i=e.closest(`.${a.slideClass}, swiper-slide`);!i&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!i&&e.matches&&e.matches(`.${a.slideClass}, swiper-slide`)&&(i=e)}));let r,n=!1;if(i)for(let e=0;eo?o:a&&en?"next":r=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():wr.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}))}else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const i=this;if(i.destroyed)return;void 0===t&&(t=i.params.speed);const r=i.grid&&i.params.grid&&i.params.grid.rows>1;let n=e;if(i.params.loop)if(i.virtual&&i.params.virtual.enabled)n+=i.virtual.slidesBefore;else{let e;if(r){const t=n*i.params.grid.rows;e=i.slides.filter((e=>1*e.getAttribute("data-swiper-slide-index")===t))[0].column}else e=i.getSlideIndexByData(n);const t=r?Math.ceil(i.slides.length/i.params.grid.rows):i.slides.length,{centeredSlides:s}=i.params;let l=i.params.slidesPerView;"auto"===l?l=i.slidesPerViewDynamic():(l=Math.ceil(parseFloat(i.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e1*t.getAttribute("data-swiper-slide-index")===e))[0].column}else n=i.getSlideIndexByData(n)}return requestAnimationFrame((()=>{i.slideTo(n,t,s,a)})),i},slideNext:function(e,t,s){void 0===t&&(t=!0);const a=this,{enabled:i,params:r,animating:n}=a;if(!i||a.destroyed)return a;void 0===e&&(e=a.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex{a.slideTo(a.activeIndex+o,e,t,s)})),!0}return r.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const a=this,{params:i,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=a;if(!o||a.destroyed)return a;void 0===e&&(e=a.params.speed);const c=a.virtual&&i.virtual.enabled;if(i.loop){if(d&&!c&&i.loopPreventsSliding)return!1;a.loopFix({direction:"prev"}),a._clientLeft=a.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?a.translate:-a.translate),m=r.map((e=>p(e)));let h=r[m.indexOf(u)-1];if(void 0===h&&i.cssMode){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(h=r[e>0?e-1:e])}let f=0;if(void 0!==h&&(f=n.indexOf(h),f<0&&(f=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(f=f-a.slidesPerViewDynamic("previous",!0)+1,f=Math.max(f,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return i.loop&&0===a.activeIndex&&i.cssMode?(requestAnimationFrame((()=>{a.slideTo(f,e,t,s)})),!0):a.slideTo(f,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const a=this;if(!a.destroyed)return void 0===e&&(e=a.params.speed),a.slideTo(a.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;if(i.destroyed)return;void 0===e&&(e=i.params.speed);let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;const n=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var Y={loopCreate:function(e){const t=this,{params:s,slidesEl:a}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;const i=()=>{f(a,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},r=t.grid&&s.grid&&s.grid.rows>1,n=s.slidesPerGroup*(r?s.grid.rows:1),l=t.slides.length%n!=0,o=r&&t.slides.length%s.grid.rows!=0,d=e=>{for(let a=0;a1;d.lengthe.classList.contains(m.slideActiveClass)))[0]):x=r;const S="next"===a||!a,T="prev"===a||!a;let M=0,C=0;const P=b?Math.ceil(d.length/m.grid.rows):d.length,L=(b?d[r].column:r)+(h&&void 0===i?-f/2+.5:0);if(L=0;t-=1)d[t].column===e&&y.push(t)}else y.push(P-t-1)}}else if(L+f>P-w){C=Math.max(L-(P-2*w),v);for(let e=0;e{e.column===t&&E.push(s)})):E.push(t)}}if(o.__preventObserver__=!0,requestAnimationFrame((()=>{o.__preventObserver__=!1})),T&&y.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1})),S&&E.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1})),o.recalcSlides(),"auto"===m.slidesPerView?o.updateSlides():b&&(y.length>0&&T||E.length>0&&S)&&o.slides.forEach(((e,t)=>{o.grid.updateSlide(t,e,o.slides)})),m.watchSlidesProgress&&o.updateSlidesOffset(),s)if(y.length>0&&T){if(void 0===t){const e=o.slidesGrid[x],t=o.slidesGrid[x+M]-e;l?o.setTranslate(o.translate-t):(o.slideTo(x+Math.ceil(M),0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else if(i){const e=b?y.length/m.grid.rows:y.length;o.slideTo(o.activeIndex+e,0,!1,!0),o.touchEventsData.currentTranslate=o.translate}}else if(E.length>0&&S)if(void 0===t){const e=o.slidesGrid[x],t=o.slidesGrid[x-C]-e;l?o.setTranslate(o.translate-t):(o.slideTo(x-C,0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else{const e=b?E.length/m.grid.rows:E.length;o.slideTo(o.activeIndex-e,0,!1,!0)}if(o.allowSlidePrev=c,o.allowSlideNext=p,o.controller&&o.controller.control&&!n){const e={slideRealIndex:t,direction:a,setTranslate:i,activeSlideIndex:r,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===m.slidesPerView&&s})})):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix({...e,slideTo:o.controller.control.params.slidesPerView===m.slidesPerView&&s})}o.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const a=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),a.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function R(e,t,s){const a=r(),{params:i}=e,n=i.edgeSwipeDetection,l=i.edgeSwipeThreshold;return!n||!(s<=l||s>=a.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function F(e){const t=this,s=a();let i=e;i.originalEvent&&(i=i.originalEvent);const n=t.touchEventsData;if("pointerdown"===i.type){if(null!==n.pointerId&&n.pointerId!==i.pointerId)return;n.pointerId=i.pointerId}else"touchstart"===i.type&&1===i.targetTouches.length&&(n.touchId=i.targetTouches[0].identifier);if("touchstart"===i.type)return void R(t,i,i.targetTouches[0].pageX);const{params:l,touches:d,enabled:c}=t;if(!c)return;if(!l.simulateTouch&&"mouse"===i.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=i.target;if("wrapper"===l.touchEventsTarget&&!t.wrapperEl.contains(p))return;if("which"in i&&3===i.which)return;if("button"in i&&i.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,m=i.composedPath?i.composedPath():i.path;u&&i.target&&i.target.shadowRoot&&m&&(p=m[0]);const h=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!i.target||!i.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(h,p):p.closest(h)))return void(t.allowClick=!0);if(l.swipeHandler&&!p.closest(l.swipeHandler))return;d.currentX=i.pageX,d.currentY=i.pageY;const g=d.currentX,v=d.currentY;if(!R(t,i,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||p.isContentEditable||i.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",i)}function q(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==i.touchId)return;if(p.pointerId!==i.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].filter((e=>e.identifier===i.touchId))[0],!c||c.identifier!==i.touchId)return}else c=p;if(!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),i.touchStartTime=o()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(un.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&p.target===t.activeElement&&p.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);i.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",p),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling||"touchmove"===p.type&&i.preventTouchMoveFromPointerMove)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?h:f,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 w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!i.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),i.isMoved&&i.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:i.currentTranslate}),i.loopSwapReset=!0,void(i.startTranslate=i.currentTranslate);s.emit("sliderMove",p),i.isMoved=!0,i.currentTranslate=g+i.startTranslate;let E=!0,x=r.resistanceRatio;if(r.touchReleaseOnEdges&&(x=0),g>0?(b&&y&&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()&&(E=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+g)**x))):g<0&&(b&&y&&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-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}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 V(e){const t=this,s=t.touchEventsData;let a,i=e;i.originalEvent&&(i=i.originalEvent);if("touchend"===i.type||"touchcancel"===i.type){if(a=[...i.changedTouches].filter((e=>e.identifier===s.touchId))[0],!a||a.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(i.pointerId!==s.pointerId)return;a=i}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(i.type)){if(!(["pointercancel","contextmenu"].includes(i.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:r,touches:n,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===i.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",i),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),m=u-s.touchStartTime;if(t.allowClick){const e=i.path||i.composedPath&&i.composedPath();t.updateClickedSlide(e&&e[0]||i.target,e),t.emit("tap click",i),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",i)}if(s.lastClickTime=o(),l((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===n.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e=c[e]&&h=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-c[g])/v,E=gr.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+E):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+E):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(i.target===t.navigation.nextEl||i.target===t.navigation.prevEl)?i.target===t.navigation.nextEl?t.slideTo(g+E):t.slideTo(g):("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+E),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g))}}function _(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function W(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function j(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function U(e){const t=this;O(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function K(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const Z=(e,t)=>{const s=a(),{params:i,el:r,wrapperEl:n,device:l}=e,o=!!i.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[d]("click",e.onClick,!0),i.cssMode&&n[d]("scroll",e.onScroll),i.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",_,!0):e[c]("observerUpdate",_,!0),r[d]("load",e.onLoad,{capture:!0})};const Q=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var J={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 ee(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(!0===e[a]&&(e[a]={enabled:!0}),"navigation"===a&&e[a]&&e[a].enabled&&!e[a].prevEl&&!e[a].nextEl&&(e[a].auto=!0),["pagination","scrollbar"].indexOf(a)>=0&&e[a]&&e[a].enabled&&!e[a].el&&(e[a].auto=!0),a in e&&"enabled"in i?("object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),p(t,s)):p(t,s)):p(t,s)}}const te={eventsEmitter:z,update:H,translate:N,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),X({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),X({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:B,loop:Y,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=F.bind(e),e.onTouchMove=q.bind(e),e.onTouchEnd=V.bind(e),e.onDocumentTouchStart=K.bind(e),t.cssMode&&(e.onScroll=j.bind(e)),e.onClick=W.bind(e),e.onLoad=U.bind(e),Z(e,"on")},detachEvents:function(){Z(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:a,el:i}=e,r=a.breakpoints;if(!r||r&&0===Object.keys(r).length)return;const n=e.getBreakpoint(r,e.params.breakpointsBase,e.el);if(!n||e.currentBreakpoint===n)return;const l=(n in r?r[n]:void 0)||e.originalParams,o=Q(e,a),d=Q(e,l),c=e.params.grabCursor,u=l.grabCursor,m=a.enabled;o&&!d?(i.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!o&&d&&(i.classList.add(`${a.containerModifierClass}grid`),(l.grid.fill&&"column"===l.grid.fill||!l.grid.fill&&"column"===a.grid.fill)&&i.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),c&&!u?e.unsetGrabCursor():!c&&u&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===l[t])return;const s=a[t]&&a[t].enabled,i=l[t]&&l[t].enabled;s&&!i&&e[t].disable(),!s&&i&&e[t].enable()}));const h=l.direction&&l.direction!==a.direction,f=a.loop&&(l.slidesPerView!==a.slidesPerView||h),g=a.loop;h&&s&&e.changeDirection(),p(e.params,l);const v=e.params.enabled,w=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),m&&!v?e.disable():!m&&v&&e.enable(),e.currentBreakpoint=n,e.emit("_beforeBreakpoint",l),s&&(f?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!g&&w?(e.loopCreate(t),e.updateSlides()):g&&!w&&e.loopDestroy()),e.emit("breakpoint",l)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,el:i,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}}},se={};class ae{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const a=p({},t,{el:s});e.push(new ae(a))})),e}const l=this;l.__swiper__=!0,l.support=L(),l.device=I({userAgent:t.userAgent}),l.browser=A(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:ee(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=p({},J,o);return l.params=p({},d,se,t),l.originalParams=p({},l.params),l.passedParams=p({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,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:l.params.allowSlideNext,allowSlidePrev:l.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:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}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:t,params:s}=this,a=y(f(t,`.${s.slideClass}, swiper-slide`)[0]);return y(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.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,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=a[l]?Math.ceil(a[l].swiperSlideSize):0;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){i[l]-i[e]{t.complete&&O(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)a(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||a()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${a}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const a=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let i=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(a())}return f(s,a())[0]})();return!i&&t.params.createElements&&(i=v("div",t.params.wrapperClass),s.append(i),f(s,`.${t.params.slideClass}`).forEach((e=>{i.append(e)}))),Object.assign(t,{el:s,wrapperEl:i,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:i,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction")),wrongRTL:"-webkit-box"===b(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?O(t,e):e.addEventListener("load",(e=>{O(t,e.target)}))})),G(t),t.initialized=!0,G(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,el:i,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttribute("style"),r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(a.slideVisibleClass,a.slideFullyVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){p(se,e)}static get extendedDefaults(){return se}static get defaults(){return J}static installModule(e){ae.prototype.__modules__||(ae.prototype.__modules__=[]);const t=ae.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>ae.installModule(e))),ae):(ae.installModule(e),ae)}}function ie(e,t,s,a){return e.params.createElements&&Object.keys(a).forEach((i=>{if(!s[i]&&!0===s.auto){let r=f(e.el,`.${a[i]}`)[0];r||(r=v("div",a[i]),r.className=a[i],e.el.append(r)),s[i]=r,t[i]=r}})),s}function re(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function ne(e){const t=this,{params:s,slidesEl:a}=t;s.loop&&t.loopDestroy();const i=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,a.append(t.children[0]),t.innerHTML=""}else a.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,i.prepend(t.children[0]),t.innerHTML=""}else i.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else r.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function ue(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function me(e){let{swiper:t,duration:s,transformElements:a,allSlides:i}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a:a.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter((t=>t.shadowRoot&&t.shadowRoot===e.parentNode))[0];return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{x(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function he(e,t,s){const a=`swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,i=h(t);let r=i.querySelector(`.${a.split(" ").join(".")}`);return r||(r=v("div",a.split(" ")),i.append(r)),r}Object.keys(te).forEach((e=>{Object.keys(te[e]).forEach((t=>{ae.prototype[t]=te[e][t]}))})),ae.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const a=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const s=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));a.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),n.push(a)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=E(t.hostEl);for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const fe=[function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=a();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];let i;return a.renderSlide?(i=a.renderSlide.call(s,e,t),"string"==typeof i&&(o.innerHTML=i,i=o.children[0])):i=s.isElement?v("swiper-slide"):v("div",s.params.slideClass),i.setAttribute("data-swiper-slide-index",t),a.renderSlide||(i.innerHTML=e),a.cache&&(s.virtual.cache[t]=i),i}function c(e,t){const{slidesPerView:a,slidesPerGroup:i,centeredSlides:r,loop:l,initialSlide:o}=s.params;if(t&&!l&&o>0)return;const{addSlidesBefore:c,addSlidesAfter:p}=s.params.virtual,{from:u,to:m,slides:h,slidesGrid:g,offset:v}=s.virtual;s.params.cssMode||s.updateActiveIndex();const w=s.activeIndex||0;let b,y,E;b=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",r?(y=Math.floor(a/2)+i+p,E=Math.floor(a/2)+i+c):(y=a+(i-1)+p,E=(l?a:i)+c);let x=w-E,S=w+y;l||(x=Math.max(x,0),S=Math.min(S,h.length-1));let T=(s.slidesGrid[x]||0)-(s.slidesGrid[0]||0);function M(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(l&&w>=E?(x-=E,r||(T+=s.slidesGrid[0])):l&&w{e.style[b]=T-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:T,from:x,to:S,slides:function(){const e=[];for(let t=x;t<=S;t+=1)e.push(h[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?M():n("virtualUpdate"));const C=[],P=[],L=e=>{let t=e;return e<0?t=h.length+e:t>=h.length&&(t-=h.length),t};if(e)s.slides.filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=u;e<=m;e+=1)if(eS){const t=L(e);s.slides.filter((e=>e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e=>{e.remove()}))}const I=l?-h.length:0,A=l?2*h.length:h.length;for(let t=I;t=x&&t<=S){const s=L(t);void 0===m||e?P.push(s):(t>m&&P.push(s),t{s.slidesEl.append(d(h[e],e))})),l)for(let e=C.length-1;e>=0;e-=1){const t=C[e];s.slidesEl.prepend(d(h[t],t))}else C.sort(((e,t)=>t-e)),C.forEach((e=>{s.slidesEl.prepend(d(h[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[b]=T-Math.abs(s.cssOverflowAdjustment())+"px"})),M()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,c(!1,!0)})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t{const a=e[s],r=a.getAttribute("data-swiper-slide-index");r&&a.setAttribute("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}c(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.params.virtual.cache&&(delete s.virtual.cache[e[a]],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e[a],1),e[a]{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e,1),e0&&0===E(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,i=a.clientWidth,r=a.clientHeight,n=o.innerWidth,l=o.innerHeight,d=w(a);s&&(d.left-=a.scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||m||h)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",i)}}function c(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function p(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&c()})),i("destroy",(()=>{t.keyboard.enabled&&p()})),Object.assign(t.keyboard,{enable:c,disable:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let c,p=o();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&o()-p<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),p=(new n.Date).getTime(),!1)))}function g(e){let s=e,a=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.el;"container"!==t.params.mousewheel.eventsTarget&&(n=document.querySelector(t.params.mousewheel.eventsTarget));const p=n&&n.contains(s.target);if(!t.mouseEntered&&!p&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:o(),delta:Math.abs(m),direction:Math.sign(m)},a=c&&e.time=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!p&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,a=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;c=e,u.splice(0),d=l((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=l((()=>{c=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),r.releaseOnEdges&&(n===t.minTranslate()||n===t.maxTranslate()))return!0}}else{const s={time:o(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const a=u.length?u[u.length-1]:void 0;if(u.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),a("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const a=t.params.navigation;(e=T(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...a.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](a.lockClass))}))}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function c(){const e=t.params.navigation;if(t.params.navigation=ie(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),a=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:a}),s=T(s),a=T(a);const i=(s,a)=>{s&&s.addEventListener("click","next"===a?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>i(e,"next"))),a.forEach((e=>i(e,"prev")))}function p(){let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s);const a=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?u():(c(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{p()})),a("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s),t.enabled?l():[...e,...s].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),a("click",((e,s)=>{let{nextEl:a,prevEl:r}=t.navigation;a=T(a),r=T(r);const n=s.target;if(t.params.navigation.hideOnClick&&!r.includes(n)&&!a.includes(n)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a.length?e=a[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...a,...r].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),p()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),c(),l()},disable:u,update:l,init:c,destroy:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;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:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:a}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${a}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${a}-${s}-${s}`))}function c(e){const s=e.target.closest(re(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const a=y(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===a)return;t.slideToLoop(a)}else t.slideTo(a)}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;let a,r,c=t.pagination.el;c=T(c);const p=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(p/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,a=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(a=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,a=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let o,p,u;if(s.dynamicBullets&&(n=S(i[0],t.isHorizontal()?"width":"height",!0),c.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=a-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(a-l,0),p=o+(Math.min(i.length,s.dynamicMainBullets)-1),u=(p+o)/2),i.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),c.length>1)i.forEach((e=>{const i=y(e);i===a?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(i>=o&&i<=p&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===o&&d(e,"prev"),i===p&&d(e,"next"))}));else{const e=i[a];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")})),s.dynamicBullets){const e=i[o],t=i[p];for(let e=o;e<=p;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),r=(n*a-n)/2-u*n,l=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}c.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(re(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(a+1)})),e.querySelectorAll(re(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(u)}))),"progressbar"===s.type){let i;i=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(a+1)/u;let n=1,l=1;"horizontal"===i?n=r:l=r,e.querySelectorAll(re(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(e.innerHTML=s.renderCustom(t,a+1,u),0===r&&i("paginationRender",e)):(0===r&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let a=t.pagination.el;a=T(a);let r="";if("bullets"===e.type){let a=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&a>s&&(a=s);for(let s=0;s`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):` / `),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):``),t.pagination.bullets=[],a.forEach((s=>{"custom"!==e.type&&(s.innerHTML=r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(re(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",a[0])}function m(){t.params.pagination=ie(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.filter((e=>E(e,".swiper")[0]===t.el))[0])),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=T(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",c),t.enabled||s.classList.add(e.lockClass)})))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=T(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",c))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}a("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.pagination.enabled?f():(m(),u(),p())})),a("activeIndexChange",(()=>{void 0===t.snapIndex&&p()})),a("snapIndexChange",(()=>{p()})),a("snapGridLengthChange",(()=>{u(),p()})),a("destroy",(()=>{h()})),a("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,r=T(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),m(),u(),p()},disable:f,render:u,update:p,init:m,destroy:h})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const o=a();let d,c,p,u,m=!1,h=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:a,el:i}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=c,o=(p-c)*n;s?(o=-o,o>0?(l=c-o,o=0):-o+c>p&&(l=p+o)):o<0?(l=c+o,o=0):o+c>p&&(l=p-o),t.isHorizontal()?(a.style.transform=`translate3d(${o}px, 0, 0)`,a.style.width=`${l}px`):(a.style.transform=`translate3d(0px, ${o}px, 0)`,a.style.height=`${l}px`),r.hide&&(clearTimeout(h),i.style.opacity=1,h=setTimeout((()=>{i.style.opacity=0,i.style.transitionDuration="400ms"}),1e3))}function b(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:a}=e;s.style.width="",s.style.height="",p=t.isHorizontal()?a.offsetWidth:a.offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),c="auto"===t.params.scrollbar.dragSize?p*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${c}px`:s.style.height=`${c}px`,a.style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function y(e){return t.isHorizontal()?e.clientX:e.clientY}function E(e){const{scrollbar:s,rtlTranslate:a}=t,{el:i}=s;let r;r=(y(e)-w(i)[t.isHorizontal()?"left":"top"]-(null!==d?d:c/2))/(p-c),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n,dragEl:l}=a;m=!0,d=e.target===l?y(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.style.transitionDuration="100ms",l.style.transitionDuration="100ms",E(e),clearTimeout(f),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function S(e){const{scrollbar:s,wrapperEl:a}=t,{el:i,dragEl:n}=s;m&&(e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1,E(e),a.style.transitionDuration="0ms",i.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function M(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n}=a;m&&(m=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",i.style.transitionDuration=""),s.hide&&(clearTimeout(f),f=l((()=>{n.style.opacity=0,n.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,params:a}=t,i=s.el;if(!i)return;const r=i,n=!!a.passiveListeners&&{passive:!1,capture:!1},l=!!a.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",x,n),o[d]("pointermove",S,n),o[d]("pointerup",M,l)}function P(){const{scrollbar:e,el:s}=t;t.params.scrollbar=ie(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i,r;if("string"==typeof a.el&&t.isElement&&(i=t.el.querySelector(a.el)),i||"string"!=typeof a.el)i||(i=a.el);else if(i=o.querySelectorAll(a.el),!i.length)return;t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.querySelectorAll(a.el).length&&(i=s.querySelector(a.el)),i.length>0&&(i=i[0]),i.classList.add(t.isHorizontal()?a.horizontalClass:a.verticalClass),i&&(r=i.querySelector(re(t.params.scrollbar.dragClass)),r||(r=v("div",t.params.scrollbar.dragClass),i.append(r))),Object.assign(e,{el:i,dragEl:r}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))}function L(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(...n(t.isHorizontal()?e.horizontalClass:e.verticalClass)),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},i("changeDirection",(()=>{if(!t.scrollbar||!t.scrollbar.el)return;const e=t.params.scrollbar;let{el:s}=t.scrollbar;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),i("init",(()=>{!1===t.params.scrollbar.enabled?I():(P(),b(),g())})),i("update resize observerUpdate lock unlock changeDirection",(()=>{b()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),i("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))})),i("destroy",(()=>{L()}));const I=()=>{t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),L()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),P(),b(),g()},disable:I,updateSize:b,setTranslate:g,init:P,destroy:L})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",r=(e,s)=>{const{rtl:a}=t,i=a?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),c=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*i+"%":n*s*i+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let p=`translate3d(${n}, ${l}, 0px)`;if(null!=o){p+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(c&&null!=c){p+=` rotate(${c*s*-1}deg)`}e.style.transform=p},n=()=>{const{el:e,slides:s,progress:a,snapGrid:n,isElement:l}=t,o=f(e,i);t.isElement&&o.push(...f(t.hostEl,i)),o.forEach((e=>{r(e,a)})),s.forEach(((e,s)=>{let l=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(l+=Math.ceil(s/2)-a*(n.length-1)),l=Math.min(Math.max(l,-1),1),e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach((e=>{r(e,l)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&n()})),a("setTranslate",(()=>{t.params.parallax.enabled&&n()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s,hostEl:a}=t,r=[...s.querySelectorAll(i)];t.isElement&&r.push(...a.querySelectorAll(i)),r.forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,c=1,p=!1;const u=[],m={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},h={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v,b=1;function y(){if(u.length<2)return 1;const e=u[0].pageX,t=u[0].pageY,s=u[1].pageX,a=u[1].pageY;return Math.sqrt((s-e)**2+(a-t)**2)}function x(){const e=t.params.zoom,s=m.imageWrapEl.getAttribute("data-swiper-zoom")||e.maxRatio;if(e.limitToOriginalSize&&m.imageEl&&m.imageEl.naturalWidth){const e=m.imageEl.naturalWidth/m.imageEl.offsetWidth;return Math.min(e,s)}return s}function S(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function T(e){if("mouse"===e.pointerType&&u.splice(0,u.length),!S(e))return;const s=t.params.zoom;if(l=!1,o=!1,u.push(e),!(u.length<2)){if(l=!0,m.scaleStart=y(),!m.slideEl){m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),m.slideEl||(m.slideEl=t.slides[t.activeIndex]);let a=m.slideEl.querySelector(`.${s.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=a,m.imageWrapEl=a?E(m.imageEl,`.${s.containerClass}`)[0]:void 0,!m.imageWrapEl)return void(m.imageEl=void 0);m.maxRatio=x()}if(m.imageEl){const[e,t]=function(){if(u.length<2)return{x:null,y:null};const e=m.imageEl.getBoundingClientRect();return[(u[0].pageX+(u[1].pageX-u[0].pageX)/2-e.x-n.scrollX)/c,(u[0].pageY+(u[1].pageY-u[0].pageY)/2-e.y-n.scrollY)/c]}();m.originX=e,m.originY=t,m.imageEl.style.transitionDuration="0ms"}p=!0}}function M(e){if(!S(e))return;const s=t.params.zoom,a=t.zoom,i=u.findIndex((t=>t.pointerId===e.pointerId));i>=0&&(u[i]=e),u.length<2||(o=!0,m.scaleMove=y(),m.imageEl&&(a.scale=m.scaleMove/m.scaleStart*c,a.scale>m.maxRatio&&(a.scale=m.maxRatio-1+(a.scale-m.maxRatio+1)**.5),a.scalet.pointerId===e.pointerId));i>=0&&u.splice(i,1),l&&o&&(l=!1,o=!1,m.imageEl&&(a.scale=Math.max(Math.min(a.scale,m.maxRatio),s.minRatio),m.imageEl.style.transitionDuration=`${t.params.speed}ms`,m.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,c=a.scale,p=!1,a.scale>1&&m.slideEl?m.slideEl.classList.add(`${s.zoomedSlideClass}`):a.scale<=1&&m.slideEl&&m.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===a.scale&&(m.originX=0,m.originY=0,m.slideEl=void 0)))}function P(){t.touchEventsData.preventTouchMoveFromPointerMove=!1}function L(e){if(!S(e)||!function(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.hostEl.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}(e))return;const s=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!m.slideEl)return;h.isMoved||(h.width=m.imageEl.offsetWidth||m.imageEl.clientWidth,h.height=m.imageEl.offsetHeight||m.imageEl.clientHeight,h.startX=d(m.imageWrapEl,"x")||0,h.startY=d(m.imageWrapEl,"y")||0,m.slideWidth=m.slideEl.offsetWidth,m.slideHeight=m.slideEl.offsetHeight,m.imageWrapEl.style.transitionDuration="0ms");const a=h.width*s.scale,i=h.height*s.scale;if(a0?u[0].pageX:e.pageX,h.touchesCurrent.y=u.length>0?u[0].pageY:e.pageY;if(Math.max(Math.abs(h.touchesCurrent.x-h.touchesStart.x),Math.abs(h.touchesCurrent.y-h.touchesStart.y))>5&&(t.allowClick=!1),!h.isMoved&&!p){if(t.isHorizontal()&&(Math.floor(h.minX)===Math.floor(h.startX)&&h.touchesCurrent.xh.touchesStart.x))return h.isTouched=!1,void P();if(!t.isHorizontal()&&(Math.floor(h.minY)===Math.floor(h.startY)&&h.touchesCurrent.yh.touchesStart.y))return h.isTouched=!1,void P()}e.cancelable&&e.preventDefault(),e.stopPropagation(),clearTimeout(v),t.touchEventsData.preventTouchMoveFromPointerMove=!0,v=setTimeout((()=>{P()})),h.isMoved=!0;const r=(s.scale-c)/(m.maxRatio-t.params.zoom.minRatio),{originX:n,originY:l}=m;h.currentX=h.touchesCurrent.x-h.touchesStart.x+h.startX+r*(h.width-2*n),h.currentY=h.touchesCurrent.y-h.touchesStart.y+h.startY+r*(h.height-2*l),h.currentXh.maxX&&(h.currentX=h.maxX-1+(h.currentX-h.maxX+1)**.8),h.currentYh.maxY&&(h.currentY=h.maxY-1+(h.currentY-h.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=h.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=h.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(h.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(h.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(h.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(h.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=h.touchesCurrent.x,g.prevPositionY=h.touchesCurrent.y,g.prevTime=Date.now(),m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}function I(){const e=t.zoom;m.slideEl&&t.activeIndex!==t.slides.indexOf(m.slideEl)&&(m.imageEl&&(m.imageEl.style.transform="translate3d(0,0,0) scale(1)"),m.imageWrapEl&&(m.imageWrapEl.style.transform="translate3d(0,0,0)"),m.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,c=1,m.slideEl=void 0,m.imageEl=void 0,m.imageWrapEl=void 0,m.originX=0,m.originY=0)}function A(e){const s=t.zoom,a=t.params.zoom;if(!m.slideEl){e&&e.target&&(m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),m.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex]);let s=m.slideEl.querySelector(`.${a.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=s,m.imageWrapEl=s?E(m.imageEl,`.${a.containerClass}`)[0]:void 0}if(!m.imageEl||!m.imageWrapEl)return;let i,r,l,o,d,p,u,g,v,b,y,S,T,M,C,P,L,I;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===h.touchesStart.x&&e?(i=e.pageX,r=e.pageY):(i=h.touchesStart.x,r=h.touchesStart.y);const A="number"==typeof e?e:null;1===c&&A&&(i=void 0,r=void 0);const z=x();s.scale=A||z,c=A||z,!e||1===c&&A?(u=0,g=0):(L=m.slideEl.offsetWidth,I=m.slideEl.offsetHeight,l=w(m.slideEl).left+n.scrollX,o=w(m.slideEl).top+n.scrollY,d=l+L/2-i,p=o+I/2-r,v=m.imageEl.offsetWidth||m.imageEl.clientWidth,b=m.imageEl.offsetHeight||m.imageEl.clientHeight,y=v*s.scale,S=b*s.scale,T=Math.min(L/2-y/2,0),M=Math.min(I/2-S/2,0),C=-T,P=-M,u=d*s.scale,g=p*s.scale,uC&&(u=C),gP&&(g=P)),A&&1===s.scale&&(m.originX=0,m.originY=0),m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform=`translate3d(${u}px, ${g}px,0)`,m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function z(){const e=t.zoom,s=t.params.zoom;if(!m.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex];let e=m.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=e,m.imageWrapEl=e?E(m.imageEl,`.${s.containerClass}`)[0]:void 0}m.imageEl&&m.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,c=1,m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform="translate3d(0,0,0)",m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform="translate3d(0,0,0) scale(1)",m.slideEl.classList.remove(`${s.zoomedSlideClass}`),m.slideEl=void 0,m.originX=0,m.originY=0)}function $(e){const s=t.zoom;s.scale&&1!==s.scale?z():A(e)}function k(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:a}=k();t.wrapperEl.addEventListener("pointerdown",T,s),t.wrapperEl.addEventListener("pointermove",M,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,C,s)})),t.wrapperEl.addEventListener("pointermove",L,a)}function D(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:a}=k();t.wrapperEl.removeEventListener("pointerdown",T,s),t.wrapperEl.removeEventListener("pointermove",M,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,C,s)})),t.wrapperEl.removeEventListener("pointermove",L,a)}Object.defineProperty(t.zoom,"scale",{get:()=>b,set(e){if(b!==e){const t=m.imageEl,s=m.slideEl;i("zoomChange",e,t,s)}b=e}}),a("init",(()=>{t.params.zoom.enabled&&O()})),a("destroy",(()=>{D()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!m.imageEl)return;if(h.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),h.isTouched=!0;const a=u.length>0?u[0]:e;h.touchesStart.x=a.pageX,h.touchesStart.y=a.pageY}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!h.isMoved)return h.isTouched=!1,void(h.isMoved=!1);h.isTouched=!1,h.isMoved=!1;let s=300,a=300;const i=g.x*s,r=h.currentX+i,n=g.y*a,l=h.currentY+n;0!==g.x&&(s=Math.abs((r-h.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-h.currentY)/g.y));const o=Math.max(s,a);h.currentX=r,h.currentY=l;const d=h.width*e.scale,c=h.height*e.scale;h.minX=Math.min(m.slideWidth/2-d/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-c/2,0),h.maxY=-h.minY,h.currentX=Math.max(Math.min(h.currentX,h.maxX),h.minX),h.currentY=Math.max(Math.min(h.currentY,h.maxY),h.minY),m.imageWrapEl.style.transitionDuration=`${o}ms`,m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&$(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&I()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&I()})),Object.assign(t.zoom,{enable:O,disable:D,in:A,out:z,toggle:$})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){const e=document.querySelector(t.params.controller.control);if(e&&e.swiper)t.controller.control=e.swiper;else if(e){const s=a=>{t.controller.control=a.detail[0],t.update(),e.removeEventListener("init",s)};e.addEventListener("init",s)}}else t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e{s.updateAutoHeight()})),x(s.wrapperEl,(()=>{i&&s.transitionEnd()}))))}if(Array.isArray(i))for(r=0;r{e.setAttribute("tabIndex","0")}))}function p(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function u(e,t){(e=T(e)).forEach((e=>{e.setAttribute("role",t)}))}function m(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function h(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function f(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function g(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function w(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=e.target;if(!t.pagination||!t.pagination.el||a!==t.pagination.el&&!t.pagination.el.contains(e.target)||e.target.matches(re(t.params.pagination.bulletClass))){if(t.navigation&&t.navigation.prevEl&&t.navigation.nextEl){const e=T(t.navigation.prevEl);T(t.navigation.nextEl).includes(a)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?d(s.lastSlideMessage):d(s.nextSlideMessage)),e.includes(a)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?d(s.firstSlideMessage):d(s.prevSlideMessage))}t.pagination&&a.matches(re(t.params.pagination.bulletClass))&&a.click()}}function b(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function E(){return b()&&t.params.pagination.clickable}const x=(e,t,s)=>{c(e),"BUTTON"!==e.tagName&&(u(e,"button"),e.addEventListener("keydown",w)),h(e,s),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},S=e=>{n&&n!==e.target&&!n.contains(e.target)&&(r=!0),t.a11y.clicked=!0},M=()=>{r=!1,requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},C=e=>{o=(new Date).getTime()},P=e=>{if(t.a11y.clicked)return;if((new Date).getTime()-o<100)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;n=s;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,requestAnimationFrame((()=>{r||(t.slideTo(t.slides.indexOf(s),0),r=!1)})))},L=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&m(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&u(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((a,i)=>{const r=t.params.loop?parseInt(a.getAttribute("data-swiper-slide-index"),10):i;h(a,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},I=()=>{const e=t.params.a11y;t.el.append(l);const s=t.el;e.containerRoleDescriptionMessage&&m(s,e.containerRoleDescriptionMessage),e.containerMessage&&h(s,e.containerMessage);const i=t.wrapperEl,r=e.id||i.getAttribute("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,T(i).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(i,o),L();let{nextEl:c,prevEl:p}=t.navigation?t.navigation:{};if(c=T(c),p=T(p),c&&c.forEach((t=>x(t,r,e.nextSlideMessage))),p&&p.forEach((t=>x(t,r,e.prevSlideMessage))),E()){T(t.pagination.el).forEach((e=>{e.addEventListener("keydown",w)}))}a().addEventListener("visibilitychange",C),t.el.addEventListener("focus",P,!0),t.el.addEventListener("focus",P,!0),t.el.addEventListener("pointerdown",S,!0),t.el.addEventListener("pointerup",M,!0)};i("beforeInit",(()=>{l=v("span",t.params.a11y.notificationClass),l.setAttribute("aria-live","assertive"),l.setAttribute("aria-atomic","true")})),i("afterInit",(()=>{t.params.a11y.enabled&&I()})),i("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&L()})),i("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(f(s),p(s)):(g(s),c(s))),e&&(t.isEnd?(f(e),p(e)):(g(e),c(e)))}()})),i("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;b()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(c(s),t.params.pagination.renderBullet||(u(s,"button"),h(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,y(s)+1)))),s.matches(re(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),i("destroy",(()=>{t.params.a11y.enabled&&function(){l&&l.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=T(e),s=T(s),e&&e.forEach((e=>e.removeEventListener("keydown",w))),s&&s.forEach((e=>e.removeEventListener("keydown",w))),E()&&T(t.pagination.el).forEach((e=>{e.removeEventListener("keydown",w)}));a().removeEventListener("visibilitychange",C),t.el.removeEventListener("focus",P,!0),t.el.removeEventListener("pointerdown",S,!0),t.el.removeEventListener("pointerup",M,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`):t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),n.key||n.value?(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p)):t.params.history.replaceState||e.addEventListener("popstate",p)}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.filter((e=>e.getAttribute("data-hash")===s))[0];if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const c=()=>{i("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},p=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),i("hashSet")):(o.location.hash=s||"",i("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,a=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(a||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",c)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",c)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&p()})),n("slideChange",(()=>{l&&t.params.cssMode&&p()}))},function(e){let t,s,{swiper:i,extendParams:r,on:n,emit:l,params:o}=e;i.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){i&&!i.destroyed&&i.wrapperEl&&e.target===i.wrapperEl&&(i.wrapperEl.removeEventListener("transitionend",y),g||e.detail&&e.detail.bySwiperTouchMove||C())}const E=()=>{if(i.destroyed||!i.autoplay.running)return;i.autoplay.paused?c=!0:c&&(w=d,c=!1);const e=i.autoplay.paused?d:b+w-(new Date).getTime();i.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame((()=>{E()}))},x=e=>{if(i.destroyed||!i.autoplay.running)return;cancelAnimationFrame(s),E();let a=void 0===e?i.params.autoplay.delay:e;v=i.params.autoplay.delay,w=i.params.autoplay.delay;const r=(()=>{let e;if(e=i.virtual&&i.params.virtual.enabled?i.slides.filter((e=>e.classList.contains("swiper-slide-active")))[0]:i.slides[i.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(a=r,v=r,w=r),d=a;const n=i.params.speed,o=()=>{i&&!i.destroyed&&(i.params.autoplay.reverseDirection?!i.isBeginning||i.params.loop||i.params.rewind?(i.slidePrev(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(i.slides.length-1,n,!0,!0),l("autoplay")):!i.isEnd||i.params.loop||i.params.rewind?(i.slideNext(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(0,n,!0,!0),l("autoplay")),i.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame((()=>{x()}))))};return a>0?(clearTimeout(t),t=setTimeout((()=>{o()}),a)):requestAnimationFrame((()=>{o()})),a},S=()=>{b=(new Date).getTime(),i.autoplay.running=!0,x(),l("autoplayStart")},T=()=>{i.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},M=(e,s)=>{if(i.destroyed||!i.autoplay.running)return;clearTimeout(t),e||(f=!0);const a=()=>{l("autoplayPause"),i.params.autoplay.waitForTransition?i.wrapperEl.addEventListener("transitionend",y):C()};if(i.autoplay.paused=!0,s)return h&&(d=i.params.autoplay.delay),h=!1,void a();const r=d||i.params.autoplay.delay;d=r-((new Date).getTime()-b),i.isEnd&&d<0&&!i.params.loop||(d<0&&(d=0),a())},C=()=>{i.isEnd&&d<0&&!i.params.loop||i.destroyed||!i.autoplay.running||(b=(new Date).getTime(),f?(f=!1,x(d)):x(),i.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(i.destroyed||!i.autoplay.running)return;const e=a();"hidden"===e.visibilityState&&(f=!0,M(!0)),"visible"===e.visibilityState&&C()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,i.animating||i.autoplay.paused||M(!0))},I=e=>{"mouse"===e.pointerType&&(g=!1,i.autoplay.paused&&C())};n("init",(()=>{i.params.autoplay.enabled&&(i.params.autoplay.pauseOnMouseEnter&&(i.el.addEventListener("pointerenter",L),i.el.addEventListener("pointerleave",I)),a().addEventListener("visibilitychange",P),S())})),n("destroy",(()=>{i.el.removeEventListener("pointerenter",L),i.el.removeEventListener("pointerleave",I),a().removeEventListener("visibilitychange",P),i.autoplay.running&&T()})),n("_freeModeStaticRelease",(()=>{(u||f)&&C()})),n("_freeModeNoMomentumRelease",(()=>{i.params.autoplay.disableOnInteraction?T():M(!0,!0)})),n("beforeTransitionStart",((e,t,s)=>{!i.destroyed&&i.autoplay.running&&(s||!i.params.autoplay.disableOnInteraction?M(!0,!0):T())})),n("sliderFirstMove",(()=>{!i.destroyed&&i.autoplay.running&&(i.params.autoplay.disableOnInteraction?T():(p=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,M(!0)}),200)))})),n("touchEnd",(()=>{if(!i.destroyed&&i.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),i.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&i.params.cssMode&&C(),u=!1,p=!1}})),n("slideChange",(()=>{!i.destroyed&&i.autoplay.running&&(h=!0)})),Object.assign(i.autoplay,{start:S,stop:T,pause:M,resume:C})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&a.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(i):t.slideTo(i)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update();else if(c(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function d(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e{e.classList.add(r)}));else for(let e=0;ee.getAttribute("data-swiper-slide-index")===`${t.realIndex}`))[0];r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>i?r-Math.floor(a/2)+1:r+Math.floor(a/2)-1:r>i&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},i("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=a(),i=()=>{const a="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(a&&a.swiper)e.swiper=a.swiper,o(),d(!0);else if(a){const s=i=>{e.swiper=i.detail[0],a.removeEventListener("init",s),o(),d(!0),e.swiper.update(),t.update()};a.addEventListener("init",s)}return a},r=()=>{if(t.destroyed)return;i()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),d(!0)})),i("slideChange update resize observerUpdate",(()=>{d()})),i("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),i("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:d})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:o()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:l,snapGrid:d,touchEventsData:c}=t,p=o()-c.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length1){const e=c.velocities.pop(),s=c.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)150||o()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,c.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let p=t.translate+s;l&&(p=-p);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(pt.minTranslate())r.freeMode.momentumBounce?(p-t.minTranslate()>h&&(p=t.minTranslate()+h),u=t.minTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t-p){e=t;break}p=Math.abs(d[e]-p){t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-p-t.translate)/t.velocity):Math.abs((p-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-p:p)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s{t&&!t.destroyed&&c.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(p),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(p),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||p>=r.longSwipesMs)&&(a("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,i,{swiper:r,extendParams:n,on:l}=e;n({grid:{rows:1,fill:"column"}});const o=()=>{let e=r.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*r.size:"string"==typeof e&&(e=parseFloat(e)),e};l("init",(()=>{i=r.params.grid&&r.params.grid.rows>1})),l("update",(()=>{const{params:e,el:t}=r,s=e.grid&&e.grid.rows>1;i&&!s?(t.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),a=1,r.emitContainerClasses()):!i&&s&&(t.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&t.classList.add(`${e.containerModifierClass}grid-column`),r.emitContainerClasses()),i=s})),r.grid={initSlides:e=>{const{slidesPerView:i}=r.params,{rows:n,fill:l}=r.params.grid,o=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:e.length;a=Math.floor(o/n),t=Math.floor(o/n)===o/n?o:Math.ceil(o/n)*n,"auto"!==i&&"row"===l&&(t=Math.max(t,i*n)),s=t/n},unsetSlides:()=>{r.slides&&r.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[r.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,i,n)=>{const{slidesPerGroup:l}=r.params,d=o(),{rows:c,fill:p}=r.params.grid,u=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:n.length;let m,h,f;if("row"===p&&l>1){const s=Math.floor(e/(l*c)),a=e-c*l*s,r=0===s?l:Math.min(Math.ceil((u-s*c*l)/c),l);f=Math.floor(a/r),h=a-f*r+s*l,m=h+f*t/c,i.style.order=m}else"column"===p?(h=Math.floor(e/c),f=e-h*c,(h>a||h===a&&f===c-1)&&(f+=1,f>=c&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);i.row=f,i.column=h,i.style.height=`calc((100% - ${(c-1)*d}px) / ${c})`,i.style[r.getDirectionLabel("margin-top")]=0!==f?d&&`${d}px`:"",i.swiperSlideGridSet=!0},updateWrapperSize:(e,s)=>{const{centeredSlides:a,roundLengths:i}=r.params,n=o(),{rows:l}=r.params.grid;if(r.virtualSize=(e+n)*t,r.virtualSize=Math.ceil(r.virtualSize/l)-n,r.params.cssMode||(r.wrapperEl.style[r.getDirectionLabel("width")]=`${r.virtualSize+n}px`),a){const e=[];for(let t=0;t{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),me({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(a)),i||(i=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(i)),a&&(a.style.opacity=Math.max(-t,0)),i&&(i.style.opacity=Math.max(t,0))};pe({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,c=t.params.cubeEffect,p=t.isHorizontal(),u=t.virtual&&t.params.virtual.enabled;let m,h=0;c.shadow&&(p?(m=t.wrapperEl.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),t.wrapperEl.append(m)),m.style.height=`${r}px`):(m=e.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),e.append(m))));for(let e=0;e-1&&(h=90*r+90*m,l&&(h=90*-r-90*m),t.browser&&t.browser.need3dFix&&Math.abs(h)/90%2==1&&(h+=.001)),s.style.transform=w,c.slideShadows&&i(s,m,p)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,c.shadow)if(p)m.style.transform=`translate3d(0px, ${r/2+c.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${c.shadowScale})`;else{const e=Math.abs(h)-90*Math.floor(Math.abs(h)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=c.shadowScale,a=c.shadowScale/t,i=c.shadowOffset;m.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-89.99deg)`}const f=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${f}px) rotateX(${t.isHorizontal()?0:h}deg) rotateY(${t.isHorizontal()?-h:0}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${f}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const i=(e,s)=>{let a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=he("flip",e,t.isHorizontal()?"left":"top")),i||(i=he("flip",e,t.isHorizontal()?"right":"bottom")),a&&(a.style.opacity=Math.max(-s,0)),i&&(i.style.opacity=Math.max(s,0))};pe({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),me({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),i(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),pe({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,s=a.length;e0?u:0),t&&(t.style.opacity=-u>0?-u:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;pe({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s0&&(f=r.prev,h=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),m.forEach(((e,s)=>{let a=f.rotate[s]*Math.abs(d*n);t.browser&&t.browser.need3dFix&&Math.abs(a)/90%2==1&&(a+=.001),m[s]=a})),a.style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${m[0]}deg) rotateY(${m[1]}deg) rotateZ(${m[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,y=`translate3d(${g}) ${v} ${w}`;if(h&&f.shadow||!h){let e=a.querySelector(".swiper-slide-shadow");if(!e&&f.shadow&&(e=he("creative",a)),e){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const E=ue(0,a);E.style.transform=y,E.style.opacity=b,f.origin&&(E.style.transformOrigin=f.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),me({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),pe({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:a}=t,i=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=a?-t.translate:t.translate;for(let o=0;o0&&p<1&&(n||t.params.cssMode)&&l-1&&(n||t.params.cssMode)&&l>r;if(y||E){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;v+=-28*p*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(p)+"%"}if(m=p<0?`calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))`:p>0?`calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const x=p<0?""+(1+(1-g)*p):""+(1-(1-g)*p),S=`\n translate3d(${m}, ${h}, ${f}px)\n rotateZ(${i.rotate?a?-v:v:0}deg)\n scale(${x})\n `;if(i.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=he("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;ue(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),me({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return ae.use(fe),ae}(); -//# sourceMappingURL=swiper-bundle.min.js.map \ No newline at end of file diff --git a/node_modules/swiper/swiper-bundle.min.js.map b/node_modules/swiper/swiper-bundle.min.js.map deleted file mode 100644 index 358aa4b..0000000 --- a/node_modules/swiper/swiper-bundle.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper-bundle.js.js","names":["Swiper","isObject$1","obj","constructor","Object","extend$1","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","classesToTokens","classes","trim","split","filter","c","nextTick","delay","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","getComputedStyle$1","WebKitCSSMatrix","transform","webkitTransform","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","parseFloat","m42","isObject","o","prototype","call","slice","extend","to","arguments","undefined","noExtend","i","nextSource","node","HTMLElement","nodeType","keysArray","indexOf","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","getSlideTransformEl","slideEl","shadowRoot","elementChildren","element","selector","matches","showWarning","text","console","warn","err","tag","classList","add","Array","isArray","elementOffset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","elementStyle","prop","elementIndex","child","previousSibling","elementParents","parents","parent","parentElement","push","elementTransitionEnd","fireCallBack","e","elementOuterSize","size","includeMargins","offsetWidth","makeElementsArray","support","deviceCached","browser","getSupport","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","toLowerCase","String","includes","major","minor","num","Number","isWebView","test","isSafariBrowser","need3dFix","calcBrowser","eventsEmitter","on","events","handler","priority","self","eventsListeners","destroyed","method","event","once","onceHandler","off","__emitterProxy","_len","args","_key","apply","onAny","eventsAnyListeners","offAny","index","splice","eventHandler","emit","data","context","_len2","_key2","unshift","toggleSlideClasses$1","condition","className","contains","remove","toggleSlideClasses","processLazyPreloader","imageEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","unlazy","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","from","_","column","slideIndexLastInView","rewind","loop","realIndex","update","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","assign","updateSlides","getDirectionPropertyValue","label","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","getAttribute","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transitionEmit","direction","step","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","t","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","append","loopAddBlankSlides","recalcSlides","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","originalEvent","type","pointerId","targetTouches","touchId","identifier","pageX","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","swiperElementNodeName","resizeObserver","createElements","eventsPrefix","url","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","bind","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","value","sort","b","wasLocked","lastSlideRightEdge","addClasses","classNames","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","centered","removeClasses","extendedDefaults","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","module","m","createElementIfNotDefined","checkProps","classesToSelector","appendSlide","appendElement","tempDOM","innerHTML","observer","prependSlide","prependElement","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","effectInit","overwriteParams","perspective","recreateShadows","getEffectParams","requireUpdateOnVirtual","overwriteParamsResult","_s","slideShadows","shadowEl","effectTarget","effectParams","transformEl","backfaceVisibility","effectVirtualTransitionEnd","transformElements","allSlides","transitionEndTarget","eventTriggered","getSlide","createShadow","suffix","shadowClass","shadowContainer","prototypeGroup","protoMethod","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","cssModeTimeout","cache","renderSlide","renderExternal","renderExternalUpdate","addSlidesBefore","addSlidesAfter","offset","force","beforeInit","previousFrom","previousTo","previousSlidesGrid","previousOffset","offsetProp","onRendered","slidesToRender","prependIndexes","appendIndexes","loopFrom","loopTo","domSlidesAssigned","numberOfNewSlides","newCache","cachedIndex","cachedEl","cachedElIndex","handle","kc","keyCode","charCode","pageUpDown","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","shiftKey","altKey","ctrlKey","metaKey","onlyInViewport","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","timeout","mousewheel","releaseOnEdges","invert","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","noMousewheelClass","lastEventBeforeSnap","lastScrollTime","recentWheelEvents","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","delta","raw","targetElContainsTarget","rtlFactor","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","positions","sign","ignoreWheelEvents","position","sticky","prevEvent","firstEvent","snapToThreshold","autoplayDisableOnInteraction","stop","releaseScroll","getEl","res","toggleEl","disabled","subEl","disabledClass","tagName","lockClass","onPrevClick","onNextClick","initButton","destroyButton","hideOnClick","hiddenClass","navigationDisabledClass","pagination","clickable","isHidden","toggle","pfx","bulletSize","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","bulletEl","onBulletClick","total","firstIndex","midIndex","classesToRemove","s","flat","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","subElIndex","fractionEl","textContent","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","render","paginationHTML","numberOfBullets","dragStartPos","dragSize","trackSize","divider","dragTimeout","scrollbar","dragEl","newSize","newPos","hide","opacity","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","onDragStart","onDragMove","onDragEnd","snapOnRelease","activeListener","passiveListener","eventMethod","swiperEl","dragClass","draggable","scrollbarDisabledClass","parallax","elementsSelector","setTransform","p","rotate","currentOpacity","elements","_swiper","parallaxEl","parallaxDuration","zoom","limitToOriginalSize","maxRatio","containerClass","zoomedSlideClass","fakeGestureTouched","fakeGestureMoved","currentScale","isScaling","evCache","gesture","originX","originY","slideWidth","slideHeight","imageWrapEl","image","minX","minY","maxX","maxY","touchesStart","touchesCurrent","prevPositionX","prevPositionY","prevTime","allowTouchMoveTimeout","getDistanceBetweenTouches","x1","y1","x2","y2","getMaxRatio","naturalWidth","imageMaxRatio","eventWithinSlide","onGestureStart","scaleStart","getScaleOrigin","onGestureChange","pointerIndex","findIndex","cachedEv","scaleMove","onGestureEnd","eventWithinZoomContainer","scaledWidth","scaledHeight","scaleRatio","onTransitionEnd","zoomIn","touchX","touchY","offsetX","offsetY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","forceZoomRatio","zoomOut","zoomToggle","getListeners","activeListenerWithCapture","defineProperty","get","set","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","momentumDuration","in","out","LinearSpline","binarySearch","maxIndex","minIndex","guess","array","i1","i3","interpolate","removeSpline","spline","inverse","by","controlElement","onControllerSwiper","_t","controlled","controlledTranslate","setControlledTranslate","getInterpolateFunction","isFinite","setControlledTransition","a11y","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","itemRoleDescriptionMessage","slideRole","clicked","preventFocusHandler","focusTargetSlideEl","liveRegion","visibilityChangedTimestamp","notify","message","notification","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElLabel","disableEl","enableEl","onEnterOrSpaceKey","click","hasPagination","hasClickablePagination","initNavEl","wrapperId","controls","addElControls","handlePointerDown","handlePointerUp","onVisibilityChange","handleFocus","isActive","sourceCapabilities","firesTouchEvents","repeat","round","random","live","addElLive","updateNavigation","updatePagination","root","keepQuery","paths","slugify","getPathValues","urlOverride","URL","pathArray","part","setHistory","currentState","state","scrollToSlide","setHistoryPopState","hashNavigation","watchState","slideWithHash","onHashChange","newHash","activeSlideEl","setHash","activeSlideHash","raf","timeLeft","waitForTransition","disableOnInteraction","stopOnLastSlide","reverseDirection","pauseOnMouseEnter","autoplayTimeLeft","wasPaused","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","pausedByPointerEnter","autoplayDelayTotal","autoplayDelayCurrent","autoplayStartTime","calcTimeLeft","run","delayForce","currentSlideDelay","getSlideDelay","proceed","start","pause","reset","visibilityState","onPointerEnter","onPointerLeave","thumbs","multipleActiveThumbs","autoScrollOffset","slideThumbActiveClass","thumbsContainerClass","swiperCreated","onThumbClick","thumbsSwiper","thumbsParams","SwiperClass","thumbsSwiperParams","thumbsToActivate","thumbActiveClass","useOffset","currentThumbsIndex","newThumbsIndex","newThumbsSlide","getThumbsElementAndInit","thumbsElement","onThumbsSwiper","watchForThumbsToAppear","momentum","momentumRatio","momentumBounce","momentumBounceRatio","momentumVelocityRatio","minimumVelocity","lastMoveEvent","pop","velocityEvent","distance","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","needsLoopFix","j","moveDistance","currentSlideSize","slidesNumberEvenToRows","slidesPerRow","numFullColumns","getSpaceBetween","swiperSlideGridSet","newSlideOrderIndex","row","groupIndex","slideIndexInGroup","columnsInGroup","order","fadeEffect","crossFade","tx","ty","slideOpacity","cubeEffect","shadow","shadowOffset","shadowScale","createSlideShadows","shadowBefore","shadowAfter","cubeShadowEl","wrapperRotate","slideAngle","tz","transformOrigin","shadowAngle","sin","scale1","scale2","zFactor","flipEffect","limitRotation","rotateY","rotateX","zIndex","coverflowEffect","stretch","depth","modifier","center","centerOffset","offsetMultiplier","translateZ","slideTransform","shadowBeforeEl","shadowAfterEl","creativeEffect","limitProgress","shadowPerProgress","progressMultiplier","getTranslateValue","isCenteredSlides","margin","r","custom","translateString","rotateString","scaleString","opacityString","shadowOpacity","cardsEffect","perSlideRotate","perSlideOffset","tX","tY","tZ","tXAdd","isSwipeToNext","isSwipeToPrev","subProgress","prevY"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/swiper-bundle.min.mjs b/node_modules/swiper/swiper-bundle.min.mjs deleted file mode 100644 index 1b44f0d..0000000 --- a/node_modules/swiper/swiper-bundle.min.mjs +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -import{S as Swiper}from"./shared/swiper-core.min.mjs";import Virtual from"./modules/virtual.min.mjs";import Keyboard from"./modules/keyboard.min.mjs";import Mousewheel from"./modules/mousewheel.min.mjs";import Navigation from"./modules/navigation.min.mjs";import Pagination from"./modules/pagination.min.mjs";import Scrollbar from"./modules/scrollbar.min.mjs";import Parallax from"./modules/parallax.min.mjs";import Zoom from"./modules/zoom.min.mjs";import Controller from"./modules/controller.min.mjs";import A11y from"./modules/a11y.min.mjs";import History from"./modules/history.min.mjs";import HashNavigation from"./modules/hash-navigation.min.mjs";import Autoplay from"./modules/autoplay.min.mjs";import Thumb from"./modules/thumbs.min.mjs";import freeMode from"./modules/free-mode.min.mjs";import Grid from"./modules/grid.min.mjs";import Manipulation from"./modules/manipulation.min.mjs";import EffectFade from"./modules/effect-fade.min.mjs";import EffectCube from"./modules/effect-cube.min.mjs";import EffectFlip from"./modules/effect-flip.min.mjs";import EffectCoverflow from"./modules/effect-coverflow.min.mjs";import EffectCreative from"./modules/effect-creative.min.mjs";import EffectCards from"./modules/effect-cards.min.mjs";const modules=[Virtual,Keyboard,Mousewheel,Navigation,Pagination,Scrollbar,Parallax,Zoom,Controller,A11y,History,HashNavigation,Autoplay,Thumb,freeMode,Grid,Manipulation,EffectFade,EffectCube,EffectFlip,EffectCoverflow,EffectCreative,EffectCards];Swiper.use(modules);export{Swiper,Swiper as default}; -//# sourceMappingURL=swiper-bundle.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/swiper-bundle.min.mjs.map b/node_modules/swiper/swiper-bundle.min.mjs.map deleted file mode 100644 index 00ccec7..0000000 --- a/node_modules/swiper/swiper-bundle.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper-bundle.mjs.mjs","names":["Swiper","Virtual","Keyboard","Mousewheel","Navigation","Pagination","Scrollbar","Parallax","Zoom","Controller","A11y","History","HashNavigation","Autoplay","Thumb","freeMode","Grid","Manipulation","EffectFade","EffectCube","EffectFlip","EffectCoverflow","EffectCreative","EffectCards","modules","use"],"sources":["0"],"mappings":";;;;;;;;;;;;YAYcA,WAAc,sCACrBC,YAAa,mCACbC,aAAc,oCACdC,eAAgB,sCAChBC,eAAgB,sCAChBC,eAAgB,sCAChBC,cAAe,qCACfC,aAAc,oCACdC,SAAU,gCACVC,eAAgB,sCAChBC,SAAU,gCACVC,YAAa,mCACbC,mBAAoB,2CACpBC,aAAc,oCACdC,UAAW,kCACXC,aAAc,qCACdC,SAAU,gCACVC,iBAAkB,wCAClBC,eAAgB,uCAChBC,eAAgB,uCAChBC,eAAgB,uCAChBC,oBAAqB,4CACrBC,mBAAoB,2CACpBC,gBAAiB,iCAGxB,MAAMC,QAAU,CAACvB,QAASC,SAAUC,WAAYC,WAAYC,WAAYC,UAAWC,SAAUC,KAAMC,WAAYC,KAAMC,QAASC,eAAgBC,SAAUC,MAAOC,SAAUC,KAAMC,aAAcC,WAAYC,WAAYC,WAAYC,gBAAiBC,eAAgBC,aAClQvB,OAAOyB,IAAID,gBAEFxB,OAAQA"} \ No newline at end of file diff --git a/node_modules/swiper/swiper-bundle.mjs b/node_modules/swiper/swiper-bundle.mjs deleted file mode 100644 index 66d24ee..0000000 --- a/node_modules/swiper/swiper-bundle.mjs +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -import { S as Swiper } from './shared/swiper-core.mjs'; -import Virtual from './modules/virtual.mjs'; -import Keyboard from './modules/keyboard.mjs'; -import Mousewheel from './modules/mousewheel.mjs'; -import Navigation from './modules/navigation.mjs'; -import Pagination from './modules/pagination.mjs'; -import Scrollbar from './modules/scrollbar.mjs'; -import Parallax from './modules/parallax.mjs'; -import Zoom from './modules/zoom.mjs'; -import Controller from './modules/controller.mjs'; -import A11y from './modules/a11y.mjs'; -import History from './modules/history.mjs'; -import HashNavigation from './modules/hash-navigation.mjs'; -import Autoplay from './modules/autoplay.mjs'; -import Thumb from './modules/thumbs.mjs'; -import freeMode from './modules/free-mode.mjs'; -import Grid from './modules/grid.mjs'; -import Manipulation from './modules/manipulation.mjs'; -import EffectFade from './modules/effect-fade.mjs'; -import EffectCube from './modules/effect-cube.mjs'; -import EffectFlip from './modules/effect-flip.mjs'; -import EffectCoverflow from './modules/effect-coverflow.mjs'; -import EffectCreative from './modules/effect-creative.mjs'; -import EffectCards from './modules/effect-cards.mjs'; - -// Swiper Class -const modules = [Virtual, Keyboard, Mousewheel, Navigation, Pagination, Scrollbar, Parallax, Zoom, Controller, A11y, History, HashNavigation, Autoplay, Thumb, freeMode, Grid, Manipulation, EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCreative, EffectCards]; -Swiper.use(modules); - -export { Swiper, Swiper as default }; diff --git a/node_modules/swiper/swiper-effect-utils.d.ts b/node_modules/swiper/swiper-effect-utils.d.ts deleted file mode 100644 index aaee39d..0000000 --- a/node_modules/swiper/swiper-effect-utils.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Swiper, SwiperOptions } from './types/index.d.ts'; - -declare const createShadow: (suffix?: string, slideEl: HTMLElement, side?: string) => HTMLElement; - -declare const effectInit: (params: { - effect: string; - swiper: Swiper; - on: () => void; - setTranslate: () => void; - setTransition: (duration: number) => void; - overwriteParams?: () => SwiperOptions; - perspective?: () => boolean; - recreateShadows?: () => void; - getEffectParams?: () => { slideShadows?: boolean }; -}) => void; - -declare const effectTarget: (effectParams: any, slideEl: HTMLElement) => void; - -declare const effectVirtualTransitionEnd: (params: { - swiper: Swiper; - duration: number; - transformElements: HTMLElement[]; - allSlides?: boolean; -}) => void; - -declare const getSlideTransformEl: (slideEl: HTMLElement) => void; - -export { createShadow, effectInit, effectTarget, effectVirtualTransitionEnd, getSlideTransformEl }; diff --git a/node_modules/swiper/swiper-effect-utils.min.mjs b/node_modules/swiper/swiper-effect-utils.min.mjs deleted file mode 100644 index 1cac281..0000000 --- a/node_modules/swiper/swiper-effect-utils.min.mjs +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -export{c as createShadow}from"./shared/create-shadow.min.mjs";export{e as effectInit}from"./shared/effect-init.min.mjs";export{e as effectTarget}from"./shared/effect-target.min.mjs";export{e as effectVirtualTransitionEnd}from"./shared/effect-virtual-transition-end.min.mjs";export{g as getSlideTransformEl}from"./shared/utils.min.mjs"; -//# sourceMappingURL=swiper-effect-utils.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/swiper-effect-utils.min.mjs.map b/node_modules/swiper/swiper-effect-utils.min.mjs.map deleted file mode 100644 index 538571b..0000000 --- a/node_modules/swiper/swiper-effect-utils.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper-effect-utils.mjs.mjs","names":["c","e","g"],"sources":["0"],"mappings":";;;;;;;;;;;;OAYSA,sBAAyB,wCACzBC,oBAAuB,sCACvBA,sBAAyB,wCACzBA,oCAAuC,wDACvCC,6BAAgC"} \ No newline at end of file diff --git a/node_modules/swiper/swiper-effect-utils.mjs b/node_modules/swiper/swiper-effect-utils.mjs deleted file mode 100644 index c568adf..0000000 --- a/node_modules/swiper/swiper-effect-utils.mjs +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -export { c as createShadow } from './shared/create-shadow.mjs'; -export { e as effectInit } from './shared/effect-init.mjs'; -export { e as effectTarget } from './shared/effect-target.mjs'; -export { e as effectVirtualTransitionEnd } from './shared/effect-virtual-transition-end.mjs'; -export { g as getSlideTransformEl } from './shared/utils.mjs'; diff --git a/node_modules/swiper/swiper-element-bundle.js b/node_modules/swiper/swiper-element-bundle.js deleted file mode 100644 index 61b96cb..0000000 --- a/node_modules/swiper/swiper-element-bundle.js +++ /dev/null @@ -1,10233 +0,0 @@ -/** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -(function () { - 'use strict'; - - /** - * SSR Window 4.0.2 - * Better handling for window object in SSR environment - * https://github.com/nolimits4web/ssr-window - * - * Copyright 2021, Vladimir Kharlampidi - * - * Licensed under MIT - * - * Released on: December 13, 2021 - */ - /* eslint-disable no-param-reassign */ - function isObject$2(obj) { - return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object; - } - function extend$2(target, src) { - if (target === void 0) { - target = {}; - } - if (src === void 0) { - src = {}; - } - Object.keys(src).forEach(key => { - if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject$2(src[key]) && isObject$2(target[key]) && Object.keys(src[key]).length > 0) { - extend$2(target[key], src[key]); - } - }); - } - const ssrDocument = { - 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 getDocument() { - const doc = typeof document !== 'undefined' ? document : {}; - extend$2(doc, ssrDocument); - return doc; - } - const ssrWindow = { - document: ssrDocument, - navigator: { - userAgent: '' - }, - location: { - hash: '', - host: '', - hostname: '', - href: '', - origin: '', - pathname: '', - protocol: '', - search: '' - }, - history: { - replaceState() {}, - pushState() {}, - go() {}, - back() {} - }, - CustomEvent: function CustomEvent() { - return this; - }, - addEventListener() {}, - removeEventListener() {}, - getComputedStyle() { - return { - getPropertyValue() { - return ''; - } - }; - }, - Image() {}, - Date() {}, - screen: {}, - setTimeout() {}, - clearTimeout() {}, - matchMedia() { - return {}; - }, - requestAnimationFrame(callback) { - if (typeof setTimeout === 'undefined') { - callback(); - return null; - } - return setTimeout(callback, 0); - }, - cancelAnimationFrame(id) { - if (typeof setTimeout === 'undefined') { - return; - } - clearTimeout(id); - } - }; - function getWindow() { - const win = typeof window !== 'undefined' ? window : {}; - extend$2(win, ssrWindow); - return win; - } - - function classesToTokens(classes) { - if (classes === void 0) { - classes = ''; - } - return classes.trim().split(' ').filter(c => !!c.trim()); - } - - function deleteProps(obj) { - const object = obj; - Object.keys(object).forEach(key => { - try { - object[key] = null; - } catch (e) { - // no getter for object - } - try { - delete object[key]; - } catch (e) { - // something got wrong - } - }); - } - function nextTick(callback, delay) { - if (delay === void 0) { - delay = 0; - } - return setTimeout(callback, delay); - } - function now() { - return Date.now(); - } - function getComputedStyle$1(el) { - const window = getWindow(); - let style; - if (window.getComputedStyle) { - style = window.getComputedStyle(el, null); - } - if (!style && el.currentStyle) { - style = el.currentStyle; - } - if (!style) { - style = el.style; - } - return style; - } - function getTranslate(el, axis) { - if (axis === void 0) { - axis = 'x'; - } - const window = getWindow(); - let matrix; - let curTransform; - let transformMatrix; - const curStyle = getComputedStyle$1(el); - if (window.WebKitCSSMatrix) { - curTransform = curStyle.transform || curStyle.webkitTransform; - if (curTransform.split(',').length > 6) { - curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', '); - } - // Some old versions of Webkit choke when 'none' is passed; pass - // empty string instead in this case - transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); - } else { - transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); - matrix = transformMatrix.toString().split(','); - } - if (axis === 'x') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); - // Normal Browsers - else curTransform = parseFloat(matrix[4]); - } - if (axis === 'y') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); - // Normal Browsers - else curTransform = parseFloat(matrix[5]); - } - return curTransform || 0; - } - function isObject$1(o) { - return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object'; - } - function isNode(node) { - // eslint-disable-next-line - if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') { - return node instanceof HTMLElement; - } - return node && (node.nodeType === 1 || node.nodeType === 11); - } - function extend$1() { - const to = Object(arguments.length <= 0 ? undefined : arguments[0]); - const noExtend = ['__proto__', 'constructor', 'prototype']; - for (let i = 1; i < arguments.length; i += 1) { - const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i]; - if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) { - const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0); - for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { - const nextKey = keysArray[nextIndex]; - const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); - if (desc !== undefined && desc.enumerable) { - if (isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) { - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend$1(to[nextKey], nextSource[nextKey]); - } - } else if (!isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) { - to[nextKey] = {}; - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend$1(to[nextKey], nextSource[nextKey]); - } - } else { - to[nextKey] = nextSource[nextKey]; - } - } - } - } - } - return to; - } - function setCSSProperty(el, varName, varValue) { - el.style.setProperty(varName, varValue); - } - function animateCSSModeScroll(_ref) { - let { - swiper, - targetPosition, - side - } = _ref; - const window = getWindow(); - const startPosition = -swiper.translate; - let startTime = null; - let time; - const duration = swiper.params.speed; - swiper.wrapperEl.style.scrollSnapType = 'none'; - window.cancelAnimationFrame(swiper.cssModeFrameID); - const dir = targetPosition > startPosition ? 'next' : 'prev'; - const isOutOfBound = (current, target) => { - return dir === 'next' && current >= target || dir === 'prev' && current <= target; - }; - const animate = () => { - time = new Date().getTime(); - if (startTime === null) { - startTime = time; - } - const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); - const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2; - let currentPosition = startPosition + easeProgress * (targetPosition - startPosition); - if (isOutOfBound(currentPosition, targetPosition)) { - currentPosition = targetPosition; - } - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - if (isOutOfBound(currentPosition, targetPosition)) { - swiper.wrapperEl.style.overflow = 'hidden'; - swiper.wrapperEl.style.scrollSnapType = ''; - setTimeout(() => { - swiper.wrapperEl.style.overflow = ''; - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - }); - window.cancelAnimationFrame(swiper.cssModeFrameID); - return; - } - swiper.cssModeFrameID = window.requestAnimationFrame(animate); - }; - animate(); - } - function getSlideTransformEl(slideEl) { - return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl; - } - function elementChildren(element, selector) { - if (selector === void 0) { - selector = ''; - } - return [...element.children].filter(el => el.matches(selector)); - } - function showWarning(text) { - try { - console.warn(text); - return; - } catch (err) { - // err - } - } - function createElement(tag, classes) { - if (classes === void 0) { - classes = []; - } - const el = document.createElement(tag); - el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes))); - return el; - } - function elementOffset(el) { - const window = getWindow(); - const document = getDocument(); - const box = el.getBoundingClientRect(); - const body = document.body; - const clientTop = el.clientTop || body.clientTop || 0; - const clientLeft = el.clientLeft || body.clientLeft || 0; - const scrollTop = el === window ? window.scrollY : el.scrollTop; - const scrollLeft = el === window ? window.scrollX : el.scrollLeft; - return { - top: box.top + scrollTop - clientTop, - left: box.left + scrollLeft - clientLeft - }; - } - function elementPrevAll(el, selector) { - const prevEls = []; - while (el.previousElementSibling) { - const prev = el.previousElementSibling; // eslint-disable-line - if (selector) { - if (prev.matches(selector)) prevEls.push(prev); - } else prevEls.push(prev); - el = prev; - } - return prevEls; - } - function elementNextAll(el, selector) { - const nextEls = []; - while (el.nextElementSibling) { - const next = el.nextElementSibling; // eslint-disable-line - if (selector) { - if (next.matches(selector)) nextEls.push(next); - } else nextEls.push(next); - el = next; - } - return nextEls; - } - function elementStyle(el, prop) { - const window = getWindow(); - return window.getComputedStyle(el, null).getPropertyValue(prop); - } - function elementIndex(el) { - let child = el; - let i; - if (child) { - i = 0; - // eslint-disable-next-line - while ((child = child.previousSibling) !== null) { - if (child.nodeType === 1) i += 1; - } - return i; - } - return undefined; - } - function elementParents(el, selector) { - const parents = []; // eslint-disable-line - let parent = el.parentElement; // eslint-disable-line - while (parent) { - if (selector) { - if (parent.matches(selector)) parents.push(parent); - } else { - parents.push(parent); - } - parent = parent.parentElement; - } - return parents; - } - function elementTransitionEnd(el, callback) { - function fireCallBack(e) { - if (e.target !== el) return; - callback.call(el, e); - el.removeEventListener('transitionend', fireCallBack); - } - if (callback) { - el.addEventListener('transitionend', fireCallBack); - } - } - function elementOuterSize(el, size, includeMargins) { - const window = getWindow(); - if (includeMargins) { - return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom')); - } - return el.offsetWidth; - } - function makeElementsArray(el) { - return (Array.isArray(el) ? el : [el]).filter(e => !!e); - } - - let support; - function calcSupport() { - const window = getWindow(); - const document = getDocument(); - return { - smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style, - touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch) - }; - } - function getSupport() { - if (!support) { - support = calcSupport(); - } - return support; - } - - let deviceCached; - function calcDevice(_temp) { - let { - userAgent - } = _temp === void 0 ? {} : _temp; - const support = getSupport(); - const window = getWindow(); - const platform = window.navigator.platform; - const ua = userAgent || window.navigator.userAgent; - const device = { - ios: false, - android: false - }; - const screenWidth = window.screen.width; - const screenHeight = window.screen.height; - const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line - let ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); - const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); - const windows = platform === 'Win32'; - let macos = platform === 'MacIntel'; - - // iPadOs 13 fix - const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810']; - if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) { - ipad = ua.match(/(Version)\/([\d.]+)/); - if (!ipad) ipad = [0, 1, '13_0_0']; - macos = false; - } - - // Android - if (android && !windows) { - device.os = 'android'; - device.android = true; - } - if (ipad || iphone || ipod) { - device.os = 'ios'; - device.ios = true; - } - - // Export object - return device; - } - function getDevice(overrides) { - if (overrides === void 0) { - overrides = {}; - } - if (!deviceCached) { - deviceCached = calcDevice(overrides); - } - return deviceCached; - } - - let browser; - function calcBrowser() { - const window = getWindow(); - const device = getDevice(); - let needPerspectiveFix = false; - function isSafari() { - const ua = window.navigator.userAgent.toLowerCase(); - return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; - } - if (isSafari()) { - const ua = String(window.navigator.userAgent); - if (ua.includes('Version/')) { - const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num)); - needPerspectiveFix = major < 16 || major === 16 && minor < 2; - } - } - const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent); - const isSafariBrowser = isSafari(); - const need3dFix = isSafariBrowser || isWebView && device.ios; - return { - isSafari: needPerspectiveFix || isSafariBrowser, - needPerspectiveFix, - need3dFix, - isWebView - }; - } - function getBrowser() { - if (!browser) { - browser = calcBrowser(); - } - return browser; - } - - function Resize(_ref) { - let { - swiper, - on, - emit - } = _ref; - const window = getWindow(); - let observer = null; - let animationFrame = null; - const resizeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('beforeResize'); - emit('resize'); - }; - const createObserver = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - observer = new ResizeObserver(entries => { - animationFrame = window.requestAnimationFrame(() => { - const { - width, - height - } = swiper; - let newWidth = width; - let newHeight = height; - entries.forEach(_ref2 => { - let { - contentBoxSize, - contentRect, - target - } = _ref2; - if (target && target !== swiper.el) return; - newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize; - newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize; - }); - if (newWidth !== width || newHeight !== height) { - resizeHandler(); - } - }); - }); - observer.observe(swiper.el); - }; - const removeObserver = () => { - if (animationFrame) { - window.cancelAnimationFrame(animationFrame); - } - if (observer && observer.unobserve && swiper.el) { - observer.unobserve(swiper.el); - observer = null; - } - }; - const orientationChangeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('orientationchange'); - }; - on('init', () => { - if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') { - createObserver(); - return; - } - window.addEventListener('resize', resizeHandler); - window.addEventListener('orientationchange', orientationChangeHandler); - }); - on('destroy', () => { - removeObserver(); - window.removeEventListener('resize', resizeHandler); - window.removeEventListener('orientationchange', orientationChangeHandler); - }); - } - - function Observer(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const observers = []; - const window = getWindow(); - const attach = function (target, options) { - if (options === void 0) { - options = {}; - } - const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; - const observer = new ObserverFunc(mutations => { - // The observerUpdate event should only be triggered - // once despite the number of mutations. Additional - // triggers are redundant and are very costly - if (swiper.__preventObserver__) return; - if (mutations.length === 1) { - emit('observerUpdate', mutations[0]); - return; - } - const observerUpdate = function observerUpdate() { - emit('observerUpdate', mutations[0]); - }; - if (window.requestAnimationFrame) { - window.requestAnimationFrame(observerUpdate); - } else { - window.setTimeout(observerUpdate, 0); - } - }); - observer.observe(target, { - attributes: typeof options.attributes === 'undefined' ? true : options.attributes, - childList: typeof options.childList === 'undefined' ? true : options.childList, - characterData: typeof options.characterData === 'undefined' ? true : options.characterData - }); - observers.push(observer); - }; - const init = () => { - if (!swiper.params.observer) return; - if (swiper.params.observeParents) { - const containerParents = elementParents(swiper.hostEl); - for (let i = 0; i < containerParents.length; i += 1) { - attach(containerParents[i]); - } - } - // Observe container - attach(swiper.hostEl, { - childList: swiper.params.observeSlideChildren - }); - - // Observe wrapper - attach(swiper.wrapperEl, { - attributes: false - }); - }; - const destroy = () => { - observers.forEach(observer => { - observer.disconnect(); - }); - observers.splice(0, observers.length); - }; - extendParams({ - observer: false, - observeParents: false, - observeSlideChildren: false - }); - on('init', init); - on('destroy', destroy); - } - - /* eslint-disable no-underscore-dangle */ - - var eventsEmitter = { - on(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - events.split(' ').forEach(event => { - if (!self.eventsListeners[event]) self.eventsListeners[event] = []; - self.eventsListeners[event][method](handler); - }); - return self; - }, - once(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - function onceHandler() { - self.off(events, onceHandler); - if (onceHandler.__emitterProxy) { - delete onceHandler.__emitterProxy; - } - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - handler.apply(self, args); - } - onceHandler.__emitterProxy = handler; - return self.on(events, onceHandler, priority); - }, - onAny(handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - if (self.eventsAnyListeners.indexOf(handler) < 0) { - self.eventsAnyListeners[method](handler); - } - return self; - }, - offAny(handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsAnyListeners) return self; - const index = self.eventsAnyListeners.indexOf(handler); - if (index >= 0) { - self.eventsAnyListeners.splice(index, 1); - } - return self; - }, - off(events, handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - events.split(' ').forEach(event => { - if (typeof handler === 'undefined') { - self.eventsListeners[event] = []; - } else if (self.eventsListeners[event]) { - self.eventsListeners[event].forEach((eventHandler, index) => { - if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) { - self.eventsListeners[event].splice(index, 1); - } - }); - } - }); - return self; - }, - emit() { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - let events; - let data; - let context; - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - if (typeof args[0] === 'string' || Array.isArray(args[0])) { - events = args[0]; - data = args.slice(1, args.length); - context = self; - } else { - events = args[0].events; - data = args[0].data; - context = args[0].context || self; - } - data.unshift(context); - const eventsArray = Array.isArray(events) ? events : events.split(' '); - eventsArray.forEach(event => { - if (self.eventsAnyListeners && self.eventsAnyListeners.length) { - self.eventsAnyListeners.forEach(eventHandler => { - eventHandler.apply(context, [event, ...data]); - }); - } - if (self.eventsListeners && self.eventsListeners[event]) { - self.eventsListeners[event].forEach(eventHandler => { - eventHandler.apply(context, data); - }); - } - }); - return self; - } - }; - - function updateSize() { - const swiper = this; - let width; - let height; - const el = swiper.el; - if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) { - width = swiper.params.width; - } else { - width = el.clientWidth; - } - if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) { - height = swiper.params.height; - } else { - height = el.clientHeight; - } - if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) { - return; - } - - // Subtract paddings - width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10); - height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10); - if (Number.isNaN(width)) width = 0; - if (Number.isNaN(height)) height = 0; - Object.assign(swiper, { - width, - height, - size: swiper.isHorizontal() ? width : height - }); - } - - function updateSlides() { - const swiper = this; - function getDirectionPropertyValue(node, label) { - return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0); - } - const params = swiper.params; - const { - wrapperEl, - slidesEl, - size: swiperSize, - rtlTranslate: rtl, - wrongRTL - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; - const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`); - const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; - let snapGrid = []; - const slidesGrid = []; - const slidesSizesGrid = []; - let offsetBefore = params.slidesOffsetBefore; - if (typeof offsetBefore === 'function') { - offsetBefore = params.slidesOffsetBefore.call(swiper); - } - let offsetAfter = params.slidesOffsetAfter; - if (typeof offsetAfter === 'function') { - offsetAfter = params.slidesOffsetAfter.call(swiper); - } - const previousSnapGridLength = swiper.snapGrid.length; - const previousSlidesGridLength = swiper.slidesGrid.length; - let spaceBetween = params.spaceBetween; - let slidePosition = -offsetBefore; - let prevSlideSize = 0; - let index = 0; - if (typeof swiperSize === 'undefined') { - return; - } - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - swiper.virtualSize = -spaceBetween; - - // reset margins - slides.forEach(slideEl => { - if (rtl) { - slideEl.style.marginLeft = ''; - } else { - slideEl.style.marginRight = ''; - } - slideEl.style.marginBottom = ''; - slideEl.style.marginTop = ''; - }); - - // reset cssMode offsets - if (params.centeredSlides && params.cssMode) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', ''); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', ''); - } - const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid; - if (gridEnabled) { - swiper.grid.initSlides(slides); - } else if (swiper.grid) { - swiper.grid.unsetSlides(); - } - - // Calc slides - let slideSize; - const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => { - return typeof params.breakpoints[key].slidesPerView !== 'undefined'; - }).length > 0; - for (let i = 0; i < slidesLength; i += 1) { - slideSize = 0; - let slide; - if (slides[i]) slide = slides[i]; - if (gridEnabled) { - swiper.grid.updateSlide(i, slide, slides); - } - if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line - - if (params.slidesPerView === 'auto') { - if (shouldResetSlideSize) { - slides[i].style[swiper.getDirectionLabel('width')] = ``; - } - const slideStyles = getComputedStyle(slide); - const currentTransform = slide.style.transform; - const currentWebKitTransform = slide.style.webkitTransform; - if (currentTransform) { - slide.style.transform = 'none'; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = 'none'; - } - if (params.roundLengths) { - slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true); - } else { - // eslint-disable-next-line - const width = getDirectionPropertyValue(slideStyles, 'width'); - const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left'); - const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right'); - const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left'); - const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right'); - const boxSizing = slideStyles.getPropertyValue('box-sizing'); - if (boxSizing && boxSizing === 'border-box') { - slideSize = width + marginLeft + marginRight; - } else { - const { - clientWidth, - offsetWidth - } = slide; - slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth); - } - } - if (currentTransform) { - slide.style.transform = currentTransform; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = currentWebKitTransform; - } - if (params.roundLengths) slideSize = Math.floor(slideSize); - } else { - slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView; - if (params.roundLengths) slideSize = Math.floor(slideSize); - if (slides[i]) { - slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`; - } - } - if (slides[i]) { - slides[i].swiperSlideSize = slideSize; - } - slidesSizesGrid.push(slideSize); - if (params.centeredSlides) { - slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; - if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - } else { - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - slidePosition = slidePosition + slideSize + spaceBetween; - } - swiper.virtualSize += slideSize + spaceBetween; - prevSlideSize = slideSize; - index += 1; - } - swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; - if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { - wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`; - } - if (params.setWrapperSize) { - wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; - } - if (gridEnabled) { - swiper.grid.updateWrapperSize(slideSize, snapGrid); - } - - // Remove last grid elements depending on width - if (!params.centeredSlides) { - const newSlidesGrid = []; - for (let i = 0; i < snapGrid.length; i += 1) { - let slidesGridItem = snapGrid[i]; - if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem); - if (snapGrid[i] <= swiper.virtualSize - swiperSize) { - newSlidesGrid.push(slidesGridItem); - } - } - snapGrid = newSlidesGrid; - if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { - snapGrid.push(swiper.virtualSize - swiperSize); - } - } - if (isVirtual && params.loop) { - const size = slidesSizesGrid[0] + spaceBetween; - if (params.slidesPerGroup > 1) { - const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup); - const groupSize = size * params.slidesPerGroup; - for (let i = 0; i < groups; i += 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize); - } - } - for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) { - if (params.slidesPerGroup === 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + size); - } - slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size); - swiper.virtualSize += size; - } - } - if (snapGrid.length === 0) snapGrid = [0]; - if (spaceBetween !== 0) { - const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight'); - slides.filter((_, slideIndex) => { - if (!params.cssMode || params.loop) return true; - if (slideIndex === slides.length - 1) { - return false; - } - return true; - }).forEach(slideEl => { - slideEl.style[key] = `${spaceBetween}px`; - }); - } - if (params.centeredSlides && params.centeredSlidesBounds) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const maxSnap = allSlidesSize - swiperSize; - snapGrid = snapGrid.map(snap => { - if (snap <= 0) return -offsetBefore; - if (snap > maxSnap) return maxSnap + offsetAfter; - return snap; - }); - } - if (params.centerInsufficientSlides) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0); - if (allSlidesSize + offsetSize < swiperSize) { - const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2; - snapGrid.forEach((snap, snapIndex) => { - snapGrid[snapIndex] = snap - allSlidesOffset; - }); - slidesGrid.forEach((snap, snapIndex) => { - slidesGrid[snapIndex] = snap + allSlidesOffset; - }); - } - } - Object.assign(swiper, { - slides, - snapGrid, - slidesGrid, - slidesSizesGrid - }); - if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`); - const addToSnapGrid = -swiper.snapGrid[0]; - const addToSlidesGrid = -swiper.slidesGrid[0]; - swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid); - swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid); - } - if (slidesLength !== previousSlidesLength) { - swiper.emit('slidesLengthChange'); - } - if (snapGrid.length !== previousSnapGridLength) { - if (swiper.params.watchOverflow) swiper.checkOverflow(); - swiper.emit('snapGridLengthChange'); - } - if (slidesGrid.length !== previousSlidesGridLength) { - swiper.emit('slidesGridLengthChange'); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - swiper.emit('slidesUpdated'); - if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) { - const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`; - const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass); - if (slidesLength <= params.maxBackfaceHiddenSlides) { - if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass); - } else if (hasClassBackfaceClassAdded) { - swiper.el.classList.remove(backFaceHiddenClass); - } - } - } - - function updateAutoHeight(speed) { - const swiper = this; - const activeSlides = []; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - let newHeight = 0; - let i; - if (typeof speed === 'number') { - swiper.setTransition(speed); - } else if (speed === true) { - swiper.setTransition(swiper.params.speed); - } - const getSlideByIndex = index => { - if (isVirtual) { - return swiper.slides[swiper.getSlideIndexByData(index)]; - } - return swiper.slides[index]; - }; - // Find slides currently in view - if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { - if (swiper.params.centeredSlides) { - (swiper.visibleSlides || []).forEach(slide => { - activeSlides.push(slide); - }); - } else { - for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { - const index = swiper.activeIndex + i; - if (index > swiper.slides.length && !isVirtual) break; - activeSlides.push(getSlideByIndex(index)); - } - } - } else { - activeSlides.push(getSlideByIndex(swiper.activeIndex)); - } - - // Find new height from highest slide in view - for (i = 0; i < activeSlides.length; i += 1) { - if (typeof activeSlides[i] !== 'undefined') { - const height = activeSlides[i].offsetHeight; - newHeight = height > newHeight ? height : newHeight; - } - } - - // Update Height - if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`; - } - - function updateSlidesOffset() { - const swiper = this; - const slides = swiper.slides; - // eslint-disable-next-line - const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0; - for (let i = 0; i < slides.length; i += 1) { - slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment(); - } - } - - const toggleSlideClasses$1 = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } - }; - function updateSlidesProgress(translate) { - if (translate === void 0) { - translate = this && this.translate || 0; - } - const swiper = this; - const params = swiper.params; - const { - slides, - rtlTranslate: rtl, - snapGrid - } = swiper; - if (slides.length === 0) return; - if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); - let offsetCenter = -translate; - if (rtl) offsetCenter = translate; - swiper.visibleSlidesIndexes = []; - swiper.visibleSlides = []; - let spaceBetween = params.spaceBetween; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - for (let i = 0; i < slides.length; i += 1) { - const slide = slides[i]; - let slideOffset = slide.swiperSlideOffset; - if (params.cssMode && params.centeredSlides) { - slideOffset -= slides[0].swiperSlideOffset; - } - const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const slideBefore = -(offsetCenter - slideOffset); - const slideAfter = slideBefore + swiper.slidesSizesGrid[i]; - const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i]; - const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size; - if (isVisible) { - swiper.visibleSlides.push(slide); - swiper.visibleSlidesIndexes.push(i); - } - toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass); - toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass); - slide.progress = rtl ? -slideProgress : slideProgress; - slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; - } - } - - function updateProgress(translate) { - const swiper = this; - if (typeof translate === 'undefined') { - const multiplier = swiper.rtlTranslate ? -1 : 1; - // eslint-disable-next-line - translate = swiper && swiper.translate && swiper.translate * multiplier || 0; - } - const params = swiper.params; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - let { - progress, - isBeginning, - isEnd, - progressLoop - } = swiper; - const wasBeginning = isBeginning; - const wasEnd = isEnd; - if (translatesDiff === 0) { - progress = 0; - isBeginning = true; - isEnd = true; - } else { - progress = (translate - swiper.minTranslate()) / translatesDiff; - const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1; - const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1; - isBeginning = isBeginningRounded || progress <= 0; - isEnd = isEndRounded || progress >= 1; - if (isBeginningRounded) progress = 0; - if (isEndRounded) progress = 1; - } - if (params.loop) { - const firstSlideIndex = swiper.getSlideIndexByData(0); - const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1); - const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex]; - const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex]; - const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1]; - const translateAbs = Math.abs(translate); - if (translateAbs >= firstSlideTranslate) { - progressLoop = (translateAbs - firstSlideTranslate) / translateMax; - } else { - progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax; - } - if (progressLoop > 1) progressLoop -= 1; - } - Object.assign(swiper, { - progress, - progressLoop, - isBeginning, - isEnd - }); - if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate); - if (isBeginning && !wasBeginning) { - swiper.emit('reachBeginning toEdge'); - } - if (isEnd && !wasEnd) { - swiper.emit('reachEnd toEdge'); - } - if (wasBeginning && !isBeginning || wasEnd && !isEnd) { - swiper.emit('fromEdge'); - } - swiper.emit('progress', progress); - } - - const toggleSlideClasses = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } - }; - function updateSlidesClasses() { - const swiper = this; - const { - slides, - params, - slidesEl, - activeIndex - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const getFilteredSlide = selector => { - return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0]; - }; - let activeSlide; - let prevSlide; - let nextSlide; - if (isVirtual) { - if (params.loop) { - let slideIndex = activeIndex - swiper.virtual.slidesBefore; - if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex; - if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length; - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`); - } else { - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`); - } - } else { - if (gridEnabled) { - activeSlide = slides.filter(slideEl => slideEl.column === activeIndex)[0]; - nextSlide = slides.filter(slideEl => slideEl.column === activeIndex + 1)[0]; - prevSlide = slides.filter(slideEl => slideEl.column === activeIndex - 1)[0]; - } else { - activeSlide = slides[activeIndex]; - } - } - if (activeSlide) { - if (!gridEnabled) { - // Next Slide - nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !nextSlide) { - nextSlide = slides[0]; - } - - // Prev Slide - prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !prevSlide === 0) { - prevSlide = slides[slides.length - 1]; - } - } - } - slides.forEach(slideEl => { - toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass); - toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass); - toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass); - }); - swiper.emitSlidesClasses(); - } - - const processLazyPreloader = (swiper, imageEl) => { - if (!swiper || swiper.destroyed || !swiper.params) return; - const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; - const slideEl = imageEl.closest(slideSelector()); - if (slideEl) { - let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (!lazyEl && swiper.isElement) { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - } else { - // init later - requestAnimationFrame(() => { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (lazyEl) lazyEl.remove(); - } - }); - } - } - if (lazyEl) lazyEl.remove(); - } - }; - const unlazy = (swiper, index) => { - if (!swiper.slides[index]) return; - const imageEl = swiper.slides[index].querySelector('[loading="lazy"]'); - if (imageEl) imageEl.removeAttribute('loading'); - }; - const preload = swiper => { - if (!swiper || swiper.destroyed || !swiper.params) return; - let amount = swiper.params.lazyPreloadPrevNext; - const len = swiper.slides.length; - if (!len || !amount || amount < 0) return; - amount = Math.min(amount, len); - const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView); - const activeIndex = swiper.activeIndex; - if (swiper.params.grid && swiper.params.grid.rows > 1) { - const activeColumn = activeIndex; - const preloadColumns = [activeColumn - amount]; - preloadColumns.push(...Array.from({ - length: amount - }).map((_, i) => { - return activeColumn + slidesPerView + i; - })); - swiper.slides.forEach((slideEl, i) => { - if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i); - }); - return; - } - const slideIndexLastInView = activeIndex + slidesPerView - 1; - if (swiper.params.rewind || swiper.params.loop) { - for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) { - const realIndex = (i % len + len) % len; - if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex); - } - } else { - for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) { - if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) { - unlazy(swiper, i); - } - } - } - }; - - function getActiveIndexByTranslate(swiper) { - const { - slidesGrid, - params - } = swiper; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - let activeIndex; - for (let i = 0; i < slidesGrid.length; i += 1) { - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) { - activeIndex = i; - } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { - activeIndex = i + 1; - } - } else if (translate >= slidesGrid[i]) { - activeIndex = i; - } - } - // Normalize slideIndex - if (params.normalizeSlideIndex) { - if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0; - } - return activeIndex; - } - function updateActiveIndex(newActiveIndex) { - const swiper = this; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - const { - snapGrid, - params, - activeIndex: previousIndex, - realIndex: previousRealIndex, - snapIndex: previousSnapIndex - } = swiper; - let activeIndex = newActiveIndex; - let snapIndex; - const getVirtualRealIndex = aIndex => { - let realIndex = aIndex - swiper.virtual.slidesBefore; - if (realIndex < 0) { - realIndex = swiper.virtual.slides.length + realIndex; - } - if (realIndex >= swiper.virtual.slides.length) { - realIndex -= swiper.virtual.slides.length; - } - return realIndex; - }; - if (typeof activeIndex === 'undefined') { - activeIndex = getActiveIndexByTranslate(swiper); - } - if (snapGrid.indexOf(translate) >= 0) { - snapIndex = snapGrid.indexOf(translate); - } else { - const skip = Math.min(params.slidesPerGroupSkip, activeIndex); - snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup); - } - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - if (activeIndex === previousIndex && !swiper.params.loop) { - if (snapIndex !== previousSnapIndex) { - swiper.snapIndex = snapIndex; - swiper.emit('snapIndexChange'); - } - return; - } - if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.realIndex = getVirtualRealIndex(activeIndex); - return; - } - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - - // Get real index - let realIndex; - if (swiper.virtual && params.virtual.enabled && params.loop) { - realIndex = getVirtualRealIndex(activeIndex); - } else if (gridEnabled) { - const firstSlideInColumn = swiper.slides.filter(slideEl => slideEl.column === activeIndex)[0]; - let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10); - if (Number.isNaN(activeSlideIndex)) { - activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0); - } - realIndex = Math.floor(activeSlideIndex / params.grid.rows); - } else if (swiper.slides[activeIndex]) { - const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index'); - if (slideIndex) { - realIndex = parseInt(slideIndex, 10); - } else { - realIndex = activeIndex; - } - } else { - realIndex = activeIndex; - } - Object.assign(swiper, { - previousSnapIndex, - snapIndex, - previousRealIndex, - realIndex, - previousIndex, - activeIndex - }); - if (swiper.initialized) { - preload(swiper); - } - swiper.emit('activeIndexChange'); - swiper.emit('snapIndexChange'); - if (swiper.initialized || swiper.params.runCallbacksOnInit) { - if (previousRealIndex !== realIndex) { - swiper.emit('realIndexChange'); - } - swiper.emit('slideChange'); - } - } - - function updateClickedSlide(el, path) { - const swiper = this; - const params = swiper.params; - let slide = el.closest(`.${params.slideClass}, swiper-slide`); - if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) { - [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => { - if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) { - slide = pathEl; - } - }); - } - let slideFound = false; - let slideIndex; - if (slide) { - for (let i = 0; i < swiper.slides.length; i += 1) { - if (swiper.slides[i] === slide) { - slideFound = true; - slideIndex = i; - break; - } - } - } - if (slide && slideFound) { - swiper.clickedSlide = slide; - if (swiper.virtual && swiper.params.virtual.enabled) { - swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10); - } else { - swiper.clickedIndex = slideIndex; - } - } else { - swiper.clickedSlide = undefined; - swiper.clickedIndex = undefined; - return; - } - if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { - swiper.slideToClickedSlide(); - } - } - - var update = { - updateSize, - updateSlides, - updateAutoHeight, - updateSlidesOffset, - updateSlidesProgress, - updateProgress, - updateSlidesClasses, - updateActiveIndex, - updateClickedSlide - }; - - function getSwiperTranslate(axis) { - if (axis === void 0) { - axis = this.isHorizontal() ? 'x' : 'y'; - } - const swiper = this; - const { - params, - rtlTranslate: rtl, - translate, - wrapperEl - } = swiper; - if (params.virtualTranslate) { - return rtl ? -translate : translate; - } - if (params.cssMode) { - return translate; - } - let currentTranslate = getTranslate(wrapperEl, axis); - currentTranslate += swiper.cssOverflowAdjustment(); - if (rtl) currentTranslate = -currentTranslate; - return currentTranslate || 0; - } - - function setTranslate(translate, byController) { - const swiper = this; - const { - rtlTranslate: rtl, - params, - wrapperEl, - progress - } = swiper; - let x = 0; - let y = 0; - const z = 0; - if (swiper.isHorizontal()) { - x = rtl ? -translate : translate; - } else { - y = translate; - } - if (params.roundLengths) { - x = Math.floor(x); - y = Math.floor(y); - } - swiper.previousTranslate = swiper.translate; - swiper.translate = swiper.isHorizontal() ? x : y; - if (params.cssMode) { - wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y; - } else if (!params.virtualTranslate) { - if (swiper.isHorizontal()) { - x -= swiper.cssOverflowAdjustment(); - } else { - y -= swiper.cssOverflowAdjustment(); - } - wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`; - } - - // Check if we need to update progress - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== progress) { - swiper.updateProgress(translate); - } - swiper.emit('setTranslate', swiper.translate, byController); - } - - function minTranslate() { - return -this.snapGrid[0]; - } - - function maxTranslate() { - return -this.snapGrid[this.snapGrid.length - 1]; - } - - function translateTo(translate, speed, runCallbacks, translateBounds, internal) { - if (translate === void 0) { - translate = 0; - } - if (speed === void 0) { - speed = this.params.speed; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (translateBounds === void 0) { - translateBounds = true; - } - const swiper = this; - const { - params, - wrapperEl - } = swiper; - if (swiper.animating && params.preventInteractionOnTransition) { - return false; - } - const minTranslate = swiper.minTranslate(); - const maxTranslate = swiper.maxTranslate(); - let newTranslate; - if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; - - // Update progress - swiper.updateProgress(newTranslate); - if (params.cssMode) { - const isH = swiper.isHorizontal(); - if (speed === 0) { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: -newTranslate, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: -newTranslate, - behavior: 'smooth' - }); - } - return true; - } - if (speed === 0) { - swiper.setTransition(0); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionEnd'); - } - } else { - swiper.setTransition(speed); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionStart'); - } - if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onTranslateToWrapperTransitionEnd) { - swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - swiper.onTranslateToWrapperTransitionEnd = null; - delete swiper.onTranslateToWrapperTransitionEnd; - swiper.animating = false; - if (runCallbacks) { - swiper.emit('transitionEnd'); - } - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - } - } - return true; - } - - var translate = { - getTranslate: getSwiperTranslate, - setTranslate, - minTranslate, - maxTranslate, - translateTo - }; - - function setTransition(duration, byController) { - const swiper = this; - if (!swiper.params.cssMode) { - swiper.wrapperEl.style.transitionDuration = `${duration}ms`; - swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : ''; - } - swiper.emit('setTransition', duration, byController); - } - - function transitionEmit(_ref) { - let { - swiper, - runCallbacks, - direction, - step - } = _ref; - const { - activeIndex, - previousIndex - } = swiper; - let dir = direction; - if (!dir) { - if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; - } - swiper.emit(`transition${step}`); - if (runCallbacks && activeIndex !== previousIndex) { - if (dir === 'reset') { - swiper.emit(`slideResetTransition${step}`); - return; - } - swiper.emit(`slideChangeTransition${step}`); - if (dir === 'next') { - swiper.emit(`slideNextTransition${step}`); - } else { - swiper.emit(`slidePrevTransition${step}`); - } - } - } - - function transitionStart(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - if (params.cssMode) return; - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'Start' - }); - } - - function transitionEnd(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - swiper.animating = false; - if (params.cssMode) return; - swiper.setTransition(0); - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'End' - }); - } - - var transition = { - setTransition, - transitionStart, - transitionEnd - }; - - function slideTo(index, speed, runCallbacks, internal, initial) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - index = parseInt(index, 10); - } - const swiper = this; - let slideIndex = index; - if (slideIndex < 0) slideIndex = 0; - const { - params, - snapGrid, - slidesGrid, - previousIndex, - activeIndex, - rtlTranslate: rtl, - wrapperEl, - enabled - } = swiper; - if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) { - return false; - } - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex); - let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup); - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - const translate = -snapGrid[snapIndex]; - // Normalize slideIndex - if (params.normalizeSlideIndex) { - for (let i = 0; i < slidesGrid.length; i += 1) { - const normalizedTranslate = -Math.floor(translate * 100); - const normalizedGrid = Math.floor(slidesGrid[i] * 100); - const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100); - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) { - slideIndex = i; - } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) { - slideIndex = i + 1; - } - } else if (normalizedTranslate >= normalizedGrid) { - slideIndex = i; - } - } - } - // Directions locks - if (swiper.initialized && slideIndex !== activeIndex) { - if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) { - return false; - } - if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { - if ((activeIndex || 0) !== slideIndex) { - return false; - } - } - } - if (slideIndex !== (previousIndex || 0) && runCallbacks) { - swiper.emit('beforeSlideChangeStart'); - } - - // Update progress - swiper.updateProgress(translate); - let direction; - if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; - - // Update Index - if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) { - swiper.updateActiveIndex(slideIndex); - // Update Height - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - swiper.updateSlidesClasses(); - if (params.effect !== 'slide') { - swiper.setTranslate(translate); - } - if (direction !== 'reset') { - swiper.transitionStart(runCallbacks, direction); - swiper.transitionEnd(runCallbacks, direction); - } - return false; - } - if (params.cssMode) { - const isH = swiper.isHorizontal(); - const t = rtl ? translate : -translate; - if (speed === 0) { - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - if (isVirtual) { - swiper.wrapperEl.style.scrollSnapType = 'none'; - swiper._immediateVirtual = true; - } - if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) { - swiper._cssModeVirtualInitialSet = true; - requestAnimationFrame(() => { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - }); - } else { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - } - if (isVirtual) { - requestAnimationFrame(() => { - swiper.wrapperEl.style.scrollSnapType = ''; - swiper._immediateVirtual = false; - }); - } - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: t, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: t, - behavior: 'smooth' - }); - } - return true; - } - swiper.setTransition(speed); - swiper.setTranslate(translate); - swiper.updateActiveIndex(slideIndex); - swiper.updateSlidesClasses(); - swiper.emit('beforeTransitionStart', speed, internal); - swiper.transitionStart(runCallbacks, direction); - if (speed === 0) { - swiper.transitionEnd(runCallbacks, direction); - } else if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onSlideToWrapperTransitionEnd) { - swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - swiper.onSlideToWrapperTransitionEnd = null; - delete swiper.onSlideToWrapperTransitionEnd; - swiper.transitionEnd(runCallbacks, direction); - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - } - return true; - } - - function slideToLoop(index, speed, runCallbacks, internal) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - const indexAsNumber = parseInt(index, 10); - index = indexAsNumber; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1; - let newIndex = index; - if (swiper.params.loop) { - if (swiper.virtual && swiper.params.virtual.enabled) { - // eslint-disable-next-line - newIndex = newIndex + swiper.virtual.slidesBefore; - } else { - let targetSlideIndex; - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - targetSlideIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - targetSlideIndex = swiper.getSlideIndexByData(newIndex); - } - const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length; - const { - centeredSlides - } = swiper.params; - let slidesPerView = swiper.params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - let needLoopFix = cols - targetSlideIndex < slidesPerView; - if (centeredSlides) { - needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2); - } - if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) { - needLoopFix = false; - } - if (needLoopFix) { - const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev'; - swiper.loopFix({ - direction, - slideTo: true, - activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1, - slideRealIndex: direction === 'next' ? swiper.realIndex : undefined - }); - } - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - newIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - newIndex = swiper.getSlideIndexByData(newIndex); - } - } - } - requestAnimationFrame(() => { - swiper.slideTo(newIndex, speed, runCallbacks, internal); - }); - return swiper; - } - - /* eslint no-unused-vars: "off" */ - function slideNext(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - enabled, - params, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let perGroup = params.slidesPerGroup; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1); - } - const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup; - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'next' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); - }); - return true; - } - } - if (params.rewind && swiper.isEnd) { - return swiper.slideTo(0, speed, runCallbacks, internal); - } - return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slidePrev(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params, - snapGrid, - slidesGrid, - rtlTranslate, - enabled, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'prev' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - } - const translate = rtlTranslate ? swiper.translate : -swiper.translate; - function normalize(val) { - if (val < 0) return -Math.floor(Math.abs(val)); - return Math.floor(val); - } - const normalizedTranslate = normalize(translate); - const normalizedSnapGrid = snapGrid.map(val => normalize(val)); - let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; - if (typeof prevSnap === 'undefined' && params.cssMode) { - let prevSnapIndex; - snapGrid.forEach((snap, snapIndex) => { - if (normalizedTranslate >= snap) { - // prevSnap = snap; - prevSnapIndex = snapIndex; - } - }); - if (typeof prevSnapIndex !== 'undefined') { - prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex]; - } - } - let prevIndex = 0; - if (typeof prevSnap !== 'undefined') { - prevIndex = slidesGrid.indexOf(prevSnap); - if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; - prevIndex = Math.max(prevIndex, 0); - } - } - if (params.rewind && swiper.isBeginning) { - const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - return swiper.slideTo(lastIndex, speed, runCallbacks, internal); - } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(prevIndex, speed, runCallbacks, internal); - }); - return true; - } - return swiper.slideTo(prevIndex, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slideReset(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slideToClosest(speed, runCallbacks, internal, threshold) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (threshold === void 0) { - threshold = 0.5; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let index = swiper.activeIndex; - const skip = Math.min(swiper.params.slidesPerGroupSkip, index); - const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - if (translate >= swiper.snapGrid[snapIndex]) { - // The current translate is on or after the current snap index, so the choice - // is between the current index and the one after it. - const currentSnap = swiper.snapGrid[snapIndex]; - const nextSnap = swiper.snapGrid[snapIndex + 1]; - if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { - index += swiper.params.slidesPerGroup; - } - } else { - // The current translate is before the current snap index, so the choice - // is between the current index and the one before it. - const prevSnap = swiper.snapGrid[snapIndex - 1]; - const currentSnap = swiper.snapGrid[snapIndex]; - if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { - index -= swiper.params.slidesPerGroup; - } - } - index = Math.max(index, 0); - index = Math.min(index, swiper.slidesGrid.length - 1); - return swiper.slideTo(index, speed, runCallbacks, internal); - } - - function slideToClickedSlide() { - const swiper = this; - if (swiper.destroyed) return; - const { - params, - slidesEl - } = swiper; - const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; - let slideToIndex = swiper.clickedIndex; - let realIndex; - const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`; - if (params.loop) { - if (swiper.animating) return; - realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); - if (params.centeredSlides) { - if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else if (slideToIndex > swiper.slides.length - slidesPerView) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else { - swiper.slideTo(slideToIndex); - } - } - - var slide = { - slideTo, - slideToLoop, - slideNext, - slidePrev, - slideReset, - slideToClosest, - slideToClickedSlide - }; - - function loopCreate(slideRealIndex) { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - const initSlides = () => { - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - slides.forEach((el, index) => { - el.setAttribute('data-swiper-slide-index', index); - }); - }; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1); - const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0; - const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0; - const addBlankSlides = amountOfSlides => { - for (let i = 0; i < amountOfSlides; i += 1) { - const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]); - swiper.slidesEl.append(slideEl); - } - }; - if (shouldFillGroup) { - if (params.loopAddBlankSlides) { - const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else if (shouldFillGrid) { - if (params.loopAddBlankSlides) { - const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else { - initSlides(); - } - swiper.loopFix({ - slideRealIndex, - direction: params.centeredSlides ? undefined : 'next' - }); - } - - function loopFix(_temp) { - let { - slideRealIndex, - slideTo = true, - direction, - setTranslate, - activeSlideIndex, - byController, - byMousewheel - } = _temp === void 0 ? {} : _temp; - const swiper = this; - if (!swiper.params.loop) return; - swiper.emit('beforeLoopFix'); - const { - slides, - allowSlidePrev, - allowSlideNext, - slidesEl, - params - } = swiper; - const { - centeredSlides - } = params; - swiper.allowSlidePrev = true; - swiper.allowSlideNext = true; - if (swiper.virtual && params.virtual.enabled) { - if (slideTo) { - if (!params.centeredSlides && swiper.snapIndex === 0) { - swiper.slideTo(swiper.virtual.slides.length, 0, false, true); - } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) { - swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true); - } else if (swiper.snapIndex === swiper.snapGrid.length - 1) { - swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true); - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - swiper.emit('loopFix'); - return; - } - let slidesPerView = params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup; - let loopedSlides = slidesPerGroup; - if (loopedSlides % slidesPerGroup !== 0) { - loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup; - } - loopedSlides += params.loopAdditionalSlides; - swiper.loopedSlides = loopedSlides; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - if (slides.length < slidesPerView + loopedSlides) { - showWarning('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'); - } else if (gridEnabled && params.grid.fill === 'row') { - showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`'); - } - const prependSlidesIndexes = []; - const appendSlidesIndexes = []; - let activeIndex = swiper.activeIndex; - if (typeof activeSlideIndex === 'undefined') { - activeSlideIndex = swiper.getSlideIndex(slides.filter(el => el.classList.contains(params.slideActiveClass))[0]); - } else { - activeIndex = activeSlideIndex; - } - const isNext = direction === 'next' || !direction; - const isPrev = direction === 'prev' || !direction; - let slidesPrepended = 0; - let slidesAppended = 0; - const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length; - const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex; - const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0); - // prepend last slides before start - if (activeColIndexWithShift < loopedSlides) { - slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup); - for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - const colIndexToPrepend = cols - index - 1; - for (let i = slides.length - 1; i >= 0; i -= 1) { - if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i); - } - // slides.forEach((slide, slideIndex) => { - // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex); - // }); - } else { - prependSlidesIndexes.push(cols - index - 1); - } - } - } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) { - slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup); - for (let i = 0; i < slidesAppended; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - slides.forEach((slide, slideIndex) => { - if (slide.column === index) appendSlidesIndexes.push(slideIndex); - }); - } else { - appendSlidesIndexes.push(index); - } - } - } - swiper.__preventObserver__ = true; - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - if (isPrev) { - prependSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.prepend(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - if (isNext) { - appendSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.append(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - swiper.recalcSlides(); - if (params.slidesPerView === 'auto') { - swiper.updateSlides(); - } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) { - swiper.slides.forEach((slide, slideIndex) => { - swiper.grid.updateSlide(slideIndex, slide, swiper.slides); - }); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - if (slideTo) { - if (prependSlidesIndexes.length > 0 && isPrev) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - if (setTranslate) { - const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex + shift, 0, false, true); - swiper.touchEventsData.currentTranslate = swiper.translate; - } - } - } else if (appendSlidesIndexes.length > 0 && isNext) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex - slidesAppended, 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex - shift, 0, false, true); - } - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.controller && swiper.controller.control && !byController) { - const loopParams = { - slideRealIndex, - direction, - setTranslate, - activeSlideIndex, - byController: true - }; - if (Array.isArray(swiper.controller.control)) { - swiper.controller.control.forEach(c => { - if (!c.destroyed && c.params.loop) c.loopFix({ - ...loopParams, - slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - }); - } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) { - swiper.controller.control.loopFix({ - ...loopParams, - slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - } - } - swiper.emit('loopFix'); - } - - function loopDestroy() { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - swiper.recalcSlides(); - const newSlidesOrder = []; - swiper.slides.forEach(slideEl => { - const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex; - newSlidesOrder[index] = slideEl; - }); - swiper.slides.forEach(slideEl => { - slideEl.removeAttribute('data-swiper-slide-index'); - }); - newSlidesOrder.forEach(slideEl => { - slidesEl.append(slideEl); - }); - swiper.recalcSlides(); - swiper.slideTo(swiper.realIndex, 0); - } - - var loop = { - loopCreate, - loopFix, - loopDestroy - }; - - function setGrabCursor(moving) { - const swiper = this; - if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return; - const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl; - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - el.style.cursor = 'move'; - el.style.cursor = moving ? 'grabbing' : 'grab'; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } - } - - function unsetGrabCursor() { - const swiper = this; - if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) { - return; - } - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = ''; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } - } - - var grabCursor = { - setGrabCursor, - unsetGrabCursor - }; - - // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd - function closestElement(selector, base) { - if (base === void 0) { - base = this; - } - function __closestFrom(el) { - if (!el || el === getDocument() || el === getWindow()) return null; - if (el.assignedSlot) el = el.assignedSlot; - const found = el.closest(selector); - if (!found && !el.getRootNode) { - return null; - } - return found || __closestFrom(el.getRootNode().host); - } - return __closestFrom(base); - } - function preventEdgeSwipe(swiper, event, startX) { - const window = getWindow(); - const { - params - } = swiper; - const edgeSwipeDetection = params.edgeSwipeDetection; - const edgeSwipeThreshold = params.edgeSwipeThreshold; - if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) { - if (edgeSwipeDetection === 'prevent') { - event.preventDefault(); - return true; - } - return false; - } - return true; - } - function onTouchStart(event) { - const swiper = this; - const document = getDocument(); - let e = event; - if (e.originalEvent) e = e.originalEvent; - const data = swiper.touchEventsData; - if (e.type === 'pointerdown') { - if (data.pointerId !== null && data.pointerId !== e.pointerId) { - return; - } - data.pointerId = e.pointerId; - } else if (e.type === 'touchstart' && e.targetTouches.length === 1) { - data.touchId = e.targetTouches[0].identifier; - } - if (e.type === 'touchstart') { - // don't proceed touch event - preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX); - return; - } - const { - params, - touches, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (swiper.animating && params.preventInteractionOnTransition) { - return; - } - if (!swiper.animating && params.cssMode && params.loop) { - swiper.loopFix(); - } - let targetEl = e.target; - if (params.touchEventsTarget === 'wrapper') { - if (!swiper.wrapperEl.contains(targetEl)) return; - } - if ('which' in e && e.which === 3) return; - if ('button' in e && e.button > 0) return; - if (data.isTouched && data.isMoved) return; - - // change target el for shadow root component - const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; - // eslint-disable-next-line - const eventPath = e.composedPath ? e.composedPath() : e.path; - if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) { - targetEl = eventPath[0]; - } - const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`; - const isTargetShadow = !!(e.target && e.target.shadowRoot); - - // use closestElement for shadow root element to get the actual closest for nested shadow root element - if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) { - swiper.allowClick = true; - return; - } - if (params.swipeHandler) { - if (!targetEl.closest(params.swipeHandler)) return; - } - touches.currentX = e.pageX; - touches.currentY = e.pageY; - const startX = touches.currentX; - const startY = touches.currentY; - - // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore - - if (!preventEdgeSwipe(swiper, e, startX)) { - return; - } - Object.assign(data, { - isTouched: true, - isMoved: false, - allowTouchCallbacks: true, - isScrolling: undefined, - startMoving: undefined - }); - touches.startX = startX; - touches.startY = startY; - data.touchStartTime = now(); - swiper.allowClick = true; - swiper.updateSize(); - swiper.swipeDirection = undefined; - if (params.threshold > 0) data.allowThresholdMove = false; - let preventDefault = true; - if (targetEl.matches(data.focusableElements)) { - preventDefault = false; - if (targetEl.nodeName === 'SELECT') { - data.isTouched = false; - } - } - if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) { - document.activeElement.blur(); - } - const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; - if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) { - e.preventDefault(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) { - swiper.freeMode.onTouchStart(); - } - swiper.emit('touchStart', e); - } - - function onTouchMove(event) { - const document = getDocument(); - const swiper = this; - const data = swiper.touchEventsData; - const { - params, - touches, - rtlTranslate: rtl, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && event.pointerType === 'mouse') return; - let e = event; - if (e.originalEvent) e = e.originalEvent; - if (e.type === 'pointermove') { - if (data.touchId !== null) return; // return from pointer if we use touch - const id = e.pointerId; - if (id !== data.pointerId) return; - } - let targetTouch; - if (e.type === 'touchmove') { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } else { - targetTouch = e; - } - if (!data.isTouched) { - if (data.startMoving && data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - return; - } - const pageX = targetTouch.pageX; - const pageY = targetTouch.pageY; - if (e.preventedByNestedSwiper) { - touches.startX = pageX; - touches.startY = pageY; - return; - } - if (!swiper.allowTouchMove) { - if (!e.target.matches(data.focusableElements)) { - swiper.allowClick = false; - } - if (data.isTouched) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY - }); - data.touchStartTime = now(); - } - return; - } - if (params.touchReleaseOnEdges && !params.loop) { - if (swiper.isVertical()) { - // Vertical - if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) { - data.isTouched = false; - data.isMoved = false; - return; - } - } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) { - return; - } - } - if (document.activeElement) { - if (e.target === document.activeElement && e.target.matches(data.focusableElements)) { - data.isMoved = true; - swiper.allowClick = false; - return; - } - } - if (data.allowTouchCallbacks) { - swiper.emit('touchMove', e); - } - touches.previousX = touches.currentX; - touches.previousY = touches.currentY; - touches.currentX = pageX; - touches.currentY = pageY; - const diffX = touches.currentX - touches.startX; - const diffY = touches.currentY - touches.startY; - if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return; - if (typeof data.isScrolling === 'undefined') { - let touchAngle; - if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) { - data.isScrolling = false; - } else { - // eslint-disable-next-line - if (diffX * diffX + diffY * diffY >= 25) { - touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI; - data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle; - } - } - } - if (data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - if (typeof data.startMoving === 'undefined') { - if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { - data.startMoving = true; - } - } - if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) { - data.isTouched = false; - return; - } - if (!data.startMoving) { - return; - } - swiper.allowClick = false; - if (!params.cssMode && e.cancelable) { - e.preventDefault(); - } - if (params.touchMoveStopPropagation && !params.nested) { - e.stopPropagation(); - } - let diff = swiper.isHorizontal() ? diffX : diffY; - let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY; - if (params.oneWayMovement) { - diff = Math.abs(diff) * (rtl ? 1 : -1); - touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1); - } - touches.diff = diff; - diff *= params.touchRatio; - if (rtl) { - diff = -diff; - touchesDiff = -touchesDiff; - } - const prevTouchesDirection = swiper.touchesDirection; - swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; - swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next'; - const isLoop = swiper.params.loop && !params.cssMode; - const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev; - if (!data.isMoved) { - if (isLoop && allowLoopFix) { - swiper.loopFix({ - direction: swiper.swipeDirection - }); - } - data.startTranslate = swiper.getTranslate(); - swiper.setTransition(0); - if (swiper.animating) { - const evt = new window.CustomEvent('transitionend', { - bubbles: true, - cancelable: true, - detail: { - bySwiperTouchMove: true - } - }); - swiper.wrapperEl.dispatchEvent(evt); - } - data.allowMomentumBounce = false; - // Grab Cursor - if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(true); - } - swiper.emit('sliderFirstMove', e); - } - let loopFixed; - new Date().getTime(); - if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY, - startTranslate: data.currentTranslate - }); - data.loopSwapReset = true; - data.startTranslate = data.currentTranslate; - return; - } - swiper.emit('sliderMove', e); - data.isMoved = true; - data.currentTranslate = diff + data.startTranslate; - let disableParentSwiper = true; - let resistanceRatio = params.resistanceRatio; - if (params.touchReleaseOnEdges) { - resistanceRatio = 0; - } - if (diff > 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] : swiper.minTranslate())) { - swiper.loopFix({ - direction: 'prev', - setTranslate: true, - activeSlideIndex: 0 - }); - } - if (data.currentTranslate > swiper.minTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio; - } - } - } else if (diff < 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] : swiper.maxTranslate())) { - swiper.loopFix({ - direction: 'next', - setTranslate: true, - activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10))) - }); - } - if (data.currentTranslate < swiper.maxTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio; - } - } - } - if (disableParentSwiper) { - e.preventedByNestedSwiper = true; - } - - // Directions locks - if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && !swiper.allowSlideNext) { - data.currentTranslate = data.startTranslate; - } - - // Threshold - if (params.threshold > 0) { - if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { - if (!data.allowThresholdMove) { - data.allowThresholdMove = true; - touches.startX = touches.currentX; - touches.startY = touches.currentY; - data.currentTranslate = data.startTranslate; - touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; - return; - } - } else { - data.currentTranslate = data.startTranslate; - return; - } - } - if (!params.followFinger || params.cssMode) return; - - // Update active index in free mode - if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) { - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode) { - swiper.freeMode.onTouchMove(); - } - // Update progress - swiper.updateProgress(data.currentTranslate); - // Update translate - swiper.setTranslate(data.currentTranslate); - } - - function onTouchEnd(event) { - const swiper = this; - const data = swiper.touchEventsData; - let e = event; - if (e.originalEvent) e = e.originalEvent; - let targetTouch; - const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel'; - if (!isTouchEvent) { - if (data.touchId !== null) return; // return from pointer if we use touch - if (e.pointerId !== data.pointerId) return; - targetTouch = e; - } else { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } - if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) { - const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView); - if (!proceed) { - return; - } - } - data.pointerId = null; - data.touchId = null; - const { - params, - touches, - rtlTranslate: rtl, - slidesGrid, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (data.allowTouchCallbacks) { - swiper.emit('touchEnd', e); - } - data.allowTouchCallbacks = false; - if (!data.isTouched) { - if (data.isMoved && params.grabCursor) { - swiper.setGrabCursor(false); - } - data.isMoved = false; - data.startMoving = false; - return; - } - - // Return Grab Cursor - if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(false); - } - - // Time diff - const touchEndTime = now(); - const timeDiff = touchEndTime - data.touchStartTime; - - // Tap, doubleTap, Click - if (swiper.allowClick) { - const pathTree = e.path || e.composedPath && e.composedPath(); - swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree); - swiper.emit('tap click', e); - if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) { - swiper.emit('doubleTap doubleClick', e); - } - } - data.lastClickTime = now(); - nextTick(() => { - if (!swiper.destroyed) swiper.allowClick = true; - }); - if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) { - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - return; - } - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - let currentPos; - if (params.followFinger) { - currentPos = rtl ? swiper.translate : -swiper.translate; - } else { - currentPos = -data.currentTranslate; - } - if (params.cssMode) { - return; - } - if (params.freeMode && params.freeMode.enabled) { - swiper.freeMode.onTouchEnd({ - currentPos - }); - return; - } - - // Find current slide - const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop; - let stopIndex = 0; - let groupSize = swiper.slidesSizesGrid[0]; - for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) { - const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (typeof slidesGrid[i + increment] !== 'undefined') { - if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) { - stopIndex = i; - groupSize = slidesGrid[i + increment] - slidesGrid[i]; - } - } else if (swipeToLast || currentPos >= slidesGrid[i]) { - stopIndex = i; - groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; - } - } - let rewindFirstIndex = null; - let rewindLastIndex = null; - if (params.rewind) { - if (swiper.isBeginning) { - rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - } else if (swiper.isEnd) { - rewindFirstIndex = 0; - } - } - // Find current slide size - const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; - const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (timeDiff > params.longSwipesMs) { - // Long touches - if (!params.longSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - if (swiper.swipeDirection === 'next') { - if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex); - } - if (swiper.swipeDirection === 'prev') { - if (ratio > 1 - params.longSwipesRatio) { - swiper.slideTo(stopIndex + increment); - } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) { - swiper.slideTo(rewindLastIndex); - } else { - swiper.slideTo(stopIndex); - } - } - } else { - // Short swipes - if (!params.shortSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl); - if (!isNavButtonTarget) { - if (swiper.swipeDirection === 'next') { - swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment); - } - if (swiper.swipeDirection === 'prev') { - swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex); - } - } else if (e.target === swiper.navigation.nextEl) { - swiper.slideTo(stopIndex + increment); - } else { - swiper.slideTo(stopIndex); - } - } - } - - function onResize() { - const swiper = this; - const { - params, - el - } = swiper; - if (el && el.offsetWidth === 0) return; - - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - - // Save locks - const { - allowSlideNext, - allowSlidePrev, - snapGrid - } = swiper; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - - // Disable locks on resize - swiper.allowSlideNext = true; - swiper.allowSlidePrev = true; - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateSlidesClasses(); - const isVirtualLoop = isVirtual && params.loop; - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) { - swiper.slideTo(swiper.slides.length - 1, 0, false, true); - } else { - if (swiper.params.loop && !isVirtual) { - swiper.slideToLoop(swiper.realIndex, 0, false, true); - } else { - swiper.slideTo(swiper.activeIndex, 0, false, true); - } - } - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - clearTimeout(swiper.autoplay.resizeTimeout); - swiper.autoplay.resizeTimeout = setTimeout(() => { - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - swiper.autoplay.resume(); - } - }, 500); - } - // Return locks after resize - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } - } - - function onClick(e) { - const swiper = this; - if (!swiper.enabled) return; - if (!swiper.allowClick) { - if (swiper.params.preventClicks) e.preventDefault(); - if (swiper.params.preventClicksPropagation && swiper.animating) { - e.stopPropagation(); - e.stopImmediatePropagation(); - } - } - } - - function onScroll() { - const swiper = this; - const { - wrapperEl, - rtlTranslate, - enabled - } = swiper; - if (!enabled) return; - swiper.previousTranslate = swiper.translate; - if (swiper.isHorizontal()) { - swiper.translate = -wrapperEl.scrollLeft; - } else { - swiper.translate = -wrapperEl.scrollTop; - } - // eslint-disable-next-line - if (swiper.translate === 0) swiper.translate = 0; - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== swiper.progress) { - swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate); - } - swiper.emit('setTranslate', swiper.translate, false); - } - - function onLoad(e) { - const swiper = this; - processLazyPreloader(swiper, e.target); - if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) { - return; - } - swiper.update(); - } - - function onDocumentTouchStart() { - const swiper = this; - if (swiper.documentTouchHandlerProceeded) return; - swiper.documentTouchHandlerProceeded = true; - if (swiper.params.touchReleaseOnEdges) { - swiper.el.style.touchAction = 'auto'; - } - } - - const events = (swiper, method) => { - const document = getDocument(); - const { - params, - el, - wrapperEl, - device - } = swiper; - const capture = !!params.nested; - const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; - const swiperMethod = method; - - // Touch Events - document[domMethod]('touchstart', swiper.onDocumentTouchStart, { - passive: false, - capture - }); - el[domMethod]('touchstart', swiper.onTouchStart, { - passive: false - }); - el[domMethod]('pointerdown', swiper.onTouchStart, { - passive: false - }); - document[domMethod]('touchmove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('pointermove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('touchend', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerup', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointercancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('touchcancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerout', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerleave', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('contextmenu', swiper.onTouchEnd, { - passive: true - }); - - // Prevent Links Clicks - if (params.preventClicks || params.preventClicksPropagation) { - el[domMethod]('click', swiper.onClick, true); - } - if (params.cssMode) { - wrapperEl[domMethod]('scroll', swiper.onScroll); - } - - // Resize handler - if (params.updateOnWindowResize) { - swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true); - } else { - swiper[swiperMethod]('observerUpdate', onResize, true); - } - - // Images loader - el[domMethod]('load', swiper.onLoad, { - capture: true - }); - }; - function attachEvents() { - const swiper = this; - const { - params - } = swiper; - swiper.onTouchStart = onTouchStart.bind(swiper); - swiper.onTouchMove = onTouchMove.bind(swiper); - swiper.onTouchEnd = onTouchEnd.bind(swiper); - swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper); - if (params.cssMode) { - swiper.onScroll = onScroll.bind(swiper); - } - swiper.onClick = onClick.bind(swiper); - swiper.onLoad = onLoad.bind(swiper); - events(swiper, 'on'); - } - function detachEvents() { - const swiper = this; - events(swiper, 'off'); - } - var events$1 = { - attachEvents, - detachEvents - }; - - const isGridEnabled = (swiper, params) => { - return swiper.grid && params.grid && params.grid.rows > 1; - }; - function setBreakpoint() { - const swiper = this; - const { - realIndex, - initialized, - params, - el - } = swiper; - const breakpoints = params.breakpoints; - if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; - - // Get breakpoint for window width and update parameters - const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el); - if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; - const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; - const breakpointParams = breakpointOnlyParams || swiper.originalParams; - const wasMultiRow = isGridEnabled(swiper, params); - const isMultiRow = isGridEnabled(swiper, breakpointParams); - const wasGrabCursor = swiper.params.grabCursor; - const isGrabCursor = breakpointParams.grabCursor; - const wasEnabled = params.enabled; - if (wasMultiRow && !isMultiRow) { - el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); - swiper.emitContainerClasses(); - } else if (!wasMultiRow && isMultiRow) { - el.classList.add(`${params.containerModifierClass}grid`); - if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') { - el.classList.add(`${params.containerModifierClass}grid-column`); - } - swiper.emitContainerClasses(); - } - if (wasGrabCursor && !isGrabCursor) { - swiper.unsetGrabCursor(); - } else if (!wasGrabCursor && isGrabCursor) { - swiper.setGrabCursor(); - } - - // Toggle navigation, pagination, scrollbar - ['navigation', 'pagination', 'scrollbar'].forEach(prop => { - if (typeof breakpointParams[prop] === 'undefined') return; - const wasModuleEnabled = params[prop] && params[prop].enabled; - const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; - if (wasModuleEnabled && !isModuleEnabled) { - swiper[prop].disable(); - } - if (!wasModuleEnabled && isModuleEnabled) { - swiper[prop].enable(); - } - }); - const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; - const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); - const wasLoop = params.loop; - if (directionChanged && initialized) { - swiper.changeDirection(); - } - extend$1(swiper.params, breakpointParams); - const isEnabled = swiper.params.enabled; - const hasLoop = swiper.params.loop; - Object.assign(swiper, { - allowTouchMove: swiper.params.allowTouchMove, - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev - }); - if (wasEnabled && !isEnabled) { - swiper.disable(); - } else if (!wasEnabled && isEnabled) { - swiper.enable(); - } - swiper.currentBreakpoint = breakpoint; - swiper.emit('_beforeBreakpoint', breakpointParams); - if (initialized) { - if (needsReLoop) { - swiper.loopDestroy(); - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (!wasLoop && hasLoop) { - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (wasLoop && !hasLoop) { - swiper.loopDestroy(); - } - } - swiper.emit('breakpoint', breakpointParams); - } - - function getBreakpoint(breakpoints, base, containerEl) { - if (base === void 0) { - base = 'window'; - } - if (!breakpoints || base === 'container' && !containerEl) return undefined; - let breakpoint = false; - const window = getWindow(); - const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight; - const points = Object.keys(breakpoints).map(point => { - if (typeof point === 'string' && point.indexOf('@') === 0) { - const minRatio = parseFloat(point.substr(1)); - const value = currentHeight * minRatio; - return { - value, - point - }; - } - return { - value: point, - point - }; - }); - points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10)); - for (let i = 0; i < points.length; i += 1) { - const { - point, - value - } = points[i]; - if (base === 'window') { - if (window.matchMedia(`(min-width: ${value}px)`).matches) { - breakpoint = point; - } - } else if (value <= containerEl.clientWidth) { - breakpoint = point; - } - } - return breakpoint || 'max'; - } - - var breakpoints = { - setBreakpoint, - getBreakpoint - }; - - function prepareClasses(entries, prefix) { - const resultClasses = []; - entries.forEach(item => { - if (typeof item === 'object') { - Object.keys(item).forEach(classNames => { - if (item[classNames]) { - resultClasses.push(prefix + classNames); - } - }); - } else if (typeof item === 'string') { - resultClasses.push(prefix + item); - } - }); - return resultClasses; - } - function addClasses() { - const swiper = this; - const { - classNames, - params, - rtl, - el, - device - } = swiper; - // prettier-ignore - const suffixes = prepareClasses(['initialized', params.direction, { - 'free-mode': swiper.params.freeMode && params.freeMode.enabled - }, { - 'autoheight': params.autoHeight - }, { - 'rtl': rtl - }, { - 'grid': params.grid && params.grid.rows > 1 - }, { - 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' - }, { - 'android': device.android - }, { - 'ios': device.ios - }, { - 'css-mode': params.cssMode - }, { - 'centered': params.cssMode && params.centeredSlides - }, { - 'watch-progress': params.watchSlidesProgress - }], params.containerModifierClass); - classNames.push(...suffixes); - el.classList.add(...classNames); - swiper.emitContainerClasses(); - } - - function removeClasses() { - const swiper = this; - const { - el, - classNames - } = swiper; - el.classList.remove(...classNames); - swiper.emitContainerClasses(); - } - - var classes = { - addClasses, - removeClasses - }; - - function checkOverflow() { - const swiper = this; - const { - isLocked: wasLocked, - params - } = swiper; - const { - slidesOffsetBefore - } = params; - if (slidesOffsetBefore) { - const lastSlideIndex = swiper.slides.length - 1; - const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2; - swiper.isLocked = swiper.size > lastSlideRightEdge; - } else { - swiper.isLocked = swiper.snapGrid.length === 1; - } - if (params.allowSlideNext === true) { - swiper.allowSlideNext = !swiper.isLocked; - } - if (params.allowSlidePrev === true) { - swiper.allowSlidePrev = !swiper.isLocked; - } - if (wasLocked && wasLocked !== swiper.isLocked) { - swiper.isEnd = false; - } - if (wasLocked !== swiper.isLocked) { - swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); - } - } - var checkOverflow$1 = { - checkOverflow - }; - - var defaults = { - init: true, - direction: 'horizontal', - oneWayMovement: false, - swiperElementNodeName: 'SWIPER-CONTAINER', - touchEventsTarget: 'wrapper', - initialSlide: 0, - speed: 300, - cssMode: false, - updateOnWindowResize: true, - resizeObserver: true, - nested: false, - createElements: false, - eventsPrefix: 'swiper', - enabled: true, - focusableElements: 'input, select, option, textarea, button, video, label', - // Overrides - width: null, - height: null, - // - preventInteractionOnTransition: false, - // ssr - userAgent: null, - url: null, - // To support iOS's swipe-to-go-back gesture (when being used in-app). - edgeSwipeDetection: false, - edgeSwipeThreshold: 20, - // Autoheight - autoHeight: false, - // Set wrapper width - setWrapperSize: false, - // Virtual Translate - virtualTranslate: false, - // Effects - effect: 'slide', - // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' - - // Breakpoints - breakpoints: undefined, - breakpointsBase: 'window', - // Slides grid - spaceBetween: 0, - slidesPerView: 1, - slidesPerGroup: 1, - slidesPerGroupSkip: 0, - slidesPerGroupAuto: false, - centeredSlides: false, - centeredSlidesBounds: false, - slidesOffsetBefore: 0, - // in px - slidesOffsetAfter: 0, - // in px - normalizeSlideIndex: true, - centerInsufficientSlides: false, - // Disable swiper and hide navigation when container not overflow - watchOverflow: true, - // Round length - roundLengths: false, - // Touches - touchRatio: 1, - touchAngle: 45, - simulateTouch: true, - shortSwipes: true, - longSwipes: true, - longSwipesRatio: 0.5, - longSwipesMs: 300, - followFinger: true, - allowTouchMove: true, - threshold: 5, - touchMoveStopPropagation: false, - touchStartPreventDefault: true, - touchStartForcePreventDefault: false, - touchReleaseOnEdges: false, - // Unique Navigation Elements - uniqueNavElements: true, - // Resistance - resistance: true, - resistanceRatio: 0.85, - // Progress - watchSlidesProgress: false, - // Cursor - grabCursor: false, - // Clicks - preventClicks: true, - preventClicksPropagation: true, - slideToClickedSlide: false, - // loop - loop: false, - loopAddBlankSlides: true, - loopAdditionalSlides: 0, - loopPreventsSliding: true, - // rewind - rewind: false, - // Swiping/no swiping - allowSlidePrev: true, - allowSlideNext: true, - swipeHandler: null, - // '.swipe-handler', - noSwiping: true, - noSwipingClass: 'swiper-no-swiping', - noSwipingSelector: null, - // Passive Listeners - passiveListeners: true, - maxBackfaceHiddenSlides: 10, - // NS - containerModifierClass: 'swiper-', - // NEW - 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, - // Callbacks - runCallbacksOnInit: true, - // Internals - _emitClasses: false - }; - - function moduleExtendParams(params, allModulesParams) { - return function extendParams(obj) { - if (obj === void 0) { - obj = {}; - } - const moduleParamName = Object.keys(obj)[0]; - const moduleParams = obj[moduleParamName]; - if (typeof moduleParams !== 'object' || moduleParams === null) { - extend$1(allModulesParams, obj); - return; - } - if (params[moduleParamName] === true) { - params[moduleParamName] = { - enabled: true - }; - } - if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) { - params[moduleParamName].auto = true; - } - if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) { - params[moduleParamName].auto = true; - } - if (!(moduleParamName in params && 'enabled' in moduleParams)) { - extend$1(allModulesParams, obj); - return; - } - if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) { - params[moduleParamName].enabled = true; - } - if (!params[moduleParamName]) params[moduleParamName] = { - enabled: false - }; - extend$1(allModulesParams, obj); - }; - } - - /* eslint no-param-reassign: "off" */ - const prototypes = { - eventsEmitter, - update, - translate, - transition, - slide, - loop, - grabCursor, - events: events$1, - breakpoints, - checkOverflow: checkOverflow$1, - classes - }; - const extendedDefaults = {}; - class Swiper { - constructor() { - let el; - let params; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') { - params = args[0]; - } else { - [el, params] = args; - } - if (!params) params = {}; - params = extend$1({}, params); - if (el && !params.el) params.el = el; - const document = getDocument(); - if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) { - const swipers = []; - document.querySelectorAll(params.el).forEach(containerEl => { - const newParams = extend$1({}, params, { - el: containerEl - }); - swipers.push(new Swiper(newParams)); - }); - // eslint-disable-next-line no-constructor-return - return swipers; - } - - // Swiper Instance - const swiper = this; - swiper.__swiper__ = true; - swiper.support = getSupport(); - swiper.device = getDevice({ - userAgent: params.userAgent - }); - swiper.browser = getBrowser(); - swiper.eventsListeners = {}; - swiper.eventsAnyListeners = []; - swiper.modules = [...swiper.__modules__]; - if (params.modules && Array.isArray(params.modules)) { - swiper.modules.push(...params.modules); - } - const allModulesParams = {}; - swiper.modules.forEach(mod => { - mod({ - params, - swiper, - extendParams: moduleExtendParams(params, allModulesParams), - on: swiper.on.bind(swiper), - once: swiper.once.bind(swiper), - off: swiper.off.bind(swiper), - emit: swiper.emit.bind(swiper) - }); - }); - - // Extend defaults with modules params - const swiperParams = extend$1({}, defaults, allModulesParams); - - // Extend defaults with passed params - swiper.params = extend$1({}, swiperParams, extendedDefaults, params); - swiper.originalParams = extend$1({}, swiper.params); - swiper.passedParams = extend$1({}, params); - - // add event listeners - if (swiper.params && swiper.params.on) { - Object.keys(swiper.params.on).forEach(eventName => { - swiper.on(eventName, swiper.params.on[eventName]); - }); - } - if (swiper.params && swiper.params.onAny) { - swiper.onAny(swiper.params.onAny); - } - - // Extend Swiper - Object.assign(swiper, { - enabled: swiper.params.enabled, - el, - // Classes - classNames: [], - // Slides - slides: [], - slidesGrid: [], - snapGrid: [], - slidesSizesGrid: [], - // isDirection - isHorizontal() { - return swiper.params.direction === 'horizontal'; - }, - isVertical() { - return swiper.params.direction === 'vertical'; - }, - // Indexes - activeIndex: 0, - realIndex: 0, - // - isBeginning: true, - isEnd: false, - // Props - translate: 0, - previousTranslate: 0, - progress: 0, - velocity: 0, - animating: false, - cssOverflowAdjustment() { - // Returns 0 unless `translate` is > 2**23 - // Should be subtracted from css values to prevent overflow - return Math.trunc(this.translate / 2 ** 23) * 2 ** 23; - }, - // Locks - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev, - // Touch Events - touchEventsData: { - isTouched: undefined, - isMoved: undefined, - allowTouchCallbacks: undefined, - touchStartTime: undefined, - isScrolling: undefined, - currentTranslate: undefined, - startTranslate: undefined, - allowThresholdMove: undefined, - // Form elements to match - focusableElements: swiper.params.focusableElements, - // Last click time - lastClickTime: 0, - clickTimeout: undefined, - // Velocities - velocities: [], - allowMomentumBounce: undefined, - startMoving: undefined, - pointerId: null, - touchId: null - }, - // Clicks - allowClick: true, - // Touches - allowTouchMove: swiper.params.allowTouchMove, - touches: { - startX: 0, - startY: 0, - currentX: 0, - currentY: 0, - diff: 0 - }, - // Images - imagesToLoad: [], - imagesLoaded: 0 - }); - swiper.emit('_swiper'); - - // Init - if (swiper.params.init) { - swiper.init(); - } - - // Return app instance - // eslint-disable-next-line no-constructor-return - return swiper; - } - getDirectionLabel(property) { - if (this.isHorizontal()) { - return property; - } - // prettier-ignore - return { - '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' - }[property]; - } - getSlideIndex(slideEl) { - const { - slidesEl, - params - } = this; - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - const firstSlideIndex = elementIndex(slides[0]); - return elementIndex(slideEl) - firstSlideIndex; - } - getSlideIndexByData(index) { - return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]); - } - recalcSlides() { - const swiper = this; - const { - slidesEl, - params - } = swiper; - swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - } - enable() { - const swiper = this; - if (swiper.enabled) return; - swiper.enabled = true; - if (swiper.params.grabCursor) { - swiper.setGrabCursor(); - } - swiper.emit('enable'); - } - disable() { - const swiper = this; - if (!swiper.enabled) return; - swiper.enabled = false; - if (swiper.params.grabCursor) { - swiper.unsetGrabCursor(); - } - swiper.emit('disable'); - } - setProgress(progress, speed) { - const swiper = this; - progress = Math.min(Math.max(progress, 0), 1); - const min = swiper.minTranslate(); - const max = swiper.maxTranslate(); - const current = (max - min) * progress + min; - swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - emitContainerClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const cls = swiper.el.className.split(' ').filter(className => { - return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0; - }); - swiper.emit('_containerClasses', cls.join(' ')); - } - getSlideClasses(slideEl) { - const swiper = this; - if (swiper.destroyed) return ''; - return slideEl.className.split(' ').filter(className => { - return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0; - }).join(' '); - } - emitSlidesClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const updates = []; - swiper.slides.forEach(slideEl => { - const classNames = swiper.getSlideClasses(slideEl); - updates.push({ - slideEl, - classNames - }); - swiper.emit('_slideClass', slideEl, classNames); - }); - swiper.emit('_slideClasses', updates); - } - slidesPerViewDynamic(view, exact) { - if (view === void 0) { - view = 'current'; - } - if (exact === void 0) { - exact = false; - } - const swiper = this; - const { - params, - slides, - slidesGrid, - slidesSizesGrid, - size: swiperSize, - activeIndex - } = swiper; - let spv = 1; - if (typeof params.slidesPerView === 'number') return params.slidesPerView; - if (params.centeredSlides) { - let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0; - let breakLoop; - for (let i = activeIndex + 1; i < slides.length; i += 1) { - if (slides[i] && !breakLoop) { - slideSize += Math.ceil(slides[i].swiperSlideSize); - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - for (let i = activeIndex - 1; i >= 0; i -= 1) { - if (slides[i] && !breakLoop) { - slideSize += slides[i].swiperSlideSize; - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - } else { - // eslint-disable-next-line - if (view === 'current') { - for (let i = activeIndex + 1; i < slides.length; i += 1) { - const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } else { - // previous - for (let i = activeIndex - 1; i >= 0; i -= 1) { - const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } - } - return spv; - } - update() { - const swiper = this; - if (!swiper || swiper.destroyed) return; - const { - snapGrid, - params - } = swiper; - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } - }); - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateProgress(); - swiper.updateSlidesClasses(); - function setTranslate() { - const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; - const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); - swiper.setTranslate(newTranslate); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - let translated; - if (params.freeMode && params.freeMode.enabled && !params.cssMode) { - setTranslate(); - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - } else { - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) { - const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides; - translated = swiper.slideTo(slides.length - 1, 0, false, true); - } else { - translated = swiper.slideTo(swiper.activeIndex, 0, false, true); - } - if (!translated) { - setTranslate(); - } - } - if (params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } - swiper.emit('update'); - } - changeDirection(newDirection, needUpdate) { - if (needUpdate === void 0) { - needUpdate = true; - } - const swiper = this; - const currentDirection = swiper.params.direction; - if (!newDirection) { - // eslint-disable-next-line - newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal'; - } - if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') { - return swiper; - } - swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`); - swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`); - swiper.emitContainerClasses(); - swiper.params.direction = newDirection; - swiper.slides.forEach(slideEl => { - if (newDirection === 'vertical') { - slideEl.style.width = ''; - } else { - slideEl.style.height = ''; - } - }); - swiper.emit('changeDirection'); - if (needUpdate) swiper.update(); - return swiper; - } - changeLanguageDirection(direction) { - const swiper = this; - if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return; - swiper.rtl = direction === 'rtl'; - swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl; - if (swiper.rtl) { - swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'rtl'; - } else { - swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'ltr'; - } - swiper.update(); - } - mount(element) { - const swiper = this; - if (swiper.mounted) return true; - - // Find el - let el = element || swiper.params.el; - if (typeof el === 'string') { - el = document.querySelector(el); - } - if (!el) { - return false; - } - el.swiper = swiper; - if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) { - swiper.isElement = true; - } - const getWrapperSelector = () => { - return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`; - }; - const getWrapper = () => { - if (el && el.shadowRoot && el.shadowRoot.querySelector) { - const res = el.shadowRoot.querySelector(getWrapperSelector()); - // Children needs to return slot items - return res; - } - return elementChildren(el, getWrapperSelector())[0]; - }; - // Find Wrapper - let wrapperEl = getWrapper(); - if (!wrapperEl && swiper.params.createElements) { - wrapperEl = createElement('div', swiper.params.wrapperClass); - el.append(wrapperEl); - elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => { - wrapperEl.append(slideEl); - }); - } - Object.assign(swiper, { - el, - wrapperEl, - slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl, - hostEl: swiper.isElement ? el.parentNode.host : el, - mounted: true, - // RTL - rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl', - rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'), - wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box' - }); - return true; - } - init(el) { - const swiper = this; - if (swiper.initialized) return swiper; - const mounted = swiper.mount(el); - if (mounted === false) return swiper; - swiper.emit('beforeInit'); - - // Set breakpoint - if (swiper.params.breakpoints) { - swiper.setBreakpoint(); - } - - // Add Classes - swiper.addClasses(); - - // Update size - swiper.updateSize(); - - // Update slides - swiper.updateSlides(); - if (swiper.params.watchOverflow) { - swiper.checkOverflow(); - } - - // Set Grab Cursor - if (swiper.params.grabCursor && swiper.enabled) { - swiper.setGrabCursor(); - } - - // Slide To Initial Slide - if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true); - } else { - swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true); - } - - // Create loop - if (swiper.params.loop) { - swiper.loopCreate(); - } - - // Attach events - swiper.attachEvents(); - const lazyElements = [...swiper.el.querySelectorAll('[loading="lazy"]')]; - if (swiper.isElement) { - lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]')); - } - lazyElements.forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } else { - imageEl.addEventListener('load', e => { - processLazyPreloader(swiper, e.target); - }); - } - }); - preload(swiper); - - // Init Flag - swiper.initialized = true; - preload(swiper); - - // Emit - swiper.emit('init'); - swiper.emit('afterInit'); - return swiper; - } - destroy(deleteInstance, cleanStyles) { - if (deleteInstance === void 0) { - deleteInstance = true; - } - if (cleanStyles === void 0) { - cleanStyles = true; - } - const swiper = this; - const { - params, - el, - wrapperEl, - slides - } = swiper; - if (typeof swiper.params === 'undefined' || swiper.destroyed) { - return null; - } - swiper.emit('beforeDestroy'); - - // Init Flag - swiper.initialized = false; - - // Detach events - swiper.detachEvents(); - - // Destroy loop - if (params.loop) { - swiper.loopDestroy(); - } - - // Cleanup styles - if (cleanStyles) { - swiper.removeClasses(); - el.removeAttribute('style'); - wrapperEl.removeAttribute('style'); - if (slides && slides.length) { - slides.forEach(slideEl => { - slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass); - slideEl.removeAttribute('style'); - slideEl.removeAttribute('data-swiper-slide-index'); - }); - } - } - swiper.emit('destroy'); - - // Detach emitter events - Object.keys(swiper.eventsListeners).forEach(eventName => { - swiper.off(eventName); - }); - if (deleteInstance !== false) { - swiper.el.swiper = null; - deleteProps(swiper); - } - swiper.destroyed = true; - return null; - } - static extendDefaults(newDefaults) { - extend$1(extendedDefaults, newDefaults); - } - static get extendedDefaults() { - return extendedDefaults; - } - static get defaults() { - return defaults; - } - static installModule(mod) { - if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = []; - const modules = Swiper.prototype.__modules__; - if (typeof mod === 'function' && modules.indexOf(mod) < 0) { - modules.push(mod); - } - } - static use(module) { - if (Array.isArray(module)) { - module.forEach(m => Swiper.installModule(m)); - return Swiper; - } - Swiper.installModule(module); - return Swiper; - } - } - Object.keys(prototypes).forEach(prototypeGroup => { - Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => { - Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; - }); - }); - Swiper.use([Resize, Observer]); - - function Virtual(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - extendParams({ - virtual: { - enabled: false, - slides: [], - cache: true, - renderSlide: null, - renderExternal: null, - renderExternalUpdate: true, - addSlidesBefore: 0, - addSlidesAfter: 0 - } - }); - let cssModeTimeout; - const document = getDocument(); - swiper.virtual = { - cache: {}, - from: undefined, - to: undefined, - slides: [], - offset: 0, - slidesGrid: [] - }; - const tempDOM = document.createElement('div'); - function renderSlide(slide, index) { - const params = swiper.params.virtual; - if (params.cache && swiper.virtual.cache[index]) { - return swiper.virtual.cache[index]; - } - // eslint-disable-next-line - let slideEl; - if (params.renderSlide) { - slideEl = params.renderSlide.call(swiper, slide, index); - if (typeof slideEl === 'string') { - tempDOM.innerHTML = slideEl; - slideEl = tempDOM.children[0]; - } - } else if (swiper.isElement) { - slideEl = createElement('swiper-slide'); - } else { - slideEl = createElement('div', swiper.params.slideClass); - } - slideEl.setAttribute('data-swiper-slide-index', index); - if (!params.renderSlide) { - slideEl.innerHTML = slide; - } - if (params.cache) { - swiper.virtual.cache[index] = slideEl; - } - return slideEl; - } - function update(force, beforeInit) { - const { - slidesPerView, - slidesPerGroup, - centeredSlides, - loop: isLoop, - initialSlide - } = swiper.params; - if (beforeInit && !isLoop && initialSlide > 0) { - return; - } - const { - addSlidesBefore, - addSlidesAfter - } = swiper.params.virtual; - const { - from: previousFrom, - to: previousTo, - slides, - slidesGrid: previousSlidesGrid, - offset: previousOffset - } = swiper.virtual; - if (!swiper.params.cssMode) { - swiper.updateActiveIndex(); - } - const activeIndex = swiper.activeIndex || 0; - let offsetProp; - if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top'; - let slidesAfter; - let slidesBefore; - if (centeredSlides) { - slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter; - slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore; - } else { - slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter; - slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore; - } - let from = activeIndex - slidesBefore; - let to = activeIndex + slidesAfter; - if (!isLoop) { - from = Math.max(from, 0); - to = Math.min(to, slides.length - 1); - } - let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0); - if (isLoop && activeIndex >= slidesBefore) { - from -= slidesBefore; - if (!centeredSlides) offset += swiper.slidesGrid[0]; - } else if (isLoop && activeIndex < slidesBefore) { - from = -slidesBefore; - if (centeredSlides) offset += swiper.slidesGrid[0]; - } - Object.assign(swiper.virtual, { - from, - to, - offset, - slidesGrid: swiper.slidesGrid, - slidesBefore, - slidesAfter - }); - function onRendered() { - swiper.updateSlides(); - swiper.updateProgress(); - swiper.updateSlidesClasses(); - emit('virtualUpdate'); - } - if (previousFrom === from && previousTo === to && !force) { - if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) { - swiper.slides.forEach(slideEl => { - slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`; - }); - } - swiper.updateProgress(); - emit('virtualUpdate'); - return; - } - if (swiper.params.virtual.renderExternal) { - swiper.params.virtual.renderExternal.call(swiper, { - offset, - from, - to, - slides: function getSlides() { - const slidesToRender = []; - for (let i = from; i <= to; i += 1) { - slidesToRender.push(slides[i]); - } - return slidesToRender; - }() - }); - if (swiper.params.virtual.renderExternalUpdate) { - onRendered(); - } else { - emit('virtualUpdate'); - } - return; - } - const prependIndexes = []; - const appendIndexes = []; - const getSlideIndex = index => { - let slideIndex = index; - if (index < 0) { - slideIndex = slides.length + index; - } else if (slideIndex >= slides.length) { - // eslint-disable-next-line - slideIndex = slideIndex - slides.length; - } - return slideIndex; - }; - if (force) { - swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl => { - slideEl.remove(); - }); - } else { - for (let i = previousFrom; i <= previousTo; i += 1) { - if (i < from || i > to) { - const slideIndex = getSlideIndex(i); - swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`)).forEach(slideEl => { - slideEl.remove(); - }); - } - } - } - const loopFrom = isLoop ? -slides.length : 0; - const loopTo = isLoop ? slides.length * 2 : slides.length; - for (let i = loopFrom; i < loopTo; i += 1) { - if (i >= from && i <= to) { - const slideIndex = getSlideIndex(i); - if (typeof previousTo === 'undefined' || force) { - appendIndexes.push(slideIndex); - } else { - if (i > previousTo) appendIndexes.push(slideIndex); - if (i < previousFrom) prependIndexes.push(slideIndex); - } - } - } - appendIndexes.forEach(index => { - swiper.slidesEl.append(renderSlide(slides[index], index)); - }); - if (isLoop) { - for (let i = prependIndexes.length - 1; i >= 0; i -= 1) { - const index = prependIndexes[i]; - swiper.slidesEl.prepend(renderSlide(slides[index], index)); - } - } else { - prependIndexes.sort((a, b) => b - a); - prependIndexes.forEach(index => { - swiper.slidesEl.prepend(renderSlide(slides[index], index)); - }); - } - elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => { - slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`; - }); - onRendered(); - } - function appendSlide(slides) { - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) swiper.virtual.slides.push(slides[i]); - } - } else { - swiper.virtual.slides.push(slides); - } - update(true); - } - function prependSlide(slides) { - const activeIndex = swiper.activeIndex; - let newActiveIndex = activeIndex + 1; - let numberOfNewSlides = 1; - if (Array.isArray(slides)) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) swiper.virtual.slides.unshift(slides[i]); - } - newActiveIndex = activeIndex + slides.length; - numberOfNewSlides = slides.length; - } else { - swiper.virtual.slides.unshift(slides); - } - if (swiper.params.virtual.cache) { - const cache = swiper.virtual.cache; - const newCache = {}; - Object.keys(cache).forEach(cachedIndex => { - const cachedEl = cache[cachedIndex]; - const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index'); - if (cachedElIndex) { - cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides); - } - newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl; - }); - swiper.virtual.cache = newCache; - } - update(true); - swiper.slideTo(newActiveIndex, 0); - } - function removeSlide(slidesIndexes) { - if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return; - let activeIndex = swiper.activeIndex; - if (Array.isArray(slidesIndexes)) { - for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) { - if (swiper.params.virtual.cache) { - delete swiper.virtual.cache[slidesIndexes[i]]; - // shift cache indexes - Object.keys(swiper.virtual.cache).forEach(key => { - if (key > slidesIndexes) { - swiper.virtual.cache[key - 1] = swiper.virtual.cache[key]; - swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1); - delete swiper.virtual.cache[key]; - } - }); - } - swiper.virtual.slides.splice(slidesIndexes[i], 1); - if (slidesIndexes[i] < activeIndex) activeIndex -= 1; - activeIndex = Math.max(activeIndex, 0); - } - } else { - if (swiper.params.virtual.cache) { - delete swiper.virtual.cache[slidesIndexes]; - // shift cache indexes - Object.keys(swiper.virtual.cache).forEach(key => { - if (key > slidesIndexes) { - swiper.virtual.cache[key - 1] = swiper.virtual.cache[key]; - swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1); - delete swiper.virtual.cache[key]; - } - }); - } - swiper.virtual.slides.splice(slidesIndexes, 1); - if (slidesIndexes < activeIndex) activeIndex -= 1; - activeIndex = Math.max(activeIndex, 0); - } - update(true); - swiper.slideTo(activeIndex, 0); - } - function removeAllSlides() { - swiper.virtual.slides = []; - if (swiper.params.virtual.cache) { - swiper.virtual.cache = {}; - } - update(true); - swiper.slideTo(0, 0); - } - on('beforeInit', () => { - if (!swiper.params.virtual.enabled) return; - let domSlidesAssigned; - if (typeof swiper.passedParams.virtual.slides === 'undefined') { - const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)); - if (slides && slides.length) { - swiper.virtual.slides = [...slides]; - domSlidesAssigned = true; - slides.forEach((slideEl, slideIndex) => { - slideEl.setAttribute('data-swiper-slide-index', slideIndex); - swiper.virtual.cache[slideIndex] = slideEl; - slideEl.remove(); - }); - } - } - if (!domSlidesAssigned) { - swiper.virtual.slides = swiper.params.virtual.slides; - } - swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`); - swiper.params.watchSlidesProgress = true; - swiper.originalParams.watchSlidesProgress = true; - update(false, true); - }); - on('setTranslate', () => { - if (!swiper.params.virtual.enabled) return; - if (swiper.params.cssMode && !swiper._immediateVirtual) { - clearTimeout(cssModeTimeout); - cssModeTimeout = setTimeout(() => { - update(); - }, 100); - } else { - update(); - } - }); - on('init update resize', () => { - if (!swiper.params.virtual.enabled) return; - if (swiper.params.cssMode) { - setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`); - } - }); - Object.assign(swiper.virtual, { - appendSlide, - prependSlide, - removeSlide, - removeAllSlides, - update - }); - } - - /* eslint-disable consistent-return */ - function Keyboard(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const document = getDocument(); - const window = getWindow(); - swiper.keyboard = { - enabled: false - }; - extendParams({ - keyboard: { - enabled: false, - onlyInViewport: true, - pageUpDown: true - } - }); - function handle(event) { - if (!swiper.enabled) return; - const { - rtlTranslate: rtl - } = swiper; - let e = event; - if (e.originalEvent) e = e.originalEvent; // jquery fix - const kc = e.keyCode || e.charCode; - const pageUpDown = swiper.params.keyboard.pageUpDown; - const isPageUp = pageUpDown && kc === 33; - const isPageDown = pageUpDown && kc === 34; - const isArrowLeft = kc === 37; - const isArrowRight = kc === 39; - const isArrowUp = kc === 38; - const isArrowDown = kc === 40; - // Directions locks - if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) { - return false; - } - if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) { - return false; - } - if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) { - return undefined; - } - if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) { - return undefined; - } - if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) { - let inView = false; - // Check that swiper should be inside of visible area of window - if (elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) { - return undefined; - } - const el = swiper.el; - const swiperWidth = el.clientWidth; - const swiperHeight = el.clientHeight; - const windowWidth = window.innerWidth; - const windowHeight = window.innerHeight; - const swiperOffset = elementOffset(el); - if (rtl) swiperOffset.left -= el.scrollLeft; - const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]]; - for (let i = 0; i < swiperCoord.length; i += 1) { - const point = swiperCoord[i]; - if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) { - if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line - inView = true; - } - } - if (!inView) return undefined; - } - if (swiper.isHorizontal()) { - if (isPageUp || isPageDown || isArrowLeft || isArrowRight) { - if (e.preventDefault) e.preventDefault();else e.returnValue = false; - } - if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext(); - if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev(); - } else { - if (isPageUp || isPageDown || isArrowUp || isArrowDown) { - if (e.preventDefault) e.preventDefault();else e.returnValue = false; - } - if (isPageDown || isArrowDown) swiper.slideNext(); - if (isPageUp || isArrowUp) swiper.slidePrev(); - } - emit('keyPress', kc); - return undefined; - } - function enable() { - if (swiper.keyboard.enabled) return; - document.addEventListener('keydown', handle); - swiper.keyboard.enabled = true; - } - function disable() { - if (!swiper.keyboard.enabled) return; - document.removeEventListener('keydown', handle); - swiper.keyboard.enabled = false; - } - on('init', () => { - if (swiper.params.keyboard.enabled) { - enable(); - } - }); - on('destroy', () => { - if (swiper.keyboard.enabled) { - disable(); - } - }); - Object.assign(swiper.keyboard, { - enable, - disable - }); - } - - /* eslint-disable consistent-return */ - function Mousewheel(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const window = getWindow(); - extendParams({ - mousewheel: { - enabled: false, - releaseOnEdges: false, - invert: false, - forceToAxis: false, - sensitivity: 1, - eventsTarget: 'container', - thresholdDelta: null, - thresholdTime: null, - noMousewheelClass: 'swiper-no-mousewheel' - } - }); - swiper.mousewheel = { - enabled: false - }; - let timeout; - let lastScrollTime = now(); - let lastEventBeforeSnap; - const recentWheelEvents = []; - function normalize(e) { - // Reasonable defaults - const PIXEL_STEP = 10; - const LINE_HEIGHT = 40; - const PAGE_HEIGHT = 800; - let sX = 0; - let sY = 0; // spinX, spinY - let pX = 0; - let pY = 0; // pixelX, pixelY - - // Legacy - if ('detail' in e) { - sY = e.detail; - } - if ('wheelDelta' in e) { - sY = -e.wheelDelta / 120; - } - if ('wheelDeltaY' in e) { - sY = -e.wheelDeltaY / 120; - } - if ('wheelDeltaX' in e) { - sX = -e.wheelDeltaX / 120; - } - - // side scrolling on FF with DOMMouseScroll - if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) { - sX = sY; - sY = 0; - } - pX = sX * PIXEL_STEP; - pY = sY * PIXEL_STEP; - if ('deltaY' in e) { - pY = e.deltaY; - } - if ('deltaX' in e) { - pX = e.deltaX; - } - if (e.shiftKey && !pX) { - // if user scrolls with shift he wants horizontal scroll - pX = pY; - pY = 0; - } - if ((pX || pY) && e.deltaMode) { - if (e.deltaMode === 1) { - // delta in LINE units - pX *= LINE_HEIGHT; - pY *= LINE_HEIGHT; - } else { - // delta in PAGE units - pX *= PAGE_HEIGHT; - pY *= PAGE_HEIGHT; - } - } - - // Fall-back if spin cannot be determined - if (pX && !sX) { - sX = pX < 1 ? -1 : 1; - } - if (pY && !sY) { - sY = pY < 1 ? -1 : 1; - } - return { - spinX: sX, - spinY: sY, - pixelX: pX, - pixelY: pY - }; - } - function handleMouseEnter() { - if (!swiper.enabled) return; - swiper.mouseEntered = true; - } - function handleMouseLeave() { - if (!swiper.enabled) return; - swiper.mouseEntered = false; - } - function animateSlider(newEvent) { - if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) { - // Prevent if delta of wheel scroll delta is below configured threshold - return false; - } - if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) { - // Prevent if time between scrolls is below configured threshold - return false; - } - - // If the movement is NOT big enough and - // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider): - // Don't go any further (avoid insignificant scroll movement). - if (newEvent.delta >= 6 && now() - lastScrollTime < 60) { - // Return false as a default - return true; - } - // If user is scrolling towards the end: - // If the slider hasn't hit the latest slide or - // if the slider is a loop and - // if the slider isn't moving right now: - // Go to next slide and - // emit a scroll event. - // Else (the user is scrolling towards the beginning) and - // if the slider hasn't hit the first slide or - // if the slider is a loop and - // if the slider isn't moving right now: - // Go to prev slide and - // emit a scroll event. - if (newEvent.direction < 0) { - if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) { - swiper.slideNext(); - emit('scroll', newEvent.raw); - } - } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) { - swiper.slidePrev(); - emit('scroll', newEvent.raw); - } - // If you got here is because an animation has been triggered so store the current time - lastScrollTime = new window.Date().getTime(); - // Return false as a default - return false; - } - function releaseScroll(newEvent) { - const params = swiper.params.mousewheel; - if (newEvent.direction < 0) { - if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) { - // Return true to animate scroll on edges - return true; - } - } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) { - // Return true to animate scroll on edges - return true; - } - return false; - } - function handle(event) { - let e = event; - let disableParentSwiper = true; - if (!swiper.enabled) return; - - // Ignore event if the target or its parents have the swiper-no-mousewheel class - if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return; - const params = swiper.params.mousewheel; - if (swiper.params.cssMode) { - e.preventDefault(); - } - let targetEl = swiper.el; - if (swiper.params.mousewheel.eventsTarget !== 'container') { - targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget); - } - const targetElContainsTarget = targetEl && targetEl.contains(e.target); - if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true; - if (e.originalEvent) e = e.originalEvent; // jquery fix - let delta = 0; - const rtlFactor = swiper.rtlTranslate ? -1 : 1; - const data = normalize(e); - if (params.forceToAxis) { - if (swiper.isHorizontal()) { - if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true; - } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true; - } else { - delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY; - } - if (delta === 0) return true; - if (params.invert) delta = -delta; - - // Get the scroll positions - let positions = swiper.getTranslate() + delta * params.sensitivity; - if (positions >= swiper.minTranslate()) positions = swiper.minTranslate(); - if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); - - // When loop is true: - // the disableParentSwiper will be true. - // When loop is false: - // if the scroll positions is not on edge, - // then the disableParentSwiper will be true. - // if the scroll on edge positions, - // then the disableParentSwiper will be false. - disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate()); - if (disableParentSwiper && swiper.params.nested) e.stopPropagation(); - if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) { - // Register the new event in a variable which stores the relevant data - const newEvent = { - time: now(), - delta: Math.abs(delta), - direction: Math.sign(delta), - raw: event - }; - - // Keep the most recent events - if (recentWheelEvents.length >= 2) { - recentWheelEvents.shift(); // only store the last N events - } - - const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; - recentWheelEvents.push(newEvent); - - // If there is at least one previous recorded event: - // If direction has changed or - // if the scroll is quicker than the previous one: - // Animate the slider. - // Else (this is the first time the wheel is moved): - // Animate the slider. - if (prevEvent) { - if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) { - animateSlider(newEvent); - } - } else { - animateSlider(newEvent); - } - - // If it's time to release the scroll: - // Return now so you don't hit the preventDefault. - if (releaseScroll(newEvent)) { - return true; - } - } else { - // Freemode or scrollContainer: - - // If we recently snapped after a momentum scroll, then ignore wheel events - // to give time for the deceleration to finish. Stop ignoring after 500 msecs - // or if it's a new scroll (larger delta or inverse sign as last event before - // an end-of-momentum snap). - const newEvent = { - time: now(), - delta: Math.abs(delta), - direction: Math.sign(delta) - }; - const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction; - if (!ignoreWheelEvents) { - lastEventBeforeSnap = undefined; - let position = swiper.getTranslate() + delta * params.sensitivity; - const wasBeginning = swiper.isBeginning; - const wasEnd = swiper.isEnd; - if (position >= swiper.minTranslate()) position = swiper.minTranslate(); - if (position <= swiper.maxTranslate()) position = swiper.maxTranslate(); - swiper.setTransition(0); - swiper.setTranslate(position); - swiper.updateProgress(); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) { - swiper.updateSlidesClasses(); - } - if (swiper.params.loop) { - swiper.loopFix({ - direction: newEvent.direction < 0 ? 'next' : 'prev', - byMousewheel: true - }); - } - if (swiper.params.freeMode.sticky) { - // When wheel scrolling starts with sticky (aka snap) enabled, then detect - // the end of a momentum scroll by storing recent (N=15?) wheel events. - // 1. do all N events have decreasing or same (absolute value) delta? - // 2. did all N events arrive in the last M (M=500?) msecs? - // 3. does the earliest event have an (absolute value) delta that's - // at least P (P=1?) larger than the most recent event's delta? - // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels? - // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration. - // Snap immediately and ignore remaining wheel events in this scroll. - // See comment above for "remaining wheel events in this scroll" determination. - // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event. - clearTimeout(timeout); - timeout = undefined; - if (recentWheelEvents.length >= 15) { - recentWheelEvents.shift(); // only store the last N events - } - - const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; - const firstEvent = recentWheelEvents[0]; - recentWheelEvents.push(newEvent); - if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) { - // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log. - recentWheelEvents.splice(0); - } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) { - // We're at the end of the deceleration of a momentum scroll, so there's no need - // to wait for more events. Snap ASAP on the next tick. - // Also, because there's some remaining momentum we'll bias the snap in the - // direction of the ongoing scroll because it's better UX for the scroll to snap - // in the same direction as the scroll instead of reversing to snap. Therefore, - // if it's already scrolled more than 20% in the current direction, keep going. - const snapToThreshold = delta > 0 ? 0.8 : 0.2; - lastEventBeforeSnap = newEvent; - recentWheelEvents.splice(0); - timeout = nextTick(() => { - swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); - }, 0); // no delay; move on next tick - } - - if (!timeout) { - // if we get here, then we haven't detected the end of a momentum scroll, so - // we'll consider a scroll "complete" when there haven't been any wheel events - // for 500ms. - timeout = nextTick(() => { - const snapToThreshold = 0.5; - lastEventBeforeSnap = newEvent; - recentWheelEvents.splice(0); - swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); - }, 500); - } - } - - // Emit event - if (!ignoreWheelEvents) emit('scroll', e); - - // Stop autoplay - if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); - // Return page scroll on edge positions - if (params.releaseOnEdges && (position === swiper.minTranslate() || position === swiper.maxTranslate())) { - return true; - } - } - } - if (e.preventDefault) e.preventDefault();else e.returnValue = false; - return false; - } - function events(method) { - let targetEl = swiper.el; - if (swiper.params.mousewheel.eventsTarget !== 'container') { - targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget); - } - targetEl[method]('mouseenter', handleMouseEnter); - targetEl[method]('mouseleave', handleMouseLeave); - targetEl[method]('wheel', handle); - } - function enable() { - if (swiper.params.cssMode) { - swiper.wrapperEl.removeEventListener('wheel', handle); - return true; - } - if (swiper.mousewheel.enabled) return false; - events('addEventListener'); - swiper.mousewheel.enabled = true; - return true; - } - function disable() { - if (swiper.params.cssMode) { - swiper.wrapperEl.addEventListener(event, handle); - return true; - } - if (!swiper.mousewheel.enabled) return false; - events('removeEventListener'); - swiper.mousewheel.enabled = false; - return true; - } - on('init', () => { - if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) { - disable(); - } - if (swiper.params.mousewheel.enabled) enable(); - }); - on('destroy', () => { - if (swiper.params.cssMode) { - enable(); - } - if (swiper.mousewheel.enabled) disable(); - }); - Object.assign(swiper.mousewheel, { - enable, - disable - }); - } - - function createElementIfNotDefined(swiper, originalParams, params, checkProps) { - if (swiper.params.createElements) { - Object.keys(checkProps).forEach(key => { - if (!params[key] && params.auto === true) { - let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0]; - if (!element) { - element = createElement('div', checkProps[key]); - element.className = checkProps[key]; - swiper.el.append(element); - } - params[key] = element; - originalParams[key] = element; - } - }); - } - return params; - } - - function Navigation(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - extendParams({ - navigation: { - nextEl: null, - prevEl: null, - hideOnClick: false, - disabledClass: 'swiper-button-disabled', - hiddenClass: 'swiper-button-hidden', - lockClass: 'swiper-button-lock', - navigationDisabledClass: 'swiper-navigation-disabled' - } - }); - swiper.navigation = { - nextEl: null, - prevEl: null - }; - function getEl(el) { - let res; - if (el && typeof el === 'string' && swiper.isElement) { - res = swiper.el.querySelector(el); - if (res) return res; - } - if (el) { - if (typeof el === 'string') res = [...document.querySelectorAll(el)]; - if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) { - res = swiper.el.querySelector(el); - } else if (res && res.length === 1) { - res = res[0]; - } - } - if (el && !res) return el; - // if (Array.isArray(res) && res.length === 1) res = res[0]; - return res; - } - function toggleEl(el, disabled) { - const params = swiper.params.navigation; - el = makeElementsArray(el); - el.forEach(subEl => { - if (subEl) { - subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' ')); - if (subEl.tagName === 'BUTTON') subEl.disabled = disabled; - if (swiper.params.watchOverflow && swiper.enabled) { - subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass); - } - } - }); - } - function update() { - // Update Navigation Buttons - const { - nextEl, - prevEl - } = swiper.navigation; - if (swiper.params.loop) { - toggleEl(prevEl, false); - toggleEl(nextEl, false); - return; - } - toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind); - toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind); - } - function onPrevClick(e) { - e.preventDefault(); - if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return; - swiper.slidePrev(); - emit('navigationPrev'); - } - function onNextClick(e) { - e.preventDefault(); - if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return; - swiper.slideNext(); - emit('navigationNext'); - } - function init() { - const params = swiper.params.navigation; - swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, { - nextEl: 'swiper-button-next', - prevEl: 'swiper-button-prev' - }); - if (!(params.nextEl || params.prevEl)) return; - let nextEl = getEl(params.nextEl); - let prevEl = getEl(params.prevEl); - Object.assign(swiper.navigation, { - nextEl, - prevEl - }); - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - const initButton = (el, dir) => { - if (el) { - el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick); - } - if (!swiper.enabled && el) { - el.classList.add(...params.lockClass.split(' ')); - } - }; - nextEl.forEach(el => initButton(el, 'next')); - prevEl.forEach(el => initButton(el, 'prev')); - } - function destroy() { - let { - nextEl, - prevEl - } = swiper.navigation; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - const destroyButton = (el, dir) => { - el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick); - el.classList.remove(...swiper.params.navigation.disabledClass.split(' ')); - }; - nextEl.forEach(el => destroyButton(el, 'next')); - prevEl.forEach(el => destroyButton(el, 'prev')); - } - on('init', () => { - if (swiper.params.navigation.enabled === false) { - // eslint-disable-next-line - disable(); - } else { - init(); - update(); - } - }); - on('toEdge fromEdge lock unlock', () => { - update(); - }); - on('destroy', () => { - destroy(); - }); - on('enable disable', () => { - let { - nextEl, - prevEl - } = swiper.navigation; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - if (swiper.enabled) { - update(); - return; - } - [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass)); - }); - on('click', (_s, e) => { - let { - nextEl, - prevEl - } = swiper.navigation; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - const targetEl = e.target; - if (swiper.params.navigation.hideOnClick && !prevEl.includes(targetEl) && !nextEl.includes(targetEl)) { - if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return; - let isHidden; - if (nextEl.length) { - isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass); - } else if (prevEl.length) { - isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass); - } - if (isHidden === true) { - emit('navigationShow'); - } else { - emit('navigationHide'); - } - [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass)); - } - }); - const enable = () => { - swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' ')); - init(); - update(); - }; - const disable = () => { - swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' ')); - destroy(); - }; - Object.assign(swiper.navigation, { - enable, - disable, - update, - init, - destroy - }); - } - - function classesToSelector(classes) { - if (classes === void 0) { - classes = ''; - } - return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line - .replace(/ /g, '.')}`; - } - - function Pagination(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const pfx = 'swiper-pagination'; - extendParams({ - pagination: { - el: null, - bulletElement: 'span', - clickable: false, - hideOnClick: false, - renderBullet: null, - renderProgressbar: null, - renderFraction: null, - renderCustom: null, - progressbarOpposite: false, - type: 'bullets', - // 'bullets' or 'progressbar' or 'fraction' or 'custom' - dynamicBullets: false, - dynamicMainBullets: 1, - formatFractionCurrent: number => number, - formatFractionTotal: number => number, - bulletClass: `${pfx}-bullet`, - bulletActiveClass: `${pfx}-bullet-active`, - modifierClass: `${pfx}-`, - currentClass: `${pfx}-current`, - totalClass: `${pfx}-total`, - hiddenClass: `${pfx}-hidden`, - progressbarFillClass: `${pfx}-progressbar-fill`, - progressbarOppositeClass: `${pfx}-progressbar-opposite`, - clickableClass: `${pfx}-clickable`, - lockClass: `${pfx}-lock`, - horizontalClass: `${pfx}-horizontal`, - verticalClass: `${pfx}-vertical`, - paginationDisabledClass: `${pfx}-disabled` - } - }); - swiper.pagination = { - el: null, - bullets: [] - }; - let bulletSize; - let dynamicBulletIndex = 0; - function isPaginationDisabled() { - return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0; - } - function setSideBullets(bulletEl, position) { - const { - bulletActiveClass - } = swiper.params.pagination; - if (!bulletEl) return; - bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`]; - if (bulletEl) { - bulletEl.classList.add(`${bulletActiveClass}-${position}`); - bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`]; - if (bulletEl) { - bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`); - } - } - } - function onBulletClick(e) { - const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass)); - if (!bulletEl) { - return; - } - e.preventDefault(); - const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup; - if (swiper.params.loop) { - if (swiper.realIndex === index) return; - swiper.slideToLoop(index); - } else { - swiper.slideTo(index); - } - } - function update() { - // Render || Update Pagination bullets/items - const rtl = swiper.rtl; - const params = swiper.params.pagination; - if (isPaginationDisabled()) return; - let el = swiper.pagination.el; - el = makeElementsArray(el); - // Current/Total - let current; - let previousIndex; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; - const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length; - if (swiper.params.loop) { - previousIndex = swiper.previousRealIndex || 0; - current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex; - } else if (typeof swiper.snapIndex !== 'undefined') { - current = swiper.snapIndex; - previousIndex = swiper.previousSnapIndex; - } else { - previousIndex = swiper.previousIndex || 0; - current = swiper.activeIndex || 0; - } - // Types - if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) { - const bullets = swiper.pagination.bullets; - let firstIndex; - let lastIndex; - let midIndex; - if (params.dynamicBullets) { - bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true); - el.forEach(subEl => { - subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`; - }); - if (params.dynamicMainBullets > 1 && previousIndex !== undefined) { - dynamicBulletIndex += current - (previousIndex || 0); - if (dynamicBulletIndex > params.dynamicMainBullets - 1) { - dynamicBulletIndex = params.dynamicMainBullets - 1; - } else if (dynamicBulletIndex < 0) { - dynamicBulletIndex = 0; - } - } - firstIndex = Math.max(current - dynamicBulletIndex, 0); - lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1); - midIndex = (lastIndex + firstIndex) / 2; - } - bullets.forEach(bulletEl => { - const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat(); - bulletEl.classList.remove(...classesToRemove); - }); - if (el.length > 1) { - bullets.forEach(bullet => { - const bulletIndex = elementIndex(bullet); - if (bulletIndex === current) { - bullet.classList.add(...params.bulletActiveClass.split(' ')); - } else if (swiper.isElement) { - bullet.setAttribute('part', 'bullet'); - } - if (params.dynamicBullets) { - if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) { - bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' ')); - } - if (bulletIndex === firstIndex) { - setSideBullets(bullet, 'prev'); - } - if (bulletIndex === lastIndex) { - setSideBullets(bullet, 'next'); - } - } - }); - } else { - const bullet = bullets[current]; - if (bullet) { - bullet.classList.add(...params.bulletActiveClass.split(' ')); - } - if (swiper.isElement) { - bullets.forEach((bulletEl, bulletIndex) => { - bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet'); - }); - } - if (params.dynamicBullets) { - const firstDisplayedBullet = bullets[firstIndex]; - const lastDisplayedBullet = bullets[lastIndex]; - for (let i = firstIndex; i <= lastIndex; i += 1) { - if (bullets[i]) { - bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' ')); - } - } - setSideBullets(firstDisplayedBullet, 'prev'); - setSideBullets(lastDisplayedBullet, 'next'); - } - } - if (params.dynamicBullets) { - const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4); - const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize; - const offsetProp = rtl ? 'right' : 'left'; - bullets.forEach(bullet => { - bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`; - }); - } - } - el.forEach((subEl, subElIndex) => { - if (params.type === 'fraction') { - subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => { - fractionEl.textContent = params.formatFractionCurrent(current + 1); - }); - subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => { - totalEl.textContent = params.formatFractionTotal(total); - }); - } - if (params.type === 'progressbar') { - let progressbarDirection; - if (params.progressbarOpposite) { - progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal'; - } else { - progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical'; - } - const scale = (current + 1) / total; - let scaleX = 1; - let scaleY = 1; - if (progressbarDirection === 'horizontal') { - scaleX = scale; - } else { - scaleY = scale; - } - subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => { - progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`; - progressEl.style.transitionDuration = `${swiper.params.speed}ms`; - }); - } - if (params.type === 'custom' && params.renderCustom) { - subEl.innerHTML = params.renderCustom(swiper, current + 1, total); - if (subElIndex === 0) emit('paginationRender', subEl); - } else { - if (subElIndex === 0) emit('paginationRender', subEl); - emit('paginationUpdate', subEl); - } - if (swiper.params.watchOverflow && swiper.enabled) { - subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass); - } - }); - } - function render() { - // Render Container - const params = swiper.params.pagination; - if (isPaginationDisabled()) return; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length; - let el = swiper.pagination.el; - el = makeElementsArray(el); - let paginationHTML = ''; - if (params.type === 'bullets') { - let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length; - if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) { - numberOfBullets = slidesLength; - } - for (let i = 0; i < numberOfBullets; i += 1) { - if (params.renderBullet) { - paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass); - } else { - // prettier-ignore - paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part="bullet"' : ''} class="${params.bulletClass}">`; - } - } - } - if (params.type === 'fraction') { - if (params.renderFraction) { - paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass); - } else { - paginationHTML = `` + ' / ' + ``; - } - } - if (params.type === 'progressbar') { - if (params.renderProgressbar) { - paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass); - } else { - paginationHTML = ``; - } - } - swiper.pagination.bullets = []; - el.forEach(subEl => { - if (params.type !== 'custom') { - subEl.innerHTML = paginationHTML || ''; - } - if (params.type === 'bullets') { - swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass))); - } - }); - if (params.type !== 'custom') { - emit('paginationRender', el[0]); - } - } - function init() { - swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, { - el: 'swiper-pagination' - }); - const params = swiper.params.pagination; - if (!params.el) return; - let el; - if (typeof params.el === 'string' && swiper.isElement) { - el = swiper.el.querySelector(params.el); - } - if (!el && typeof params.el === 'string') { - el = [...document.querySelectorAll(params.el)]; - } - if (!el) { - el = params.el; - } - if (!el || el.length === 0) return; - if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) { - el = [...swiper.el.querySelectorAll(params.el)]; - // check if it belongs to another nested Swiper - if (el.length > 1) { - el = el.filter(subEl => { - if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false; - return true; - })[0]; - } - } - if (Array.isArray(el) && el.length === 1) el = el[0]; - Object.assign(swiper.pagination, { - el - }); - el = makeElementsArray(el); - el.forEach(subEl => { - if (params.type === 'bullets' && params.clickable) { - subEl.classList.add(...(params.clickableClass || '').split(' ')); - } - subEl.classList.add(params.modifierClass + params.type); - subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - if (params.type === 'bullets' && params.dynamicBullets) { - subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`); - dynamicBulletIndex = 0; - if (params.dynamicMainBullets < 1) { - params.dynamicMainBullets = 1; - } - } - if (params.type === 'progressbar' && params.progressbarOpposite) { - subEl.classList.add(params.progressbarOppositeClass); - } - if (params.clickable) { - subEl.addEventListener('click', onBulletClick); - } - if (!swiper.enabled) { - subEl.classList.add(params.lockClass); - } - }); - } - function destroy() { - const params = swiper.params.pagination; - if (isPaginationDisabled()) return; - let el = swiper.pagination.el; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.classList.remove(params.hiddenClass); - subEl.classList.remove(params.modifierClass + params.type); - subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - if (params.clickable) { - subEl.classList.remove(...(params.clickableClass || '').split(' ')); - subEl.removeEventListener('click', onBulletClick); - } - }); - } - if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' '))); - } - on('changeDirection', () => { - if (!swiper.pagination || !swiper.pagination.el) return; - const params = swiper.params.pagination; - let { - el - } = swiper.pagination; - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.classList.remove(params.horizontalClass, params.verticalClass); - subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - }); - }); - on('init', () => { - if (swiper.params.pagination.enabled === false) { - // eslint-disable-next-line - disable(); - } else { - init(); - render(); - update(); - } - }); - on('activeIndexChange', () => { - if (typeof swiper.snapIndex === 'undefined') { - update(); - } - }); - on('snapIndexChange', () => { - update(); - }); - on('snapGridLengthChange', () => { - render(); - update(); - }); - on('destroy', () => { - destroy(); - }); - on('enable disable', () => { - let { - el - } = swiper.pagination; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass)); - } - }); - on('lock unlock', () => { - update(); - }); - on('click', (_s, e) => { - const targetEl = e.target; - const el = makeElementsArray(swiper.pagination.el); - if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) { - if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return; - const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass); - if (isHidden === true) { - emit('paginationShow'); - } else { - emit('paginationHide'); - } - el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass)); - } - }); - const enable = () => { - swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass); - let { - el - } = swiper.pagination; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass)); - } - init(); - render(); - update(); - }; - const disable = () => { - swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass); - let { - el - } = swiper.pagination; - if (el) { - el = makeElementsArray(el); - el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass)); - } - destroy(); - }; - Object.assign(swiper.pagination, { - enable, - disable, - render, - update, - init, - destroy - }); - } - - function Scrollbar(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const document = getDocument(); - let isTouched = false; - let timeout = null; - let dragTimeout = null; - let dragStartPos; - let dragSize; - let trackSize; - let divider; - extendParams({ - scrollbar: { - el: null, - dragSize: 'auto', - hide: false, - draggable: false, - snapOnRelease: true, - lockClass: 'swiper-scrollbar-lock', - dragClass: 'swiper-scrollbar-drag', - scrollbarDisabledClass: 'swiper-scrollbar-disabled', - horizontalClass: `swiper-scrollbar-horizontal`, - verticalClass: `swiper-scrollbar-vertical` - } - }); - swiper.scrollbar = { - el: null, - dragEl: null - }; - function setTranslate() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - const { - scrollbar, - rtlTranslate: rtl - } = swiper; - const { - dragEl, - el - } = scrollbar; - const params = swiper.params.scrollbar; - const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress; - let newSize = dragSize; - let newPos = (trackSize - dragSize) * progress; - if (rtl) { - newPos = -newPos; - if (newPos > 0) { - newSize = dragSize - newPos; - newPos = 0; - } else if (-newPos + dragSize > trackSize) { - newSize = trackSize + newPos; - } - } else if (newPos < 0) { - newSize = dragSize + newPos; - newPos = 0; - } else if (newPos + dragSize > trackSize) { - newSize = trackSize - newPos; - } - if (swiper.isHorizontal()) { - dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`; - dragEl.style.width = `${newSize}px`; - } else { - dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`; - dragEl.style.height = `${newSize}px`; - } - if (params.hide) { - clearTimeout(timeout); - el.style.opacity = 1; - timeout = setTimeout(() => { - el.style.opacity = 0; - el.style.transitionDuration = '400ms'; - }, 1000); - } - } - function setTransition(duration) { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`; - } - function updateSize() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - const { - scrollbar - } = swiper; - const { - dragEl, - el - } = scrollbar; - dragEl.style.width = ''; - dragEl.style.height = ''; - trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight; - divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0)); - if (swiper.params.scrollbar.dragSize === 'auto') { - dragSize = trackSize * divider; - } else { - dragSize = parseInt(swiper.params.scrollbar.dragSize, 10); - } - if (swiper.isHorizontal()) { - dragEl.style.width = `${dragSize}px`; - } else { - dragEl.style.height = `${dragSize}px`; - } - if (divider >= 1) { - el.style.display = 'none'; - } else { - el.style.display = ''; - } - if (swiper.params.scrollbar.hide) { - el.style.opacity = 0; - } - if (swiper.params.watchOverflow && swiper.enabled) { - scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass); - } - } - function getPointerPosition(e) { - return swiper.isHorizontal() ? e.clientX : e.clientY; - } - function setDragPosition(e) { - const { - scrollbar, - rtlTranslate: rtl - } = swiper; - const { - el - } = scrollbar; - let positionRatio; - positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize); - positionRatio = Math.max(Math.min(positionRatio, 1), 0); - if (rtl) { - positionRatio = 1 - positionRatio; - } - const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio; - swiper.updateProgress(position); - swiper.setTranslate(position); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - function onDragStart(e) { - const params = swiper.params.scrollbar; - const { - scrollbar, - wrapperEl - } = swiper; - const { - el, - dragEl - } = scrollbar; - isTouched = true; - dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null; - e.preventDefault(); - e.stopPropagation(); - wrapperEl.style.transitionDuration = '100ms'; - dragEl.style.transitionDuration = '100ms'; - setDragPosition(e); - clearTimeout(dragTimeout); - el.style.transitionDuration = '0ms'; - if (params.hide) { - el.style.opacity = 1; - } - if (swiper.params.cssMode) { - swiper.wrapperEl.style['scroll-snap-type'] = 'none'; - } - emit('scrollbarDragStart', e); - } - function onDragMove(e) { - const { - scrollbar, - wrapperEl - } = swiper; - const { - el, - dragEl - } = scrollbar; - if (!isTouched) return; - if (e.preventDefault && e.cancelable) e.preventDefault();else e.returnValue = false; - setDragPosition(e); - wrapperEl.style.transitionDuration = '0ms'; - el.style.transitionDuration = '0ms'; - dragEl.style.transitionDuration = '0ms'; - emit('scrollbarDragMove', e); - } - function onDragEnd(e) { - const params = swiper.params.scrollbar; - const { - scrollbar, - wrapperEl - } = swiper; - const { - el - } = scrollbar; - if (!isTouched) return; - isTouched = false; - if (swiper.params.cssMode) { - swiper.wrapperEl.style['scroll-snap-type'] = ''; - wrapperEl.style.transitionDuration = ''; - } - if (params.hide) { - clearTimeout(dragTimeout); - dragTimeout = nextTick(() => { - el.style.opacity = 0; - el.style.transitionDuration = '400ms'; - }, 1000); - } - emit('scrollbarDragEnd', e); - if (params.snapOnRelease) { - swiper.slideToClosest(); - } - } - function events(method) { - const { - scrollbar, - params - } = swiper; - const el = scrollbar.el; - if (!el) return; - const target = el; - const activeListener = params.passiveListeners ? { - passive: false, - capture: false - } : false; - const passiveListener = params.passiveListeners ? { - passive: true, - capture: false - } : false; - if (!target) return; - const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; - target[eventMethod]('pointerdown', onDragStart, activeListener); - document[eventMethod]('pointermove', onDragMove, activeListener); - document[eventMethod]('pointerup', onDragEnd, passiveListener); - } - function enableDraggable() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - events('on'); - } - function disableDraggable() { - if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; - events('off'); - } - function init() { - const { - scrollbar, - el: swiperEl - } = swiper; - swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, { - el: 'swiper-scrollbar' - }); - const params = swiper.params.scrollbar; - if (!params.el) return; - let el; - if (typeof params.el === 'string' && swiper.isElement) { - el = swiper.el.querySelector(params.el); - } - if (!el && typeof params.el === 'string') { - el = document.querySelectorAll(params.el); - if (!el.length) return; - } else if (!el) { - el = params.el; - } - if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) { - el = swiperEl.querySelector(params.el); - } - if (el.length > 0) el = el[0]; - el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - let dragEl; - if (el) { - dragEl = el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass)); - if (!dragEl) { - dragEl = createElement('div', swiper.params.scrollbar.dragClass); - el.append(dragEl); - } - } - Object.assign(scrollbar, { - el, - dragEl - }); - if (params.draggable) { - enableDraggable(); - } - if (el) { - el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass)); - } - } - function destroy() { - const params = swiper.params.scrollbar; - const el = swiper.scrollbar.el; - if (el) { - el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass)); - } - disableDraggable(); - } - on('changeDirection', () => { - if (!swiper.scrollbar || !swiper.scrollbar.el) return; - const params = swiper.params.scrollbar; - let { - el - } = swiper.scrollbar; - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.classList.remove(params.horizontalClass, params.verticalClass); - subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); - }); - }); - on('init', () => { - if (swiper.params.scrollbar.enabled === false) { - // eslint-disable-next-line - disable(); - } else { - init(); - updateSize(); - setTranslate(); - } - }); - on('update resize observerUpdate lock unlock changeDirection', () => { - updateSize(); - }); - on('setTranslate', () => { - setTranslate(); - }); - on('setTransition', (_s, duration) => { - setTransition(duration); - }); - on('enable disable', () => { - const { - el - } = swiper.scrollbar; - if (el) { - el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass)); - } - }); - on('destroy', () => { - destroy(); - }); - const enable = () => { - swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - if (swiper.scrollbar.el) { - swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - } - init(); - updateSize(); - setTranslate(); - }; - const disable = () => { - swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - if (swiper.scrollbar.el) { - swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); - } - destroy(); - }; - Object.assign(swiper.scrollbar, { - enable, - disable, - updateSize, - setTranslate, - init, - destroy - }); - } - - function Parallax(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - parallax: { - enabled: false - } - }); - const elementsSelector = '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'; - const setTransform = (el, progress) => { - const { - rtl - } = swiper; - const rtlFactor = rtl ? -1 : 1; - const p = el.getAttribute('data-swiper-parallax') || '0'; - let x = el.getAttribute('data-swiper-parallax-x'); - let y = el.getAttribute('data-swiper-parallax-y'); - const scale = el.getAttribute('data-swiper-parallax-scale'); - const opacity = el.getAttribute('data-swiper-parallax-opacity'); - const rotate = el.getAttribute('data-swiper-parallax-rotate'); - if (x || y) { - x = x || '0'; - y = y || '0'; - } else if (swiper.isHorizontal()) { - x = p; - y = '0'; - } else { - y = p; - x = '0'; - } - if (x.indexOf('%') >= 0) { - x = `${parseInt(x, 10) * progress * rtlFactor}%`; - } else { - x = `${x * progress * rtlFactor}px`; - } - if (y.indexOf('%') >= 0) { - y = `${parseInt(y, 10) * progress}%`; - } else { - y = `${y * progress}px`; - } - if (typeof opacity !== 'undefined' && opacity !== null) { - const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress)); - el.style.opacity = currentOpacity; - } - let transform = `translate3d(${x}, ${y}, 0px)`; - if (typeof scale !== 'undefined' && scale !== null) { - const currentScale = scale - (scale - 1) * (1 - Math.abs(progress)); - transform += ` scale(${currentScale})`; - } - if (rotate && typeof rotate !== 'undefined' && rotate !== null) { - const currentRotate = rotate * progress * -1; - transform += ` rotate(${currentRotate}deg)`; - } - el.style.transform = transform; - }; - const setTranslate = () => { - const { - el, - slides, - progress, - snapGrid, - isElement - } = swiper; - const elements = elementChildren(el, elementsSelector); - if (swiper.isElement) { - elements.push(...elementChildren(swiper.hostEl, elementsSelector)); - } - elements.forEach(subEl => { - setTransform(subEl, progress); - }); - slides.forEach((slideEl, slideIndex) => { - let slideProgress = slideEl.progress; - if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') { - slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1); - } - slideProgress = Math.min(Math.max(slideProgress, -1), 1); - slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl => { - setTransform(subEl, slideProgress); - }); - }); - }; - const setTransition = function (duration) { - if (duration === void 0) { - duration = swiper.params.speed; - } - const { - el, - hostEl - } = swiper; - const elements = [...el.querySelectorAll(elementsSelector)]; - if (swiper.isElement) { - elements.push(...hostEl.querySelectorAll(elementsSelector)); - } - elements.forEach(parallaxEl => { - let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration; - if (duration === 0) parallaxDuration = 0; - parallaxEl.style.transitionDuration = `${parallaxDuration}ms`; - }); - }; - on('beforeInit', () => { - if (!swiper.params.parallax.enabled) return; - swiper.params.watchSlidesProgress = true; - swiper.originalParams.watchSlidesProgress = true; - }); - on('init', () => { - if (!swiper.params.parallax.enabled) return; - setTranslate(); - }); - on('setTranslate', () => { - if (!swiper.params.parallax.enabled) return; - setTranslate(); - }); - on('setTransition', (_swiper, duration) => { - if (!swiper.params.parallax.enabled) return; - setTransition(duration); - }); - } - - function Zoom(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const window = getWindow(); - extendParams({ - zoom: { - enabled: false, - limitToOriginalSize: false, - maxRatio: 3, - minRatio: 1, - toggle: true, - containerClass: 'swiper-zoom-container', - zoomedSlideClass: 'swiper-slide-zoomed' - } - }); - swiper.zoom = { - enabled: false - }; - let currentScale = 1; - let isScaling = false; - let fakeGestureTouched; - let fakeGestureMoved; - const evCache = []; - const gesture = { - originX: 0, - originY: 0, - slideEl: undefined, - slideWidth: undefined, - slideHeight: undefined, - imageEl: undefined, - imageWrapEl: undefined, - maxRatio: 3 - }; - const image = { - isTouched: undefined, - isMoved: undefined, - currentX: undefined, - currentY: undefined, - minX: undefined, - minY: undefined, - maxX: undefined, - maxY: undefined, - width: undefined, - height: undefined, - startX: undefined, - startY: undefined, - touchesStart: {}, - touchesCurrent: {} - }; - const velocity = { - x: undefined, - y: undefined, - prevPositionX: undefined, - prevPositionY: undefined, - prevTime: undefined - }; - let scale = 1; - Object.defineProperty(swiper.zoom, 'scale', { - get() { - return scale; - }, - set(value) { - if (scale !== value) { - const imageEl = gesture.imageEl; - const slideEl = gesture.slideEl; - emit('zoomChange', value, imageEl, slideEl); - } - scale = value; - } - }); - function getDistanceBetweenTouches() { - if (evCache.length < 2) return 1; - const x1 = evCache[0].pageX; - const y1 = evCache[0].pageY; - const x2 = evCache[1].pageX; - const y2 = evCache[1].pageY; - const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); - return distance; - } - function getMaxRatio() { - const params = swiper.params.zoom; - const maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio; - if (params.limitToOriginalSize && gesture.imageEl && gesture.imageEl.naturalWidth) { - const imageMaxRatio = gesture.imageEl.naturalWidth / gesture.imageEl.offsetWidth; - return Math.min(imageMaxRatio, maxRatio); - } - return maxRatio; - } - function getScaleOrigin() { - if (evCache.length < 2) return { - x: null, - y: null - }; - const box = gesture.imageEl.getBoundingClientRect(); - return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x - window.scrollX) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y - window.scrollY) / currentScale]; - } - function getSlideSelector() { - return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; - } - function eventWithinSlide(e) { - const slideSelector = getSlideSelector(); - if (e.target.matches(slideSelector)) return true; - if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true; - return false; - } - function eventWithinZoomContainer(e) { - const selector = `.${swiper.params.zoom.containerClass}`; - if (e.target.matches(selector)) return true; - if ([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true; - return false; - } - - // Events - function onGestureStart(e) { - if (e.pointerType === 'mouse') { - evCache.splice(0, evCache.length); - } - if (!eventWithinSlide(e)) return; - const params = swiper.params.zoom; - fakeGestureTouched = false; - fakeGestureMoved = false; - evCache.push(e); - if (evCache.length < 2) { - return; - } - fakeGestureTouched = true; - gesture.scaleStart = getDistanceBetweenTouches(); - if (!gesture.slideEl) { - gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); - if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex]; - let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); - if (imageEl) { - imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; - } - gesture.imageEl = imageEl; - if (imageEl) { - gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; - } else { - gesture.imageWrapEl = undefined; - } - if (!gesture.imageWrapEl) { - gesture.imageEl = undefined; - return; - } - gesture.maxRatio = getMaxRatio(); - } - if (gesture.imageEl) { - const [originX, originY] = getScaleOrigin(); - gesture.originX = originX; - gesture.originY = originY; - gesture.imageEl.style.transitionDuration = '0ms'; - } - isScaling = true; - } - function onGestureChange(e) { - if (!eventWithinSlide(e)) return; - const params = swiper.params.zoom; - const zoom = swiper.zoom; - const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId); - if (pointerIndex >= 0) evCache[pointerIndex] = e; - if (evCache.length < 2) { - return; - } - fakeGestureMoved = true; - gesture.scaleMove = getDistanceBetweenTouches(); - if (!gesture.imageEl) { - return; - } - zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale; - if (zoom.scale > gesture.maxRatio) { - zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5; - } - if (zoom.scale < params.minRatio) { - zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5; - } - gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; - } - function onGestureEnd(e) { - if (!eventWithinSlide(e)) return; - if (e.pointerType === 'mouse' && e.type === 'pointerout') return; - const params = swiper.params.zoom; - const zoom = swiper.zoom; - const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId); - if (pointerIndex >= 0) evCache.splice(pointerIndex, 1); - if (!fakeGestureTouched || !fakeGestureMoved) { - return; - } - fakeGestureTouched = false; - fakeGestureMoved = false; - if (!gesture.imageEl) return; - zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio); - gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`; - gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; - currentScale = zoom.scale; - isScaling = false; - if (zoom.scale > 1 && gesture.slideEl) { - gesture.slideEl.classList.add(`${params.zoomedSlideClass}`); - } else if (zoom.scale <= 1 && gesture.slideEl) { - gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`); - } - if (zoom.scale === 1) { - gesture.originX = 0; - gesture.originY = 0; - gesture.slideEl = undefined; - } - } - let allowTouchMoveTimeout; - function allowTouchMove() { - swiper.touchEventsData.preventTouchMoveFromPointerMove = false; - } - function preventTouchMove() { - clearTimeout(allowTouchMoveTimeout); - swiper.touchEventsData.preventTouchMoveFromPointerMove = true; - allowTouchMoveTimeout = setTimeout(() => { - allowTouchMove(); - }); - } - function onTouchStart(e) { - const device = swiper.device; - if (!gesture.imageEl) return; - if (image.isTouched) return; - if (device.android && e.cancelable) e.preventDefault(); - image.isTouched = true; - const event = evCache.length > 0 ? evCache[0] : e; - image.touchesStart.x = event.pageX; - image.touchesStart.y = event.pageY; - } - function onTouchMove(e) { - if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) { - return; - } - const zoom = swiper.zoom; - if (!gesture.imageEl) { - return; - } - if (!image.isTouched || !gesture.slideEl) { - return; - } - if (!image.isMoved) { - image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth; - image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight; - image.startX = getTranslate(gesture.imageWrapEl, 'x') || 0; - image.startY = getTranslate(gesture.imageWrapEl, 'y') || 0; - gesture.slideWidth = gesture.slideEl.offsetWidth; - gesture.slideHeight = gesture.slideEl.offsetHeight; - gesture.imageWrapEl.style.transitionDuration = '0ms'; - } - // Define if we need image drag - const scaledWidth = image.width * zoom.scale; - const scaledHeight = image.height * zoom.scale; - if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) { - allowTouchMove(); - return; - } - image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); - image.maxX = -image.minX; - image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); - image.maxY = -image.minY; - image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX; - image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY; - const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y)); - if (touchesDiff > 5) { - swiper.allowClick = false; - } - if (!image.isMoved && !isScaling) { - if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) { - image.isTouched = false; - allowTouchMove(); - return; - } - if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) { - image.isTouched = false; - allowTouchMove(); - return; - } - } - if (e.cancelable) { - e.preventDefault(); - } - e.stopPropagation(); - preventTouchMove(); - image.isMoved = true; - const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio); - const { - originX, - originY - } = gesture; - image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2); - image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2); - if (image.currentX < image.minX) { - image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8; - } - if (image.currentX > image.maxX) { - image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8; - } - if (image.currentY < image.minY) { - image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8; - } - if (image.currentY > image.maxY) { - image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8; - } - - // Velocity - if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x; - if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y; - if (!velocity.prevTime) velocity.prevTime = Date.now(); - velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2; - velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2; - if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0; - if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0; - velocity.prevPositionX = image.touchesCurrent.x; - velocity.prevPositionY = image.touchesCurrent.y; - velocity.prevTime = Date.now(); - gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`; - } - function onTouchEnd() { - const zoom = swiper.zoom; - if (!gesture.imageEl) return; - if (!image.isTouched || !image.isMoved) { - image.isTouched = false; - image.isMoved = false; - return; - } - image.isTouched = false; - image.isMoved = false; - let momentumDurationX = 300; - let momentumDurationY = 300; - const momentumDistanceX = velocity.x * momentumDurationX; - const newPositionX = image.currentX + momentumDistanceX; - const momentumDistanceY = velocity.y * momentumDurationY; - const newPositionY = image.currentY + momentumDistanceY; - - // Fix duration - if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x); - if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y); - const momentumDuration = Math.max(momentumDurationX, momentumDurationY); - image.currentX = newPositionX; - image.currentY = newPositionY; - // Define if we need image drag - const scaledWidth = image.width * zoom.scale; - const scaledHeight = image.height * zoom.scale; - image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); - image.maxX = -image.minX; - image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); - image.maxY = -image.minY; - image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX); - image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY); - gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`; - gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`; - } - function onTransitionEnd() { - const zoom = swiper.zoom; - if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) { - if (gesture.imageEl) { - gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)'; - } - if (gesture.imageWrapEl) { - gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)'; - } - gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`); - zoom.scale = 1; - currentScale = 1; - gesture.slideEl = undefined; - gesture.imageEl = undefined; - gesture.imageWrapEl = undefined; - gesture.originX = 0; - gesture.originY = 0; - } - } - function zoomIn(e) { - const zoom = swiper.zoom; - const params = swiper.params.zoom; - if (!gesture.slideEl) { - if (e && e.target) { - gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); - } - if (!gesture.slideEl) { - if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { - gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0]; - } else { - gesture.slideEl = swiper.slides[swiper.activeIndex]; - } - } - let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); - if (imageEl) { - imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; - } - gesture.imageEl = imageEl; - if (imageEl) { - gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; - } else { - gesture.imageWrapEl = undefined; - } - } - if (!gesture.imageEl || !gesture.imageWrapEl) return; - if (swiper.params.cssMode) { - swiper.wrapperEl.style.overflow = 'hidden'; - swiper.wrapperEl.style.touchAction = 'none'; - } - gesture.slideEl.classList.add(`${params.zoomedSlideClass}`); - let touchX; - let touchY; - let offsetX; - let offsetY; - let diffX; - let diffY; - let translateX; - let translateY; - let imageWidth; - let imageHeight; - let scaledWidth; - let scaledHeight; - let translateMinX; - let translateMinY; - let translateMaxX; - let translateMaxY; - let slideWidth; - let slideHeight; - if (typeof image.touchesStart.x === 'undefined' && e) { - touchX = e.pageX; - touchY = e.pageY; - } else { - touchX = image.touchesStart.x; - touchY = image.touchesStart.y; - } - const forceZoomRatio = typeof e === 'number' ? e : null; - if (currentScale === 1 && forceZoomRatio) { - touchX = undefined; - touchY = undefined; - } - const maxRatio = getMaxRatio(); - zoom.scale = forceZoomRatio || maxRatio; - currentScale = forceZoomRatio || maxRatio; - if (e && !(currentScale === 1 && forceZoomRatio)) { - slideWidth = gesture.slideEl.offsetWidth; - slideHeight = gesture.slideEl.offsetHeight; - offsetX = elementOffset(gesture.slideEl).left + window.scrollX; - offsetY = elementOffset(gesture.slideEl).top + window.scrollY; - diffX = offsetX + slideWidth / 2 - touchX; - diffY = offsetY + slideHeight / 2 - touchY; - imageWidth = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth; - imageHeight = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight; - scaledWidth = imageWidth * zoom.scale; - scaledHeight = imageHeight * zoom.scale; - translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0); - translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0); - translateMaxX = -translateMinX; - translateMaxY = -translateMinY; - translateX = diffX * zoom.scale; - translateY = diffY * zoom.scale; - if (translateX < translateMinX) { - translateX = translateMinX; - } - if (translateX > translateMaxX) { - translateX = translateMaxX; - } - if (translateY < translateMinY) { - translateY = translateMinY; - } - if (translateY > translateMaxY) { - translateY = translateMaxY; - } - } else { - translateX = 0; - translateY = 0; - } - if (forceZoomRatio && zoom.scale === 1) { - gesture.originX = 0; - gesture.originY = 0; - } - gesture.imageWrapEl.style.transitionDuration = '300ms'; - gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`; - gesture.imageEl.style.transitionDuration = '300ms'; - gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; - } - function zoomOut() { - const zoom = swiper.zoom; - const params = swiper.params.zoom; - if (!gesture.slideEl) { - if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { - gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0]; - } else { - gesture.slideEl = swiper.slides[swiper.activeIndex]; - } - let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); - if (imageEl) { - imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; - } - gesture.imageEl = imageEl; - if (imageEl) { - gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; - } else { - gesture.imageWrapEl = undefined; - } - } - if (!gesture.imageEl || !gesture.imageWrapEl) return; - if (swiper.params.cssMode) { - swiper.wrapperEl.style.overflow = ''; - swiper.wrapperEl.style.touchAction = ''; - } - zoom.scale = 1; - currentScale = 1; - gesture.imageWrapEl.style.transitionDuration = '300ms'; - gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)'; - gesture.imageEl.style.transitionDuration = '300ms'; - gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)'; - gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`); - gesture.slideEl = undefined; - gesture.originX = 0; - gesture.originY = 0; - } - - // Toggle Zoom - function zoomToggle(e) { - const zoom = swiper.zoom; - if (zoom.scale && zoom.scale !== 1) { - // Zoom Out - zoomOut(); - } else { - // Zoom In - zoomIn(e); - } - } - function getListeners() { - const passiveListener = swiper.params.passiveListeners ? { - passive: true, - capture: false - } : false; - const activeListenerWithCapture = swiper.params.passiveListeners ? { - passive: false, - capture: true - } : true; - return { - passiveListener, - activeListenerWithCapture - }; - } - - // Attach/Detach Events - function enable() { - const zoom = swiper.zoom; - if (zoom.enabled) return; - zoom.enabled = true; - const { - passiveListener, - activeListenerWithCapture - } = getListeners(); - - // Scale image - swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener); - swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture); - ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => { - swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener); - }); - - // Move image - swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture); - } - function disable() { - const zoom = swiper.zoom; - if (!zoom.enabled) return; - zoom.enabled = false; - const { - passiveListener, - activeListenerWithCapture - } = getListeners(); - - // Scale image - swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener); - swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture); - ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => { - swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener); - }); - - // Move image - swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture); - } - on('init', () => { - if (swiper.params.zoom.enabled) { - enable(); - } - }); - on('destroy', () => { - disable(); - }); - on('touchStart', (_s, e) => { - if (!swiper.zoom.enabled) return; - onTouchStart(e); - }); - on('touchEnd', (_s, e) => { - if (!swiper.zoom.enabled) return; - onTouchEnd(); - }); - on('doubleTap', (_s, e) => { - if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) { - zoomToggle(e); - } - }); - on('transitionEnd', () => { - if (swiper.zoom.enabled && swiper.params.zoom.enabled) { - onTransitionEnd(); - } - }); - on('slideChange', () => { - if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) { - onTransitionEnd(); - } - }); - Object.assign(swiper.zoom, { - enable, - disable, - in: zoomIn, - out: zoomOut, - toggle: zoomToggle - }); - } - - /* eslint no-bitwise: ["error", { "allow": [">>"] }] */ - function Controller(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - controller: { - control: undefined, - inverse: false, - by: 'slide' // or 'container' - } - }); - - swiper.controller = { - control: undefined - }; - function LinearSpline(x, y) { - const binarySearch = function search() { - let maxIndex; - let minIndex; - let guess; - return (array, val) => { - minIndex = -1; - maxIndex = array.length; - while (maxIndex - minIndex > 1) { - guess = maxIndex + minIndex >> 1; - if (array[guess] <= val) { - minIndex = guess; - } else { - maxIndex = guess; - } - } - return maxIndex; - }; - }(); - this.x = x; - this.y = y; - this.lastIndex = x.length - 1; - // Given an x value (x2), return the expected y2 value: - // (x1,y1) is the known point before given value, - // (x3,y3) is the known point after given value. - let i1; - let i3; - this.interpolate = function interpolate(x2) { - if (!x2) return 0; - - // Get the indexes of x1 and x3 (the array indexes before and after given x2): - i3 = binarySearch(this.x, x2); - i1 = i3 - 1; - - // We have our indexes i1 & i3, so we can calculate already: - // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1 - return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1]; - }; - return this; - } - function getInterpolateFunction(c) { - swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid); - } - function setTranslate(_t, byController) { - const controlled = swiper.controller.control; - let multiplier; - let controlledTranslate; - const Swiper = swiper.constructor; - function setControlledTranslate(c) { - if (c.destroyed) return; - - // this will create an Interpolate function based on the snapGrids - // x is the Grid of the scrolled scroller and y will be the controlled scroller - // it makes sense to create this only once and recall it for the interpolation - // the function does a lot of value caching for performance - const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate; - if (swiper.params.controller.by === 'slide') { - getInterpolateFunction(c); - // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid - // but it did not work out - controlledTranslate = -swiper.controller.spline.interpolate(-translate); - } - if (!controlledTranslate || swiper.params.controller.by === 'container') { - multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate()); - if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) { - multiplier = 1; - } - controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate(); - } - if (swiper.params.controller.inverse) { - controlledTranslate = c.maxTranslate() - controlledTranslate; - } - c.updateProgress(controlledTranslate); - c.setTranslate(controlledTranslate, swiper); - c.updateActiveIndex(); - c.updateSlidesClasses(); - } - if (Array.isArray(controlled)) { - for (let i = 0; i < controlled.length; i += 1) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTranslate(controlled[i]); - } - } - } else if (controlled instanceof Swiper && byController !== controlled) { - setControlledTranslate(controlled); - } - } - function setTransition(duration, byController) { - const Swiper = swiper.constructor; - const controlled = swiper.controller.control; - let i; - function setControlledTransition(c) { - if (c.destroyed) return; - c.setTransition(duration, swiper); - if (duration !== 0) { - c.transitionStart(); - if (c.params.autoHeight) { - nextTick(() => { - c.updateAutoHeight(); - }); - } - elementTransitionEnd(c.wrapperEl, () => { - if (!controlled) return; - c.transitionEnd(); - }); - } - } - if (Array.isArray(controlled)) { - for (i = 0; i < controlled.length; i += 1) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTransition(controlled[i]); - } - } - } else if (controlled instanceof Swiper && byController !== controlled) { - setControlledTransition(controlled); - } - } - function removeSpline() { - if (!swiper.controller.control) return; - if (swiper.controller.spline) { - swiper.controller.spline = undefined; - delete swiper.controller.spline; - } - } - on('beforeInit', () => { - if (typeof window !== 'undefined' && ( - // eslint-disable-line - typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) { - const controlElement = document.querySelector(swiper.params.controller.control); - if (controlElement && controlElement.swiper) { - swiper.controller.control = controlElement.swiper; - } else if (controlElement) { - const onControllerSwiper = e => { - swiper.controller.control = e.detail[0]; - swiper.update(); - controlElement.removeEventListener('init', onControllerSwiper); - }; - controlElement.addEventListener('init', onControllerSwiper); - } - return; - } - swiper.controller.control = swiper.params.controller.control; - }); - on('update', () => { - removeSpline(); - }); - on('resize', () => { - removeSpline(); - }); - on('observerUpdate', () => { - removeSpline(); - }); - on('setTranslate', (_s, translate, byController) => { - if (!swiper.controller.control || swiper.controller.control.destroyed) return; - swiper.controller.setTranslate(translate, byController); - }); - on('setTransition', (_s, duration, byController) => { - if (!swiper.controller.control || swiper.controller.control.destroyed) return; - swiper.controller.setTransition(duration, byController); - }); - Object.assign(swiper.controller, { - setTranslate, - setTransition - }); - } - - function A11y(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - a11y: { - enabled: true, - notificationClass: 'swiper-notification', - prevSlideMessage: 'Previous slide', - nextSlideMessage: 'Next slide', - firstSlideMessage: 'This is the first slide', - lastSlideMessage: 'This is the last slide', - paginationBulletMessage: 'Go to slide {{index}}', - slideLabelMessage: '{{index}} / {{slidesLength}}', - containerMessage: null, - containerRoleDescriptionMessage: null, - itemRoleDescriptionMessage: null, - slideRole: 'group', - id: null - } - }); - swiper.a11y = { - clicked: false - }; - let liveRegion = null; - let preventFocusHandler; - let focusTargetSlideEl; - let visibilityChangedTimestamp = new Date().getTime(); - function notify(message) { - const notification = liveRegion; - if (notification.length === 0) return; - notification.innerHTML = ''; - notification.innerHTML = message; - } - function getRandomNumber(size) { - if (size === void 0) { - size = 16; - } - const randomChar = () => Math.round(16 * Math.random()).toString(16); - return 'x'.repeat(size).replace(/x/g, randomChar); - } - function makeElFocusable(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('tabIndex', '0'); - }); - } - function makeElNotFocusable(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('tabIndex', '-1'); - }); - } - function addElRole(el, role) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('role', role); - }); - } - function addElRoleDescription(el, description) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-roledescription', description); - }); - } - function addElControls(el, controls) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-controls', controls); - }); - } - function addElLabel(el, label) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-label', label); - }); - } - function addElId(el, id) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('id', id); - }); - } - function addElLive(el, live) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-live', live); - }); - } - function disableEl(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-disabled', true); - }); - } - function enableEl(el) { - el = makeElementsArray(el); - el.forEach(subEl => { - subEl.setAttribute('aria-disabled', false); - }); - } - function onEnterOrSpaceKey(e) { - if (e.keyCode !== 13 && e.keyCode !== 32) return; - const params = swiper.params.a11y; - const targetEl = e.target; - if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) { - if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return; - } - if (swiper.navigation && swiper.navigation.prevEl && swiper.navigation.nextEl) { - const prevEls = makeElementsArray(swiper.navigation.prevEl); - const nextEls = makeElementsArray(swiper.navigation.nextEl); - if (nextEls.includes(targetEl)) { - if (!(swiper.isEnd && !swiper.params.loop)) { - swiper.slideNext(); - } - if (swiper.isEnd) { - notify(params.lastSlideMessage); - } else { - notify(params.nextSlideMessage); - } - } - if (prevEls.includes(targetEl)) { - if (!(swiper.isBeginning && !swiper.params.loop)) { - swiper.slidePrev(); - } - if (swiper.isBeginning) { - notify(params.firstSlideMessage); - } else { - notify(params.prevSlideMessage); - } - } - } - if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) { - targetEl.click(); - } - } - function updateNavigation() { - if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return; - const { - nextEl, - prevEl - } = swiper.navigation; - if (prevEl) { - if (swiper.isBeginning) { - disableEl(prevEl); - makeElNotFocusable(prevEl); - } else { - enableEl(prevEl); - makeElFocusable(prevEl); - } - } - if (nextEl) { - if (swiper.isEnd) { - disableEl(nextEl); - makeElNotFocusable(nextEl); - } else { - enableEl(nextEl); - makeElFocusable(nextEl); - } - } - } - function hasPagination() { - return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length; - } - function hasClickablePagination() { - return hasPagination() && swiper.params.pagination.clickable; - } - function updatePagination() { - const params = swiper.params.a11y; - if (!hasPagination()) return; - swiper.pagination.bullets.forEach(bulletEl => { - if (swiper.params.pagination.clickable) { - makeElFocusable(bulletEl); - if (!swiper.params.pagination.renderBullet) { - addElRole(bulletEl, 'button'); - addElLabel(bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, elementIndex(bulletEl) + 1)); - } - } - if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) { - bulletEl.setAttribute('aria-current', 'true'); - } else { - bulletEl.removeAttribute('aria-current'); - } - }); - } - const initNavEl = (el, wrapperId, message) => { - makeElFocusable(el); - if (el.tagName !== 'BUTTON') { - addElRole(el, 'button'); - el.addEventListener('keydown', onEnterOrSpaceKey); - } - addElLabel(el, message); - addElControls(el, wrapperId); - }; - const handlePointerDown = e => { - if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) { - preventFocusHandler = true; - } - swiper.a11y.clicked = true; - }; - const handlePointerUp = () => { - preventFocusHandler = false; - requestAnimationFrame(() => { - requestAnimationFrame(() => { - if (!swiper.destroyed) { - swiper.a11y.clicked = false; - } - }); - }); - }; - const onVisibilityChange = e => { - visibilityChangedTimestamp = new Date().getTime(); - }; - const handleFocus = e => { - if (swiper.a11y.clicked) return; - if (new Date().getTime() - visibilityChangedTimestamp < 100) return; - const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); - if (!slideEl || !swiper.slides.includes(slideEl)) return; - focusTargetSlideEl = slideEl; - const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex; - const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl); - if (isActive || isVisible) return; - if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return; - if (swiper.isHorizontal()) { - swiper.el.scrollLeft = 0; - } else { - swiper.el.scrollTop = 0; - } - requestAnimationFrame(() => { - if (preventFocusHandler) return; - swiper.slideTo(swiper.slides.indexOf(slideEl), 0); - preventFocusHandler = false; - }); - }; - const initSlides = () => { - const params = swiper.params.a11y; - if (params.itemRoleDescriptionMessage) { - addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage); - } - if (params.slideRole) { - addElRole(swiper.slides, params.slideRole); - } - const slidesLength = swiper.slides.length; - if (params.slideLabelMessage) { - swiper.slides.forEach((slideEl, index) => { - const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index; - const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength); - addElLabel(slideEl, ariaLabelMessage); - }); - } - }; - const init = () => { - const params = swiper.params.a11y; - swiper.el.append(liveRegion); - - // Container - const containerEl = swiper.el; - if (params.containerRoleDescriptionMessage) { - addElRoleDescription(containerEl, params.containerRoleDescriptionMessage); - } - if (params.containerMessage) { - addElLabel(containerEl, params.containerMessage); - } - - // Wrapper - const wrapperEl = swiper.wrapperEl; - const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`; - const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite'; - addElId(wrapperEl, wrapperId); - addElLive(wrapperEl, live); - - // Slide - initSlides(); - - // Navigation - let { - nextEl, - prevEl - } = swiper.navigation ? swiper.navigation : {}; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - if (nextEl) { - nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage)); - } - if (prevEl) { - prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage)); - } - - // Pagination - if (hasClickablePagination()) { - const paginationEl = makeElementsArray(swiper.pagination.el); - paginationEl.forEach(el => { - el.addEventListener('keydown', onEnterOrSpaceKey); - }); - } - - // Tab focus - const document = getDocument(); - document.addEventListener('visibilitychange', onVisibilityChange); - swiper.el.addEventListener('focus', handleFocus, true); - swiper.el.addEventListener('focus', handleFocus, true); - swiper.el.addEventListener('pointerdown', handlePointerDown, true); - swiper.el.addEventListener('pointerup', handlePointerUp, true); - }; - function destroy() { - if (liveRegion) liveRegion.remove(); - let { - nextEl, - prevEl - } = swiper.navigation ? swiper.navigation : {}; - nextEl = makeElementsArray(nextEl); - prevEl = makeElementsArray(prevEl); - if (nextEl) { - nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey)); - } - if (prevEl) { - prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey)); - } - - // Pagination - if (hasClickablePagination()) { - const paginationEl = makeElementsArray(swiper.pagination.el); - paginationEl.forEach(el => { - el.removeEventListener('keydown', onEnterOrSpaceKey); - }); - } - const document = getDocument(); - document.removeEventListener('visibilitychange', onVisibilityChange); - // Tab focus - swiper.el.removeEventListener('focus', handleFocus, true); - swiper.el.removeEventListener('pointerdown', handlePointerDown, true); - swiper.el.removeEventListener('pointerup', handlePointerUp, true); - } - on('beforeInit', () => { - liveRegion = createElement('span', swiper.params.a11y.notificationClass); - liveRegion.setAttribute('aria-live', 'assertive'); - liveRegion.setAttribute('aria-atomic', 'true'); - }); - on('afterInit', () => { - if (!swiper.params.a11y.enabled) return; - init(); - }); - on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => { - if (!swiper.params.a11y.enabled) return; - initSlides(); - }); - on('fromEdge toEdge afterInit lock unlock', () => { - if (!swiper.params.a11y.enabled) return; - updateNavigation(); - }); - on('paginationUpdate', () => { - if (!swiper.params.a11y.enabled) return; - updatePagination(); - }); - on('destroy', () => { - if (!swiper.params.a11y.enabled) return; - destroy(); - }); - } - - function History(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - history: { - enabled: false, - root: '', - replaceState: false, - key: 'slides', - keepQuery: false - } - }); - let initialized = false; - let paths = {}; - const slugify = text => { - return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, ''); - }; - const getPathValues = urlOverride => { - const window = getWindow(); - let location; - if (urlOverride) { - location = new URL(urlOverride); - } else { - location = window.location; - } - const pathArray = location.pathname.slice(1).split('/').filter(part => part !== ''); - const total = pathArray.length; - const key = pathArray[total - 2]; - const value = pathArray[total - 1]; - return { - key, - value - }; - }; - const setHistory = (key, index) => { - const window = getWindow(); - if (!initialized || !swiper.params.history.enabled) return; - let location; - if (swiper.params.url) { - location = new URL(swiper.params.url); - } else { - location = window.location; - } - const slide = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${index}"]`) : swiper.slides[index]; - let value = slugify(slide.getAttribute('data-history')); - if (swiper.params.history.root.length > 0) { - let root = swiper.params.history.root; - if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1); - value = `${root}/${key ? `${key}/` : ''}${value}`; - } else if (!location.pathname.includes(key)) { - value = `${key ? `${key}/` : ''}${value}`; - } - if (swiper.params.history.keepQuery) { - value += location.search; - } - const currentState = window.history.state; - if (currentState && currentState.value === value) { - return; - } - if (swiper.params.history.replaceState) { - window.history.replaceState({ - value - }, null, value); - } else { - window.history.pushState({ - value - }, null, value); - } - }; - const scrollToSlide = (speed, value, runCallbacks) => { - if (value) { - for (let i = 0, length = swiper.slides.length; i < length; i += 1) { - const slide = swiper.slides[i]; - const slideHistory = slugify(slide.getAttribute('data-history')); - if (slideHistory === value) { - const index = swiper.getSlideIndex(slide); - swiper.slideTo(index, speed, runCallbacks); - } - } - } else { - swiper.slideTo(0, speed, runCallbacks); - } - }; - const setHistoryPopState = () => { - paths = getPathValues(swiper.params.url); - scrollToSlide(swiper.params.speed, paths.value, false); - }; - const init = () => { - const window = getWindow(); - if (!swiper.params.history) return; - if (!window.history || !window.history.pushState) { - swiper.params.history.enabled = false; - swiper.params.hashNavigation.enabled = true; - return; - } - initialized = true; - paths = getPathValues(swiper.params.url); - if (!paths.key && !paths.value) { - if (!swiper.params.history.replaceState) { - window.addEventListener('popstate', setHistoryPopState); - } - return; - } - scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit); - if (!swiper.params.history.replaceState) { - window.addEventListener('popstate', setHistoryPopState); - } - }; - const destroy = () => { - const window = getWindow(); - if (!swiper.params.history.replaceState) { - window.removeEventListener('popstate', setHistoryPopState); - } - }; - on('init', () => { - if (swiper.params.history.enabled) { - init(); - } - }); - on('destroy', () => { - if (swiper.params.history.enabled) { - destroy(); - } - }); - on('transitionEnd _freeModeNoMomentumRelease', () => { - if (initialized) { - setHistory(swiper.params.history.key, swiper.activeIndex); - } - }); - on('slideChange', () => { - if (initialized && swiper.params.cssMode) { - setHistory(swiper.params.history.key, swiper.activeIndex); - } - }); - } - - function HashNavigation(_ref) { - let { - swiper, - extendParams, - emit, - on - } = _ref; - let initialized = false; - const document = getDocument(); - const window = getWindow(); - extendParams({ - hashNavigation: { - enabled: false, - replaceState: false, - watchState: false, - getSlideIndex(_s, hash) { - if (swiper.virtual && swiper.params.virtual.enabled) { - const slideWithHash = swiper.slides.filter(slideEl => slideEl.getAttribute('data-hash') === hash)[0]; - if (!slideWithHash) return 0; - const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10); - return index; - } - return swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0]); - } - } - }); - const onHashChange = () => { - emit('hashChange'); - const newHash = document.location.hash.replace('#', ''); - const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex]; - const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : ''; - if (newHash !== activeSlideHash) { - const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash); - if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return; - swiper.slideTo(newIndex); - } - }; - const setHash = () => { - if (!initialized || !swiper.params.hashNavigation.enabled) return; - const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex]; - const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : ''; - if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) { - window.history.replaceState(null, null, `#${activeSlideHash}` || ''); - emit('hashSet'); - } else { - document.location.hash = activeSlideHash || ''; - emit('hashSet'); - } - }; - const init = () => { - if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return; - initialized = true; - const hash = document.location.hash.replace('#', ''); - if (hash) { - const speed = 0; - const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash); - swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true); - } - if (swiper.params.hashNavigation.watchState) { - window.addEventListener('hashchange', onHashChange); - } - }; - const destroy = () => { - if (swiper.params.hashNavigation.watchState) { - window.removeEventListener('hashchange', onHashChange); - } - }; - on('init', () => { - if (swiper.params.hashNavigation.enabled) { - init(); - } - }); - on('destroy', () => { - if (swiper.params.hashNavigation.enabled) { - destroy(); - } - }); - on('transitionEnd _freeModeNoMomentumRelease', () => { - if (initialized) { - setHash(); - } - }); - on('slideChange', () => { - if (initialized && swiper.params.cssMode) { - setHash(); - } - }); - } - - /* eslint no-underscore-dangle: "off" */ - /* eslint no-use-before-define: "off" */ - function Autoplay(_ref) { - let { - swiper, - extendParams, - on, - emit, - params - } = _ref; - swiper.autoplay = { - running: false, - paused: false, - timeLeft: 0 - }; - extendParams({ - autoplay: { - enabled: false, - delay: 3000, - waitForTransition: true, - disableOnInteraction: false, - stopOnLastSlide: false, - reverseDirection: false, - pauseOnMouseEnter: false - } - }); - let timeout; - let raf; - let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000; - let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000; - let autoplayTimeLeft; - let autoplayStartTime = new Date().getTime(); - let wasPaused; - let isTouched; - let pausedByTouch; - let touchStartTimeout; - let slideChanged; - let pausedByInteraction; - let pausedByPointerEnter; - function onTransitionEnd(e) { - if (!swiper || swiper.destroyed || !swiper.wrapperEl) return; - if (e.target !== swiper.wrapperEl) return; - swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd); - if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) { - return; - } - resume(); - } - const calcTimeLeft = () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - if (swiper.autoplay.paused) { - wasPaused = true; - } else if (wasPaused) { - autoplayDelayCurrent = autoplayTimeLeft; - wasPaused = false; - } - const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime(); - swiper.autoplay.timeLeft = timeLeft; - emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal); - raf = requestAnimationFrame(() => { - calcTimeLeft(); - }); - }; - const getSlideDelay = () => { - let activeSlideEl; - if (swiper.virtual && swiper.params.virtual.enabled) { - activeSlideEl = swiper.slides.filter(slideEl => slideEl.classList.contains('swiper-slide-active'))[0]; - } else { - activeSlideEl = swiper.slides[swiper.activeIndex]; - } - if (!activeSlideEl) return undefined; - const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10); - return currentSlideDelay; - }; - const run = delayForce => { - if (swiper.destroyed || !swiper.autoplay.running) return; - cancelAnimationFrame(raf); - calcTimeLeft(); - let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce; - autoplayDelayTotal = swiper.params.autoplay.delay; - autoplayDelayCurrent = swiper.params.autoplay.delay; - const currentSlideDelay = getSlideDelay(); - if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') { - delay = currentSlideDelay; - autoplayDelayTotal = currentSlideDelay; - autoplayDelayCurrent = currentSlideDelay; - } - autoplayTimeLeft = delay; - const speed = swiper.params.speed; - const proceed = () => { - if (!swiper || swiper.destroyed) return; - if (swiper.params.autoplay.reverseDirection) { - if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) { - swiper.slidePrev(speed, true, true); - emit('autoplay'); - } else if (!swiper.params.autoplay.stopOnLastSlide) { - swiper.slideTo(swiper.slides.length - 1, speed, true, true); - emit('autoplay'); - } - } else { - if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) { - swiper.slideNext(speed, true, true); - emit('autoplay'); - } else if (!swiper.params.autoplay.stopOnLastSlide) { - swiper.slideTo(0, speed, true, true); - emit('autoplay'); - } - } - if (swiper.params.cssMode) { - autoplayStartTime = new Date().getTime(); - requestAnimationFrame(() => { - run(); - }); - } - }; - if (delay > 0) { - clearTimeout(timeout); - timeout = setTimeout(() => { - proceed(); - }, delay); - } else { - requestAnimationFrame(() => { - proceed(); - }); - } - - // eslint-disable-next-line - return delay; - }; - const start = () => { - autoplayStartTime = new Date().getTime(); - swiper.autoplay.running = true; - run(); - emit('autoplayStart'); - }; - const stop = () => { - swiper.autoplay.running = false; - clearTimeout(timeout); - cancelAnimationFrame(raf); - emit('autoplayStop'); - }; - const pause = (internal, reset) => { - if (swiper.destroyed || !swiper.autoplay.running) return; - clearTimeout(timeout); - if (!internal) { - pausedByInteraction = true; - } - const proceed = () => { - emit('autoplayPause'); - if (swiper.params.autoplay.waitForTransition) { - swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd); - } else { - resume(); - } - }; - swiper.autoplay.paused = true; - if (reset) { - if (slideChanged) { - autoplayTimeLeft = swiper.params.autoplay.delay; - } - slideChanged = false; - proceed(); - return; - } - const delay = autoplayTimeLeft || swiper.params.autoplay.delay; - autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime); - if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return; - if (autoplayTimeLeft < 0) autoplayTimeLeft = 0; - proceed(); - }; - const resume = () => { - if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return; - autoplayStartTime = new Date().getTime(); - if (pausedByInteraction) { - pausedByInteraction = false; - run(autoplayTimeLeft); - } else { - run(); - } - swiper.autoplay.paused = false; - emit('autoplayResume'); - }; - const onVisibilityChange = () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - const document = getDocument(); - if (document.visibilityState === 'hidden') { - pausedByInteraction = true; - pause(true); - } - if (document.visibilityState === 'visible') { - resume(); - } - }; - const onPointerEnter = e => { - if (e.pointerType !== 'mouse') return; - pausedByInteraction = true; - pausedByPointerEnter = true; - if (swiper.animating || swiper.autoplay.paused) return; - pause(true); - }; - const onPointerLeave = e => { - if (e.pointerType !== 'mouse') return; - pausedByPointerEnter = false; - if (swiper.autoplay.paused) { - resume(); - } - }; - const attachMouseEvents = () => { - if (swiper.params.autoplay.pauseOnMouseEnter) { - swiper.el.addEventListener('pointerenter', onPointerEnter); - swiper.el.addEventListener('pointerleave', onPointerLeave); - } - }; - const detachMouseEvents = () => { - swiper.el.removeEventListener('pointerenter', onPointerEnter); - swiper.el.removeEventListener('pointerleave', onPointerLeave); - }; - const attachDocumentEvents = () => { - const document = getDocument(); - document.addEventListener('visibilitychange', onVisibilityChange); - }; - const detachDocumentEvents = () => { - const document = getDocument(); - document.removeEventListener('visibilitychange', onVisibilityChange); - }; - on('init', () => { - if (swiper.params.autoplay.enabled) { - attachMouseEvents(); - attachDocumentEvents(); - start(); - } - }); - on('destroy', () => { - detachMouseEvents(); - detachDocumentEvents(); - if (swiper.autoplay.running) { - stop(); - } - }); - on('_freeModeStaticRelease', () => { - if (pausedByTouch || pausedByInteraction) { - resume(); - } - }); - on('_freeModeNoMomentumRelease', () => { - if (!swiper.params.autoplay.disableOnInteraction) { - pause(true, true); - } else { - stop(); - } - }); - on('beforeTransitionStart', (_s, speed, internal) => { - if (swiper.destroyed || !swiper.autoplay.running) return; - if (internal || !swiper.params.autoplay.disableOnInteraction) { - pause(true, true); - } else { - stop(); - } - }); - on('sliderFirstMove', () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - if (swiper.params.autoplay.disableOnInteraction) { - stop(); - return; - } - isTouched = true; - pausedByTouch = false; - pausedByInteraction = false; - touchStartTimeout = setTimeout(() => { - pausedByInteraction = true; - pausedByTouch = true; - pause(true); - }, 200); - }); - on('touchEnd', () => { - if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return; - clearTimeout(touchStartTimeout); - clearTimeout(timeout); - if (swiper.params.autoplay.disableOnInteraction) { - pausedByTouch = false; - isTouched = false; - return; - } - if (pausedByTouch && swiper.params.cssMode) resume(); - pausedByTouch = false; - isTouched = false; - }); - on('slideChange', () => { - if (swiper.destroyed || !swiper.autoplay.running) return; - slideChanged = true; - }); - Object.assign(swiper.autoplay, { - start, - stop, - pause, - resume - }); - } - - function Thumb(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - thumbs: { - swiper: null, - multipleActiveThumbs: true, - autoScrollOffset: 0, - slideThumbActiveClass: 'swiper-slide-thumb-active', - thumbsContainerClass: 'swiper-thumbs' - } - }); - let initialized = false; - let swiperCreated = false; - swiper.thumbs = { - swiper: null - }; - function onThumbClick() { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - const clickedIndex = thumbsSwiper.clickedIndex; - const clickedSlide = thumbsSwiper.clickedSlide; - if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return; - if (typeof clickedIndex === 'undefined' || clickedIndex === null) return; - let slideToIndex; - if (thumbsSwiper.params.loop) { - slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); - } else { - slideToIndex = clickedIndex; - } - if (swiper.params.loop) { - swiper.slideToLoop(slideToIndex); - } else { - swiper.slideTo(slideToIndex); - } - } - function init() { - const { - thumbs: thumbsParams - } = swiper.params; - if (initialized) return false; - initialized = true; - const SwiperClass = swiper.constructor; - if (thumbsParams.swiper instanceof SwiperClass) { - swiper.thumbs.swiper = thumbsParams.swiper; - Object.assign(swiper.thumbs.swiper.originalParams, { - watchSlidesProgress: true, - slideToClickedSlide: false - }); - Object.assign(swiper.thumbs.swiper.params, { - watchSlidesProgress: true, - slideToClickedSlide: false - }); - swiper.thumbs.swiper.update(); - } else if (isObject$1(thumbsParams.swiper)) { - const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper); - Object.assign(thumbsSwiperParams, { - watchSlidesProgress: true, - slideToClickedSlide: false - }); - swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams); - swiperCreated = true; - } - swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass); - swiper.thumbs.swiper.on('tap', onThumbClick); - return true; - } - function update(initial) { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView; - - // Activate thumbs - let thumbsToActivate = 1; - const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass; - if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) { - thumbsToActivate = swiper.params.slidesPerView; - } - if (!swiper.params.thumbs.multipleActiveThumbs) { - thumbsToActivate = 1; - } - thumbsToActivate = Math.floor(thumbsToActivate); - thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass)); - if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) { - for (let i = 0; i < thumbsToActivate; i += 1) { - elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach(slideEl => { - slideEl.classList.add(thumbActiveClass); - }); - } - } else { - for (let i = 0; i < thumbsToActivate; i += 1) { - if (thumbsSwiper.slides[swiper.realIndex + i]) { - thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass); - } - } - } - const autoScrollOffset = swiper.params.thumbs.autoScrollOffset; - const useOffset = autoScrollOffset && !thumbsSwiper.params.loop; - if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) { - const currentThumbsIndex = thumbsSwiper.activeIndex; - let newThumbsIndex; - let direction; - if (thumbsSwiper.params.loop) { - const newThumbsSlide = thumbsSwiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`)[0]; - newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide); - direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev'; - } else { - newThumbsIndex = swiper.realIndex; - direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev'; - } - if (useOffset) { - newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset; - } - if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) { - if (thumbsSwiper.params.centeredSlides) { - if (newThumbsIndex > currentThumbsIndex) { - newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1; - } else { - newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1; - } - } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ; - thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined); - } - } - } - on('beforeInit', () => { - const { - thumbs - } = swiper.params; - if (!thumbs || !thumbs.swiper) return; - if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) { - const document = getDocument(); - const getThumbsElementAndInit = () => { - const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper; - if (thumbsElement && thumbsElement.swiper) { - thumbs.swiper = thumbsElement.swiper; - init(); - update(true); - } else if (thumbsElement) { - const onThumbsSwiper = e => { - thumbs.swiper = e.detail[0]; - thumbsElement.removeEventListener('init', onThumbsSwiper); - init(); - update(true); - thumbs.swiper.update(); - swiper.update(); - }; - thumbsElement.addEventListener('init', onThumbsSwiper); - } - return thumbsElement; - }; - const watchForThumbsToAppear = () => { - if (swiper.destroyed) return; - const thumbsElement = getThumbsElementAndInit(); - if (!thumbsElement) { - requestAnimationFrame(watchForThumbsToAppear); - } - }; - requestAnimationFrame(watchForThumbsToAppear); - } else { - init(); - update(true); - } - }); - on('slideChange update resize observerUpdate', () => { - update(); - }); - on('setTransition', (_s, duration) => { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - thumbsSwiper.setTransition(duration); - }); - on('beforeDestroy', () => { - const thumbsSwiper = swiper.thumbs.swiper; - if (!thumbsSwiper || thumbsSwiper.destroyed) return; - if (swiperCreated) { - thumbsSwiper.destroy(); - } - }); - Object.assign(swiper.thumbs, { - init, - update - }); - } - - function freeMode(_ref) { - let { - swiper, - extendParams, - emit, - once - } = _ref; - extendParams({ - freeMode: { - enabled: false, - momentum: true, - momentumRatio: 1, - momentumBounce: true, - momentumBounceRatio: 1, - momentumVelocityRatio: 1, - sticky: false, - minimumVelocity: 0.02 - } - }); - function onTouchStart() { - if (swiper.params.cssMode) return; - const translate = swiper.getTranslate(); - swiper.setTranslate(translate); - swiper.setTransition(0); - swiper.touchEventsData.velocities.length = 0; - swiper.freeMode.onTouchEnd({ - currentPos: swiper.rtl ? swiper.translate : -swiper.translate - }); - } - function onTouchMove() { - if (swiper.params.cssMode) return; - const { - touchEventsData: data, - touches - } = swiper; - // Velocity - if (data.velocities.length === 0) { - data.velocities.push({ - position: touches[swiper.isHorizontal() ? 'startX' : 'startY'], - time: data.touchStartTime - }); - } - data.velocities.push({ - position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'], - time: now() - }); - } - function onTouchEnd(_ref2) { - let { - currentPos - } = _ref2; - if (swiper.params.cssMode) return; - const { - params, - wrapperEl, - rtlTranslate: rtl, - snapGrid, - touchEventsData: data - } = swiper; - // Time diff - const touchEndTime = now(); - const timeDiff = touchEndTime - data.touchStartTime; - if (currentPos < -swiper.minTranslate()) { - swiper.slideTo(swiper.activeIndex); - return; - } - if (currentPos > -swiper.maxTranslate()) { - if (swiper.slides.length < snapGrid.length) { - swiper.slideTo(snapGrid.length - 1); - } else { - swiper.slideTo(swiper.slides.length - 1); - } - return; - } - if (params.freeMode.momentum) { - if (data.velocities.length > 1) { - const lastMoveEvent = data.velocities.pop(); - const velocityEvent = data.velocities.pop(); - const distance = lastMoveEvent.position - velocityEvent.position; - const time = lastMoveEvent.time - velocityEvent.time; - swiper.velocity = distance / time; - swiper.velocity /= 2; - if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) { - swiper.velocity = 0; - } - // this implies that the user stopped moving a finger then released. - // There would be no events with distance zero, so the last event is stale. - if (time > 150 || now() - lastMoveEvent.time > 300) { - swiper.velocity = 0; - } - } else { - swiper.velocity = 0; - } - swiper.velocity *= params.freeMode.momentumVelocityRatio; - data.velocities.length = 0; - let momentumDuration = 1000 * params.freeMode.momentumRatio; - const momentumDistance = swiper.velocity * momentumDuration; - let newPosition = swiper.translate + momentumDistance; - if (rtl) newPosition = -newPosition; - let doBounce = false; - let afterBouncePosition; - const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio; - let needsLoopFix; - if (newPosition < swiper.maxTranslate()) { - if (params.freeMode.momentumBounce) { - if (newPosition + swiper.maxTranslate() < -bounceAmount) { - newPosition = swiper.maxTranslate() - bounceAmount; - } - afterBouncePosition = swiper.maxTranslate(); - doBounce = true; - data.allowMomentumBounce = true; - } else { - newPosition = swiper.maxTranslate(); - } - if (params.loop && params.centeredSlides) needsLoopFix = true; - } else if (newPosition > swiper.minTranslate()) { - if (params.freeMode.momentumBounce) { - if (newPosition - swiper.minTranslate() > bounceAmount) { - newPosition = swiper.minTranslate() + bounceAmount; - } - afterBouncePosition = swiper.minTranslate(); - doBounce = true; - data.allowMomentumBounce = true; - } else { - newPosition = swiper.minTranslate(); - } - if (params.loop && params.centeredSlides) needsLoopFix = true; - } else if (params.freeMode.sticky) { - let nextSlide; - for (let j = 0; j < snapGrid.length; j += 1) { - if (snapGrid[j] > -newPosition) { - nextSlide = j; - break; - } - } - if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') { - newPosition = snapGrid[nextSlide]; - } else { - newPosition = snapGrid[nextSlide - 1]; - } - newPosition = -newPosition; - } - if (needsLoopFix) { - once('transitionEnd', () => { - swiper.loopFix(); - }); - } - // Fix duration - if (swiper.velocity !== 0) { - if (rtl) { - momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity); - } else { - momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity); - } - if (params.freeMode.sticky) { - // If freeMode.sticky is active and the user ends a swipe with a slow-velocity - // event, then durations can be 20+ seconds to slide one (or zero!) slides. - // It's easy to see this when simulating touch with mouse events. To fix this, - // limit single-slide swipes to the default slide duration. This also has the - // nice side effect of matching slide speed if the user stopped moving before - // lifting finger or mouse vs. moving slowly before lifting the finger/mouse. - // For faster swipes, also apply limits (albeit higher ones). - const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate); - const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex]; - if (moveDistance < currentSlideSize) { - momentumDuration = params.speed; - } else if (moveDistance < 2 * currentSlideSize) { - momentumDuration = params.speed * 1.5; - } else { - momentumDuration = params.speed * 2.5; - } - } - } else if (params.freeMode.sticky) { - swiper.slideToClosest(); - return; - } - if (params.freeMode.momentumBounce && doBounce) { - swiper.updateProgress(afterBouncePosition); - swiper.setTransition(momentumDuration); - swiper.setTranslate(newPosition); - swiper.transitionStart(true, swiper.swipeDirection); - swiper.animating = true; - elementTransitionEnd(wrapperEl, () => { - if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return; - emit('momentumBounce'); - swiper.setTransition(params.speed); - setTimeout(() => { - swiper.setTranslate(afterBouncePosition); - elementTransitionEnd(wrapperEl, () => { - if (!swiper || swiper.destroyed) return; - swiper.transitionEnd(); - }); - }, 0); - }); - } else if (swiper.velocity) { - emit('_freeModeNoMomentumRelease'); - swiper.updateProgress(newPosition); - swiper.setTransition(momentumDuration); - swiper.setTranslate(newPosition); - swiper.transitionStart(true, swiper.swipeDirection); - if (!swiper.animating) { - swiper.animating = true; - elementTransitionEnd(wrapperEl, () => { - if (!swiper || swiper.destroyed) return; - swiper.transitionEnd(); - }); - } - } else { - swiper.updateProgress(newPosition); - } - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } else if (params.freeMode.sticky) { - swiper.slideToClosest(); - return; - } else if (params.freeMode) { - emit('_freeModeNoMomentumRelease'); - } - if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) { - emit('_freeModeStaticRelease'); - swiper.updateProgress(); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - } - Object.assign(swiper, { - freeMode: { - onTouchStart, - onTouchMove, - onTouchEnd - } - }); - } - - function Grid(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - grid: { - rows: 1, - fill: 'column' - } - }); - let slidesNumberEvenToRows; - let slidesPerRow; - let numFullColumns; - let wasMultiRow; - const getSpaceBetween = () => { - let spaceBetween = swiper.params.spaceBetween; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - return spaceBetween; - }; - const initSlides = slides => { - const { - slidesPerView - } = swiper.params; - const { - rows, - fill - } = swiper.params.grid; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length; - numFullColumns = Math.floor(slidesLength / rows); - if (Math.floor(slidesLength / rows) === slidesLength / rows) { - slidesNumberEvenToRows = slidesLength; - } else { - slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows; - } - if (slidesPerView !== 'auto' && fill === 'row') { - slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows); - } - slidesPerRow = slidesNumberEvenToRows / rows; - }; - const unsetSlides = () => { - if (swiper.slides) { - swiper.slides.forEach(slide => { - if (slide.swiperSlideGridSet) { - slide.style.height = ''; - slide.style[swiper.getDirectionLabel('margin-top')] = ''; - } - }); - } - }; - const updateSlide = (i, slide, slides) => { - const { - slidesPerGroup - } = swiper.params; - const spaceBetween = getSpaceBetween(); - const { - rows, - fill - } = swiper.params.grid; - const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length; - // Set slides order - let newSlideOrderIndex; - let column; - let row; - if (fill === 'row' && slidesPerGroup > 1) { - const groupIndex = Math.floor(i / (slidesPerGroup * rows)); - const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex; - const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup); - row = Math.floor(slideIndexInGroup / columnsInGroup); - column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup; - newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows; - slide.style.order = newSlideOrderIndex; - } else if (fill === 'column') { - column = Math.floor(i / rows); - row = i - column * rows; - if (column > numFullColumns || column === numFullColumns && row === rows - 1) { - row += 1; - if (row >= rows) { - row = 0; - column += 1; - } - } - } else { - row = Math.floor(i / slidesPerRow); - column = i - row * slidesPerRow; - } - slide.row = row; - slide.column = column; - slide.style.height = `calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`; - slide.style[swiper.getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : ''; - slide.swiperSlideGridSet = true; - }; - const updateWrapperSize = (slideSize, snapGrid) => { - const { - centeredSlides, - roundLengths - } = swiper.params; - const spaceBetween = getSpaceBetween(); - const { - rows - } = swiper.params.grid; - swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows; - swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween; - if (!swiper.params.cssMode) { - swiper.wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; - } - if (centeredSlides) { - const newSlidesGrid = []; - for (let i = 0; i < snapGrid.length; i += 1) { - let slidesGridItem = snapGrid[i]; - if (roundLengths) slidesGridItem = Math.floor(slidesGridItem); - if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem); - } - snapGrid.splice(0, snapGrid.length); - snapGrid.push(...newSlidesGrid); - } - }; - const onInit = () => { - wasMultiRow = swiper.params.grid && swiper.params.grid.rows > 1; - }; - const onUpdate = () => { - const { - params, - el - } = swiper; - const isMultiRow = params.grid && params.grid.rows > 1; - if (wasMultiRow && !isMultiRow) { - el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); - numFullColumns = 1; - swiper.emitContainerClasses(); - } else if (!wasMultiRow && isMultiRow) { - el.classList.add(`${params.containerModifierClass}grid`); - if (params.grid.fill === 'column') { - el.classList.add(`${params.containerModifierClass}grid-column`); - } - swiper.emitContainerClasses(); - } - wasMultiRow = isMultiRow; - }; - on('init', onInit); - on('update', onUpdate); - swiper.grid = { - initSlides, - unsetSlides, - updateSlide, - updateWrapperSize - }; - } - - function appendSlide(slides) { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (params.loop) { - swiper.loopDestroy(); - } - const appendElement = slideEl => { - if (typeof slideEl === 'string') { - const tempDOM = document.createElement('div'); - tempDOM.innerHTML = slideEl; - slidesEl.append(tempDOM.children[0]); - tempDOM.innerHTML = ''; - } else { - slidesEl.append(slideEl); - } - }; - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) appendElement(slides[i]); - } - } else { - appendElement(slides); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - } - - function prependSlide(slides) { - const swiper = this; - const { - params, - activeIndex, - slidesEl - } = swiper; - if (params.loop) { - swiper.loopDestroy(); - } - let newActiveIndex = activeIndex + 1; - const prependElement = slideEl => { - if (typeof slideEl === 'string') { - const tempDOM = document.createElement('div'); - tempDOM.innerHTML = slideEl; - slidesEl.prepend(tempDOM.children[0]); - tempDOM.innerHTML = ''; - } else { - slidesEl.prepend(slideEl); - } - }; - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) prependElement(slides[i]); - } - newActiveIndex = activeIndex + slides.length; - } else { - prependElement(slides); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - swiper.slideTo(newActiveIndex, 0, false); - } - - function addSlide(index, slides) { - const swiper = this; - const { - params, - activeIndex, - slidesEl - } = swiper; - let activeIndexBuffer = activeIndex; - if (params.loop) { - activeIndexBuffer -= swiper.loopedSlides; - swiper.loopDestroy(); - swiper.recalcSlides(); - } - const baseLength = swiper.slides.length; - if (index <= 0) { - swiper.prependSlide(slides); - return; - } - if (index >= baseLength) { - swiper.appendSlide(slides); - return; - } - let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer; - const slidesBuffer = []; - for (let i = baseLength - 1; i >= index; i -= 1) { - const currentSlide = swiper.slides[i]; - currentSlide.remove(); - slidesBuffer.unshift(currentSlide); - } - if (typeof slides === 'object' && 'length' in slides) { - for (let i = 0; i < slides.length; i += 1) { - if (slides[i]) slidesEl.append(slides[i]); - } - newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer; - } else { - slidesEl.append(slides); - } - for (let i = 0; i < slidesBuffer.length; i += 1) { - slidesEl.append(slidesBuffer[i]); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - if (params.loop) { - swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); - } else { - swiper.slideTo(newActiveIndex, 0, false); - } - } - - function removeSlide(slidesIndexes) { - const swiper = this; - const { - params, - activeIndex - } = swiper; - let activeIndexBuffer = activeIndex; - if (params.loop) { - activeIndexBuffer -= swiper.loopedSlides; - swiper.loopDestroy(); - } - let newActiveIndex = activeIndexBuffer; - let indexToRemove; - if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) { - for (let i = 0; i < slidesIndexes.length; i += 1) { - indexToRemove = slidesIndexes[i]; - if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove(); - if (indexToRemove < newActiveIndex) newActiveIndex -= 1; - } - newActiveIndex = Math.max(newActiveIndex, 0); - } else { - indexToRemove = slidesIndexes; - if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove(); - if (indexToRemove < newActiveIndex) newActiveIndex -= 1; - newActiveIndex = Math.max(newActiveIndex, 0); - } - swiper.recalcSlides(); - if (params.loop) { - swiper.loopCreate(); - } - if (!params.observer || swiper.isElement) { - swiper.update(); - } - if (params.loop) { - swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); - } else { - swiper.slideTo(newActiveIndex, 0, false); - } - } - - function removeAllSlides() { - const swiper = this; - const slidesIndexes = []; - for (let i = 0; i < swiper.slides.length; i += 1) { - slidesIndexes.push(i); - } - swiper.removeSlide(slidesIndexes); - } - - function Manipulation(_ref) { - let { - swiper - } = _ref; - Object.assign(swiper, { - appendSlide: appendSlide.bind(swiper), - prependSlide: prependSlide.bind(swiper), - addSlide: addSlide.bind(swiper), - removeSlide: removeSlide.bind(swiper), - removeAllSlides: removeAllSlides.bind(swiper) - }); - } - - function effectInit(params) { - const { - effect, - swiper, - on, - setTranslate, - setTransition, - overwriteParams, - perspective, - recreateShadows, - getEffectParams - } = params; - on('beforeInit', () => { - if (swiper.params.effect !== effect) return; - swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`); - if (perspective && perspective()) { - swiper.classNames.push(`${swiper.params.containerModifierClass}3d`); - } - const overwriteParamsResult = overwriteParams ? overwriteParams() : {}; - Object.assign(swiper.params, overwriteParamsResult); - Object.assign(swiper.originalParams, overwriteParamsResult); - }); - on('setTranslate', () => { - if (swiper.params.effect !== effect) return; - setTranslate(); - }); - on('setTransition', (_s, duration) => { - if (swiper.params.effect !== effect) return; - setTransition(duration); - }); - on('transitionEnd', () => { - if (swiper.params.effect !== effect) return; - if (recreateShadows) { - if (!getEffectParams || !getEffectParams().slideShadows) return; - // remove shadows - swiper.slides.forEach(slideEl => { - slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove()); - }); - // create new one - recreateShadows(); - } - }); - let requireUpdateOnVirtual; - on('virtualUpdate', () => { - if (swiper.params.effect !== effect) return; - if (!swiper.slides.length) { - requireUpdateOnVirtual = true; - } - requestAnimationFrame(() => { - if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) { - setTranslate(); - requireUpdateOnVirtual = false; - } - }); - }); - } - - function effectTarget(effectParams, slideEl) { - const transformEl = getSlideTransformEl(slideEl); - if (transformEl !== slideEl) { - transformEl.style.backfaceVisibility = 'hidden'; - transformEl.style['-webkit-backface-visibility'] = 'hidden'; - } - return transformEl; - } - - function effectVirtualTransitionEnd(_ref) { - let { - swiper, - duration, - transformElements, - allSlides - } = _ref; - const { - activeIndex - } = swiper; - const getSlide = el => { - if (!el.parentElement) { - // assume shadow root - const slide = swiper.slides.filter(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode)[0]; - return slide; - } - return el.parentElement; - }; - if (swiper.params.virtualTranslate && duration !== 0) { - let eventTriggered = false; - let transitionEndTarget; - if (allSlides) { - transitionEndTarget = transformElements; - } else { - transitionEndTarget = transformElements.filter(transformEl => { - const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl; - return swiper.getSlideIndex(el) === activeIndex; - }); - } - transitionEndTarget.forEach(el => { - elementTransitionEnd(el, () => { - if (eventTriggered) return; - if (!swiper || swiper.destroyed) return; - eventTriggered = true; - swiper.animating = false; - const evt = new window.CustomEvent('transitionend', { - bubbles: true, - cancelable: true - }); - swiper.wrapperEl.dispatchEvent(evt); - }); - }); - } - } - - function EffectFade(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - fadeEffect: { - crossFade: false - } - }); - const setTranslate = () => { - const { - slides - } = swiper; - const params = swiper.params.fadeEffect; - for (let i = 0; i < slides.length; i += 1) { - const slideEl = swiper.slides[i]; - const offset = slideEl.swiperSlideOffset; - let tx = -offset; - if (!swiper.params.virtualTranslate) tx -= swiper.translate; - let ty = 0; - if (!swiper.isHorizontal()) { - ty = tx; - tx = 0; - } - const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0); - const targetEl = effectTarget(params, slideEl); - targetEl.style.opacity = slideOpacity; - targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`; - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements, - allSlides: true - }); - }; - effectInit({ - effect: 'fade', - swiper, - on, - setTranslate, - setTransition, - overwriteParams: () => ({ - slidesPerView: 1, - slidesPerGroup: 1, - watchSlidesProgress: true, - spaceBetween: 0, - virtualTranslate: !swiper.params.cssMode - }) - }); - } - - function EffectCube(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - cubeEffect: { - slideShadows: true, - shadow: true, - shadowOffset: 20, - shadowScale: 0.94 - } - }); - const createSlideShadows = (slideEl, progress, isHorizontal) => { - let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); - let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); - if (!shadowBefore) { - shadowBefore = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`.split(' ')); - slideEl.append(shadowBefore); - } - if (!shadowAfter) { - shadowAfter = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`.split(' ')); - slideEl.append(shadowAfter); - } - if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0); - if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0); - }; - const recreateShadows = () => { - // create new ones - const isHorizontal = swiper.isHorizontal(); - swiper.slides.forEach(slideEl => { - const progress = Math.max(Math.min(slideEl.progress, 1), -1); - createSlideShadows(slideEl, progress, isHorizontal); - }); - }; - const setTranslate = () => { - const { - el, - wrapperEl, - slides, - width: swiperWidth, - height: swiperHeight, - rtlTranslate: rtl, - size: swiperSize, - browser - } = swiper; - const params = swiper.params.cubeEffect; - const isHorizontal = swiper.isHorizontal(); - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - let wrapperRotate = 0; - let cubeShadowEl; - if (params.shadow) { - if (isHorizontal) { - cubeShadowEl = swiper.wrapperEl.querySelector('.swiper-cube-shadow'); - if (!cubeShadowEl) { - cubeShadowEl = createElement('div', 'swiper-cube-shadow'); - swiper.wrapperEl.append(cubeShadowEl); - } - cubeShadowEl.style.height = `${swiperWidth}px`; - } else { - cubeShadowEl = el.querySelector('.swiper-cube-shadow'); - if (!cubeShadowEl) { - cubeShadowEl = createElement('div', 'swiper-cube-shadow'); - el.append(cubeShadowEl); - } - } - } - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - let slideIndex = i; - if (isVirtual) { - slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10); - } - let slideAngle = slideIndex * 90; - let round = Math.floor(slideAngle / 360); - if (rtl) { - slideAngle = -slideAngle; - round = Math.floor(-slideAngle / 360); - } - const progress = Math.max(Math.min(slideEl.progress, 1), -1); - let tx = 0; - let ty = 0; - let tz = 0; - if (slideIndex % 4 === 0) { - tx = -round * 4 * swiperSize; - tz = 0; - } else if ((slideIndex - 1) % 4 === 0) { - tx = 0; - tz = -round * 4 * swiperSize; - } else if ((slideIndex - 2) % 4 === 0) { - tx = swiperSize + round * 4 * swiperSize; - tz = swiperSize; - } else if ((slideIndex - 3) % 4 === 0) { - tx = -swiperSize; - tz = 3 * swiperSize + swiperSize * 4 * round; - } - if (rtl) { - tx = -tx; - } - if (!isHorizontal) { - ty = tx; - tx = 0; - } - const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`; - if (progress <= 1 && progress > -1) { - wrapperRotate = slideIndex * 90 + progress * 90; - if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90; - if (swiper.browser && swiper.browser.need3dFix && Math.abs(wrapperRotate) / 90 % 2 === 1) { - wrapperRotate += 0.001; - } - } - slideEl.style.transform = transform; - if (params.slideShadows) { - createSlideShadows(slideEl, progress, isHorizontal); - } - } - wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`; - wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`; - if (params.shadow) { - if (isHorizontal) { - cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`; - } else { - const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90; - const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2); - const scale1 = params.shadowScale; - const scale2 = params.shadowScale / multiplier; - const offset = params.shadowOffset; - cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`; - } - } - const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0; - wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`; - wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`); - }; - const setTransition = duration => { - const { - el, - slides - } = swiper; - slides.forEach(slideEl => { - slideEl.style.transitionDuration = `${duration}ms`; - slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => { - subEl.style.transitionDuration = `${duration}ms`; - }); - }); - if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) { - const shadowEl = el.querySelector('.swiper-cube-shadow'); - if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`; - } - }; - effectInit({ - effect: 'cube', - swiper, - on, - setTranslate, - setTransition, - recreateShadows, - getEffectParams: () => swiper.params.cubeEffect, - perspective: () => true, - overwriteParams: () => ({ - slidesPerView: 1, - slidesPerGroup: 1, - watchSlidesProgress: true, - resistanceRatio: 0, - spaceBetween: 0, - centeredSlides: false, - virtualTranslate: true - }) - }); - } - - function createShadow(suffix, slideEl, side) { - const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`; - const shadowContainer = getSlideTransformEl(slideEl); - let shadowEl = shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`); - if (!shadowEl) { - shadowEl = createElement('div', shadowClass.split(' ')); - shadowContainer.append(shadowEl); - } - return shadowEl; - } - - function EffectFlip(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - flipEffect: { - slideShadows: true, - limitRotation: true - } - }); - const createSlideShadows = (slideEl, progress) => { - let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); - let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); - if (!shadowBefore) { - shadowBefore = createShadow('flip', slideEl, swiper.isHorizontal() ? 'left' : 'top'); - } - if (!shadowAfter) { - shadowAfter = createShadow('flip', slideEl, swiper.isHorizontal() ? 'right' : 'bottom'); - } - if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0); - if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0); - }; - const recreateShadows = () => { - // Set shadows - swiper.params.flipEffect; - swiper.slides.forEach(slideEl => { - let progress = slideEl.progress; - if (swiper.params.flipEffect.limitRotation) { - progress = Math.max(Math.min(slideEl.progress, 1), -1); - } - createSlideShadows(slideEl, progress); - }); - }; - const setTranslate = () => { - const { - slides, - rtlTranslate: rtl - } = swiper; - const params = swiper.params.flipEffect; - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - let progress = slideEl.progress; - if (swiper.params.flipEffect.limitRotation) { - progress = Math.max(Math.min(slideEl.progress, 1), -1); - } - const offset = slideEl.swiperSlideOffset; - const rotate = -180 * progress; - let rotateY = rotate; - let rotateX = 0; - let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset; - let ty = 0; - if (!swiper.isHorizontal()) { - ty = tx; - tx = 0; - rotateX = -rotateY; - rotateY = 0; - } else if (rtl) { - rotateY = -rotateY; - } - if (swiper.browser && swiper.browser.need3dFix) { - if (Math.abs(rotateY) / 90 % 2 === 1) { - rotateY += 0.001; - } - if (Math.abs(rotateX) / 90 % 2 === 1) { - rotateX += 0.001; - } - } - slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length; - if (params.slideShadows) { - createSlideShadows(slideEl, progress); - } - const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`; - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = transform; - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements - }); - }; - effectInit({ - effect: 'flip', - swiper, - on, - setTranslate, - setTransition, - recreateShadows, - getEffectParams: () => swiper.params.flipEffect, - perspective: () => true, - overwriteParams: () => ({ - slidesPerView: 1, - slidesPerGroup: 1, - watchSlidesProgress: true, - spaceBetween: 0, - virtualTranslate: !swiper.params.cssMode - }) - }); - } - - function EffectCoverflow(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - coverflowEffect: { - rotate: 50, - stretch: 0, - depth: 100, - scale: 1, - modifier: 1, - slideShadows: true - } - }); - const setTranslate = () => { - const { - width: swiperWidth, - height: swiperHeight, - slides, - slidesSizesGrid - } = swiper; - const params = swiper.params.coverflowEffect; - const isHorizontal = swiper.isHorizontal(); - const transform = swiper.translate; - const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2; - const rotate = isHorizontal ? params.rotate : -params.rotate; - const translate = params.depth; - // Each slide offset from center - for (let i = 0, length = slides.length; i < length; i += 1) { - const slideEl = slides[i]; - const slideSize = slidesSizesGrid[i]; - const slideOffset = slideEl.swiperSlideOffset; - const centerOffset = (center - slideOffset - slideSize / 2) / slideSize; - const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier; - let rotateY = isHorizontal ? rotate * offsetMultiplier : 0; - let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; - // var rotateZ = 0 - let translateZ = -translate * Math.abs(offsetMultiplier); - let stretch = params.stretch; - // Allow percentage to make a relative stretch for responsive sliders - if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) { - stretch = parseFloat(params.stretch) / 100 * slideSize; - } - let translateY = isHorizontal ? 0 : stretch * offsetMultiplier; - let translateX = isHorizontal ? stretch * offsetMultiplier : 0; - let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); - - // Fix for ultra small values - if (Math.abs(translateX) < 0.001) translateX = 0; - if (Math.abs(translateY) < 0.001) translateY = 0; - if (Math.abs(translateZ) < 0.001) translateZ = 0; - if (Math.abs(rotateY) < 0.001) rotateY = 0; - if (Math.abs(rotateX) < 0.001) rotateX = 0; - if (Math.abs(scale) < 0.001) scale = 0; - if (swiper.browser && swiper.browser.need3dFix) { - if (Math.abs(rotateY) / 90 % 2 === 1) { - rotateY += 0.001; - } - if (Math.abs(rotateX) / 90 % 2 === 1) { - rotateX += 0.001; - } - } - const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`; - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = slideTransform; - slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; - if (params.slideShadows) { - // Set shadows - let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); - let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); - if (!shadowBeforeEl) { - shadowBeforeEl = createShadow('coverflow', slideEl, isHorizontal ? 'left' : 'top'); - } - if (!shadowAfterEl) { - shadowAfterEl = createShadow('coverflow', slideEl, isHorizontal ? 'right' : 'bottom'); - } - if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; - if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0; - } - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - }; - effectInit({ - effect: 'coverflow', - swiper, - on, - setTranslate, - setTransition, - perspective: () => true, - overwriteParams: () => ({ - watchSlidesProgress: true - }) - }); - } - - function EffectCreative(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - creativeEffect: { - limitProgress: 1, - shadowPerProgress: false, - progressMultiplier: 1, - perspective: true, - prev: { - translate: [0, 0, 0], - rotate: [0, 0, 0], - opacity: 1, - scale: 1 - }, - next: { - translate: [0, 0, 0], - rotate: [0, 0, 0], - opacity: 1, - scale: 1 - } - } - }); - const getTranslateValue = value => { - if (typeof value === 'string') return value; - return `${value}px`; - }; - const setTranslate = () => { - const { - slides, - wrapperEl, - slidesSizesGrid - } = swiper; - const params = swiper.params.creativeEffect; - const { - progressMultiplier: multiplier - } = params; - const isCenteredSlides = swiper.params.centeredSlides; - if (isCenteredSlides) { - const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0; - wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`; - } - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - const slideProgress = slideEl.progress; - const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress); - let originalProgress = progress; - if (!isCenteredSlides) { - originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress); - } - const offset = slideEl.swiperSlideOffset; - const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0]; - const r = [0, 0, 0]; - let custom = false; - if (!swiper.isHorizontal()) { - t[1] = t[0]; - t[0] = 0; - } - let data = { - translate: [0, 0, 0], - rotate: [0, 0, 0], - scale: 1, - opacity: 1 - }; - if (progress < 0) { - data = params.next; - custom = true; - } else if (progress > 0) { - data = params.prev; - custom = true; - } - // set translate - t.forEach((value, index) => { - t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`; - }); - // set rotates - r.forEach((value, index) => { - let val = data.rotate[index] * Math.abs(progress * multiplier); - if (swiper.browser && swiper.browser.need3dFix && Math.abs(val) / 90 % 2 === 1) { - val += 0.001; - } - r[index] = val; - }); - slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; - const translateString = t.join(', '); - const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`; - const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`; - const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier; - const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; - - // Set shadows - if (custom && data.shadow || !custom) { - let shadowEl = slideEl.querySelector('.swiper-slide-shadow'); - if (!shadowEl && data.shadow) { - shadowEl = createShadow('creative', slideEl); - } - if (shadowEl) { - const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress; - shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1); - } - } - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = transform; - targetEl.style.opacity = opacityString; - if (data.origin) { - targetEl.style.transformOrigin = data.origin; - } - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements, - allSlides: true - }); - }; - effectInit({ - effect: 'creative', - swiper, - on, - setTranslate, - setTransition, - perspective: () => swiper.params.creativeEffect.perspective, - overwriteParams: () => ({ - watchSlidesProgress: true, - virtualTranslate: !swiper.params.cssMode - }) - }); - } - - function EffectCards(_ref) { - let { - swiper, - extendParams, - on - } = _ref; - extendParams({ - cardsEffect: { - slideShadows: true, - rotate: true, - perSlideRotate: 2, - perSlideOffset: 8 - } - }); - const setTranslate = () => { - const { - slides, - activeIndex, - rtlTranslate: rtl - } = swiper; - const params = swiper.params.cardsEffect; - const { - startTranslate, - isTouched - } = swiper.touchEventsData; - const currentTranslate = rtl ? -swiper.translate : swiper.translate; - for (let i = 0; i < slides.length; i += 1) { - const slideEl = slides[i]; - const slideProgress = slideEl.progress; - const progress = Math.min(Math.max(slideProgress, -4), 4); - let offset = slideEl.swiperSlideOffset; - if (swiper.params.centeredSlides && !swiper.params.cssMode) { - swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`; - } - if (swiper.params.centeredSlides && swiper.params.cssMode) { - offset -= slides[0].swiperSlideOffset; - } - let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset; - let tY = 0; - const tZ = -100 * Math.abs(progress); - let scale = 1; - let rotate = -params.perSlideRotate * progress; - let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75; - const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i; - const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate; - const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate; - if (isSwipeToNext || isSwipeToPrev) { - const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5; - rotate += -28 * progress * subProgress; - scale += -0.5 * subProgress; - tXAdd += 96 * subProgress; - tY = `${-25 * subProgress * Math.abs(progress)}%`; - } - if (progress < 0) { - // next - tX = `calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`; - } else if (progress > 0) { - // prev - tX = `calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`; - } else { - tX = `${tX}px`; - } - if (!swiper.isHorizontal()) { - const prevY = tY; - tY = tX; - tX = prevY; - } - const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`; - - /* eslint-disable */ - const transform = ` - translate3d(${tX}, ${tY}, ${tZ}px) - rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg) - scale(${scaleString}) - `; - /* eslint-enable */ - - if (params.slideShadows) { - // Set shadows - let shadowEl = slideEl.querySelector('.swiper-slide-shadow'); - if (!shadowEl) { - shadowEl = createShadow('cards', slideEl); - } - if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1); - } - slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; - const targetEl = effectTarget(params, slideEl); - targetEl.style.transform = transform; - } - }; - const setTransition = duration => { - const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); - transformElements.forEach(el => { - el.style.transitionDuration = `${duration}ms`; - el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => { - shadowEl.style.transitionDuration = `${duration}ms`; - }); - }); - effectVirtualTransitionEnd({ - swiper, - duration, - transformElements - }); - }; - effectInit({ - effect: 'cards', - swiper, - on, - setTranslate, - setTransition, - perspective: () => true, - overwriteParams: () => ({ - watchSlidesProgress: true, - virtualTranslate: !swiper.params.cssMode - }) - }); - } - - /** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - - - // Swiper Class - const modules = [Virtual, Keyboard, Mousewheel, Navigation, Pagination, Scrollbar, Parallax, Zoom, Controller, A11y, History, HashNavigation, Autoplay, Thumb, freeMode, Grid, Manipulation, EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCreative, EffectCards]; - Swiper.use(modules); - - /* underscore in name -> watch for changes */ - const paramsList = ['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', - // modules - 'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control']; - - function isObject(o) { - return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object' && !o.__swiper__; - } - function extend(target, src) { - const noExtend = ['__proto__', 'constructor', 'prototype']; - Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => { - if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) { - if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]); - } else { - target[key] = src[key]; - } - }); - } - function needsNavigation(params) { - if (params === void 0) { - params = {}; - } - return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined'; - } - function needsPagination(params) { - if (params === void 0) { - params = {}; - } - return params.pagination && typeof params.pagination.el === 'undefined'; - } - function needsScrollbar(params) { - if (params === void 0) { - params = {}; - } - return params.scrollbar && typeof params.scrollbar.el === 'undefined'; - } - function attrToProp(attrName) { - if (attrName === void 0) { - attrName = ''; - } - return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', '')); - } - - function updateSwiper(_ref) { - let { - swiper, - slides, - passedParams, - changedParams, - nextEl, - prevEl, - scrollbarEl, - paginationEl - } = _ref; - const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass'); - const { - params: currentParams, - pagination, - navigation, - scrollbar, - virtual, - thumbs - } = swiper; - let needThumbsInit; - let needControllerInit; - let needPaginationInit; - let needScrollbarInit; - let needNavigationInit; - let loopNeedDestroy; - let loopNeedEnable; - let loopNeedReloop; - if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && currentParams.thumbs && !currentParams.thumbs.swiper) { - needThumbsInit = true; - } - if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) { - needControllerInit = true; - } - if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) { - needPaginationInit = true; - } - if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) { - needScrollbarInit = true; - } - if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) { - needNavigationInit = true; - } - const destroyModule = mod => { - if (!swiper[mod]) return; - swiper[mod].destroy(); - if (mod === 'navigation') { - if (swiper.isElement) { - swiper[mod].prevEl.remove(); - swiper[mod].nextEl.remove(); - } - currentParams[mod].prevEl = undefined; - currentParams[mod].nextEl = undefined; - swiper[mod].prevEl = undefined; - swiper[mod].nextEl = undefined; - } else { - if (swiper.isElement) { - swiper[mod].el.remove(); - } - currentParams[mod].el = undefined; - swiper[mod].el = undefined; - } - }; - if (changedParams.includes('loop') && swiper.isElement) { - if (currentParams.loop && !passedParams.loop) { - loopNeedDestroy = true; - } else if (!currentParams.loop && passedParams.loop) { - loopNeedEnable = true; - } else { - loopNeedReloop = true; - } - } - updateParams.forEach(key => { - if (isObject(currentParams[key]) && isObject(passedParams[key])) { - Object.assign(currentParams[key], passedParams[key]); - if ((key === 'navigation' || key === 'pagination' || key === 'scrollbar') && 'enabled' in passedParams[key] && !passedParams[key].enabled) { - destroyModule(key); - } - } else { - const newValue = passedParams[key]; - if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) { - if (newValue === false) { - destroyModule(key); - } - } else { - currentParams[key] = passedParams[key]; - } - } - }); - if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) { - swiper.controller.control = currentParams.controller.control; - } - if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) { - virtual.slides = slides; - virtual.update(true); - } else if (changedParams.includes('virtual') && virtual && currentParams.virtual.enabled) { - if (slides) virtual.slides = slides; - virtual.update(true); - } - if (changedParams.includes('children') && slides && currentParams.loop) { - loopNeedReloop = true; - } - if (needThumbsInit) { - const initialized = thumbs.init(); - if (initialized) thumbs.update(true); - } - if (needControllerInit) { - swiper.controller.control = currentParams.controller.control; - } - if (needPaginationInit) { - if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) { - paginationEl = document.createElement('div'); - paginationEl.classList.add('swiper-pagination'); - paginationEl.part.add('pagination'); - swiper.el.appendChild(paginationEl); - } - if (paginationEl) currentParams.pagination.el = paginationEl; - pagination.init(); - pagination.render(); - pagination.update(); - } - if (needScrollbarInit) { - if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) { - scrollbarEl = document.createElement('div'); - scrollbarEl.classList.add('swiper-scrollbar'); - scrollbarEl.part.add('scrollbar'); - swiper.el.appendChild(scrollbarEl); - } - if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl; - scrollbar.init(); - scrollbar.updateSize(); - scrollbar.setTranslate(); - } - if (needNavigationInit) { - if (swiper.isElement) { - if (!nextEl || typeof nextEl === 'string') { - nextEl = document.createElement('div'); - nextEl.classList.add('swiper-button-next'); - nextEl.innerHTML = swiper.hostEl.constructor.nextButtonSvg; - nextEl.part.add('button-next'); - swiper.el.appendChild(nextEl); - } - if (!prevEl || typeof prevEl === 'string') { - prevEl = document.createElement('div'); - prevEl.classList.add('swiper-button-prev'); - prevEl.innerHTML = swiper.hostEl.constructor.prevButtonSvg; - prevEl.part.add('button-prev'); - swiper.el.appendChild(prevEl); - } - } - if (nextEl) currentParams.navigation.nextEl = nextEl; - if (prevEl) currentParams.navigation.prevEl = prevEl; - navigation.init(); - navigation.update(); - } - if (changedParams.includes('allowSlideNext')) { - swiper.allowSlideNext = passedParams.allowSlideNext; - } - if (changedParams.includes('allowSlidePrev')) { - swiper.allowSlidePrev = passedParams.allowSlidePrev; - } - if (changedParams.includes('direction')) { - swiper.changeDirection(passedParams.direction, false); - } - if (loopNeedDestroy || loopNeedReloop) { - swiper.loopDestroy(); - } - if (loopNeedEnable || loopNeedReloop) { - swiper.loopCreate(); - } - swiper.update(); - } - - const formatValue = val => { - if (parseFloat(val) === Number(val)) return Number(val); - if (val === 'true') return true; - if (val === '') return true; - if (val === 'false') return false; - if (val === 'null') return null; - if (val === 'undefined') return undefined; - if (typeof val === 'string' && val.includes('{') && val.includes('}') && val.includes('"')) { - let v; - try { - v = JSON.parse(val); - } catch (err) { - v = val; - } - return v; - } - return val; - }; - const modulesParamsList = ['a11y', 'autoplay', 'controller', 'cards-effect', 'coverflow-effect', 'creative-effect', 'cube-effect', 'fade-effect', 'flip-effect', 'free-mode', 'grid', 'hash-navigation', 'history', 'keyboard', 'mousewheel', 'navigation', 'pagination', 'parallax', 'scrollbar', 'thumbs', 'virtual', 'zoom']; - function getParams(element, propName, propValue) { - const params = {}; - const passedParams = {}; - extend(params, defaults); - const localParamsList = [...paramsList, 'on']; - const allowedParams = localParamsList.map(key => key.replace(/_/, '')); - - // First check props - localParamsList.forEach(paramName => { - paramName = paramName.replace('_', ''); - if (typeof element[paramName] !== 'undefined') { - passedParams[paramName] = element[paramName]; - } - }); - - // Attributes - const attrsList = [...element.attributes]; - if (typeof propName === 'string' && typeof propValue !== 'undefined') { - attrsList.push({ - name: propName, - value: isObject(propValue) ? { - ...propValue - } : propValue - }); - } - attrsList.forEach(attr => { - const moduleParam = modulesParamsList.filter(mParam => attr.name.indexOf(`${mParam}-`) === 0)[0]; - if (moduleParam) { - const parentObjName = attrToProp(moduleParam); - const subObjName = attrToProp(attr.name.split(`${moduleParam}-`)[1]); - if (typeof passedParams[parentObjName] === 'undefined') passedParams[parentObjName] = {}; - if (passedParams[parentObjName] === true) { - passedParams[parentObjName] = { - enabled: true - }; - } - passedParams[parentObjName][subObjName] = formatValue(attr.value); - } else { - const name = attrToProp(attr.name); - if (!allowedParams.includes(name)) return; - const value = formatValue(attr.value); - if (passedParams[name] && modulesParamsList.includes(attr.name) && !isObject(value)) { - if (passedParams[name].constructor !== Object) { - passedParams[name] = {}; - } - passedParams[name].enabled = !!value; - } else { - passedParams[name] = value; - } - } - }); - extend(params, passedParams); - if (params.navigation) { - params.navigation = { - prevEl: '.swiper-button-prev', - nextEl: '.swiper-button-next', - ...(params.navigation !== true ? params.navigation : {}) - }; - } else if (params.navigation === false) { - delete params.navigation; - } - if (params.scrollbar) { - params.scrollbar = { - el: '.swiper-scrollbar', - ...(params.scrollbar !== true ? params.scrollbar : {}) - }; - } else if (params.scrollbar === false) { - delete params.scrollbar; - } - if (params.pagination) { - params.pagination = { - el: '.swiper-pagination', - ...(params.pagination !== true ? params.pagination : {}) - }; - } else if (params.pagination === false) { - delete params.pagination; - } - return { - params, - passedParams - }; - } - - /** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - - - /* eslint-disable spaced-comment */ - - const SwiperCSS = `:host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible}.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-creative ::slotted(swiper-slide){-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}`; - const SwiperSlideCSS = `::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}`; - - class DummyHTMLElement {} - const ClassToExtend = typeof window === 'undefined' || typeof HTMLElement === 'undefined' ? DummyHTMLElement : HTMLElement; - const arrowSvg = ` - `; - const addStyle = (shadowRoot, styles) => { - if (typeof CSSStyleSheet !== 'undefined' && shadowRoot.adoptedStyleSheets) { - const styleSheet = new CSSStyleSheet(); - styleSheet.replaceSync(styles); - shadowRoot.adoptedStyleSheets = [styleSheet]; - } else { - const style = document.createElement('style'); - style.rel = 'stylesheet'; - style.textContent = styles; - shadowRoot.appendChild(style); - } - }; - class SwiperContainer extends ClassToExtend { - constructor() { - super(); - this.attachShadow({ - mode: 'open' - }); - } - static get nextButtonSvg() { - return arrowSvg; - } - static get prevButtonSvg() { - return arrowSvg.replace('/>', ' transform-origin="center" transform="rotate(180)"/>'); - } - cssStyles() { - return [SwiperCSS, - // eslint-disable-line - ...(this.injectStyles && Array.isArray(this.injectStyles) ? this.injectStyles : [])].join('\n'); - } - cssLinks() { - return this.injectStylesUrls || []; - } - calcSlideSlots() { - const currentSideSlots = this.slideSlots || 0; - // slide slots - const slideSlotChildren = [...this.querySelectorAll(`[slot^=slide-]`)].map(child => { - return parseInt(child.getAttribute('slot').split('slide-')[1], 10); - }); - this.slideSlots = slideSlotChildren.length ? Math.max(...slideSlotChildren) + 1 : 0; - if (!this.rendered) return; - if (this.slideSlots > currentSideSlots) { - for (let i = currentSideSlots; i < this.slideSlots; i += 1) { - const slideEl = document.createElement('swiper-slide'); - slideEl.setAttribute('part', `slide slide-${i + 1}`); - const slotEl = document.createElement('slot'); - slotEl.setAttribute('name', `slide-${i + 1}`); - slideEl.appendChild(slotEl); - this.shadowRoot.querySelector('.swiper-wrapper').appendChild(slideEl); - } - } else if (this.slideSlots < currentSideSlots) { - const slides = this.swiper.slides; - for (let i = slides.length - 1; i >= 0; i -= 1) { - if (i > this.slideSlots) { - slides[i].remove(); - } - } - } - } - render() { - if (this.rendered) return; - this.calcSlideSlots(); - - // local styles - let localStyles = this.cssStyles(); - if (this.slideSlots > 0) { - localStyles = localStyles.replace(/::slotted\(([a-z-0-9.]*)\)/g, '$1'); - } - if (localStyles.length) { - addStyle(this.shadowRoot, localStyles); - } - this.cssLinks().forEach(url => { - const linkExists = this.shadowRoot.querySelector(`link[href="${url}"]`); - if (linkExists) return; - const linkEl = document.createElement('link'); - linkEl.rel = 'stylesheet'; - linkEl.href = url; - this.shadowRoot.appendChild(linkEl); - }); - // prettier-ignore - const el = document.createElement('div'); - el.classList.add('swiper'); - el.part = 'container'; - - // prettier-ignore - el.innerHTML = ` - -
- - ${Array.from({ - length: this.slideSlots - }).map((_, index) => ` - - - - `).join('')} -
- - ${needsNavigation(this.passedParams) ? ` -
${this.constructor.prevButtonSvg}
-
${this.constructor.nextButtonSvg}
- ` : ''} - ${needsPagination(this.passedParams) ? ` -
- ` : ''} - ${needsScrollbar(this.passedParams) ? ` -
- ` : ''} - `; - this.shadowRoot.appendChild(el); - this.rendered = true; - } - initialize() { - var _this = this; - if (this.initialized) return; - this.initialized = true; - const { - params: swiperParams, - passedParams - } = getParams(this); - this.swiperParams = swiperParams; - this.passedParams = passedParams; - delete this.swiperParams.init; - this.render(); - - // eslint-disable-next-line - this.swiper = new Swiper(this.shadowRoot.querySelector('.swiper'), { - ...(swiperParams.virtual ? {} : { - observer: true, - observeSlideChildren: this.slideSlots > 0 - }), - ...swiperParams, - touchEventsTarget: 'container', - onAny: function (name) { - if (name === 'observerUpdate') { - _this.calcSlideSlots(); - } - const eventName = swiperParams.eventsPrefix ? `${swiperParams.eventsPrefix}${name.toLowerCase()}` : name.toLowerCase(); - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - const event = new CustomEvent(eventName, { - detail: args, - bubbles: name !== 'hashChange', - cancelable: true - }); - _this.dispatchEvent(event); - } - }); - } - connectedCallback() { - if (this.initialized && this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) { - return; - } - if (this.init === false || this.getAttribute('init') === 'false') { - return; - } - this.initialize(); - } - disconnectedCallback() { - if (this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) { - return; - } - if (this.swiper && this.swiper.destroy) { - this.swiper.destroy(); - } - this.initialized = false; - } - updateSwiperOnPropChange(propName, propValue) { - const { - params: swiperParams, - passedParams - } = getParams(this, propName, propValue); - this.passedParams = passedParams; - this.swiperParams = swiperParams; - if (this.swiper && this.swiper.params[propName] === propValue) { - return; - } - updateSwiper({ - swiper: this.swiper, - passedParams: this.passedParams, - changedParams: [attrToProp(propName)], - ...(propName === 'navigation' && passedParams[propName] ? { - prevEl: '.swiper-button-prev', - nextEl: '.swiper-button-next' - } : {}), - ...(propName === 'pagination' && passedParams[propName] ? { - paginationEl: '.swiper-pagination' - } : {}), - ...(propName === 'scrollbar' && passedParams[propName] ? { - scrollbarEl: '.swiper-scrollbar' - } : {}) - }); - } - attributeChangedCallback(attr, prevValue, newValue) { - if (!this.initialized) return; - if (prevValue === 'true' && newValue === null) { - newValue = false; - } - this.updateSwiperOnPropChange(attr, newValue); - } - static get observedAttributes() { - const attrs = paramsList.filter(param => param.includes('_')).map(param => param.replace(/[A-Z]/g, v => `-${v}`).replace('_', '').toLowerCase()); - return attrs; - } - } - paramsList.forEach(paramName => { - if (paramName === 'init') return; - paramName = paramName.replace('_', ''); - Object.defineProperty(SwiperContainer.prototype, paramName, { - configurable: true, - get() { - return (this.passedParams || {})[paramName]; - }, - set(value) { - if (!this.passedParams) this.passedParams = {}; - this.passedParams[paramName] = value; - if (!this.initialized) return; - this.updateSwiperOnPropChange(paramName, value); - } - }); - }); - class SwiperSlide extends ClassToExtend { - constructor() { - super(); - this.attachShadow({ - mode: 'open' - }); - } - render() { - const lazy = this.lazy || this.getAttribute('lazy') === '' || this.getAttribute('lazy') === 'true'; - addStyle(this.shadowRoot, SwiperSlideCSS); - this.shadowRoot.appendChild(document.createElement('slot')); - if (lazy) { - const lazyDiv = document.createElement('div'); - lazyDiv.classList.add('swiper-lazy-preloader'); - lazyDiv.part.add('preloader'); - this.shadowRoot.appendChild(lazyDiv); - } - } - initialize() { - this.render(); - } - connectedCallback() { - this.initialize(); - } - } - - // eslint-disable-next-line - const register = () => { - if (typeof window === 'undefined') return; - if (!window.customElements.get('swiper-container')) window.customElements.define('swiper-container', SwiperContainer); - if (!window.customElements.get('swiper-slide')) window.customElements.define('swiper-slide', SwiperSlide); - }; - if (typeof window !== 'undefined') { - window.SwiperElementRegisterParams = params => { - paramsList.push(...params); - }; - } - - register(); - -})(); diff --git a/node_modules/swiper/swiper-element-bundle.min.js b/node_modules/swiper/swiper-element-bundle.min.js deleted file mode 100644 index d8f2d2f..0000000 --- a/node_modules/swiper/swiper-element-bundle.min.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -!function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,i){void 0===s&&(s={}),void 0===i&&(i={}),Object.keys(i).forEach((a=>{void 0===s[a]?s[a]=i[a]:e(i[a])&&e(s[a])&&Object.keys(i[a]).length>0&&t(s[a],i[a])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function i(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const a={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,a),e}function n(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function l(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function d(e,t){void 0===t&&(t="x");const s=r();let i,a,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(a=l.transform||l.webkitTransform,a.split(",").length>6&&(a=a.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===a?"":a)):(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(",")),"x"===t&&(a=s.WebKitCSSMatrix?n.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(a=s.WebKitCSSMatrix?n.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),a||0}function p(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function c(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let i=1;it.indexOf(e)<0));for(let t=0,i=s.length;tn?"next":"prev",c=(e,t)=>"next"===p&&e>=t||"prev"===p&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let p=n+r*(s-n);if(c(p,s)&&(p=s),t.wrapperEl.scrollTo({[i]:p}),c(p,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[i]:p})})),void a.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=a.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function g(e){try{return void console.warn(e)}catch(e){}}function v(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:n(t)),s}function w(e){const t=r(),s=i(),a=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,p=e===t?t.scrollX:e.scrollLeft;return{top:a.top+d-l,left:a.left+p-o}}function b(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function y(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function x(e,t){const s=[];let i=e.parentElement;for(;i;)t?i.matches(t)&&s.push(i):s.push(i),i=i.parentElement;return s}function E(e,t){t&&e.addEventListener("transitionend",(function s(i){i.target===e&&(t.call(e,i),e.removeEventListener("transitionend",s))}))}function S(e,t,s){const i=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function T(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}let M,C,P;function L(){return M||(M=function(){const e=r(),t=i();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),M}function z(e){return void 0===e&&(e={}),C||(C=function(e){let{userAgent:t}=void 0===e?{}:e;const s=L(),i=r(),a=i.navigator.platform,n=t||i.navigator.userAgent,l={ios:!1,android:!1},o=i.screen.width,d=i.screen.height,p=n.match(/(Android);?[\s\/]+([\d.]+)?/);let c=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!c&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===a;let f="MacIntel"===a;return!c&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(c=n.match(/(Version)\/([\d.]+)/),c||(c=[0,1,"13_0_0"]),f=!1),p&&!h&&(l.os="android",l.android=!0),(c||m||u)&&(l.os="ios",l.ios=!0),l}(e)),C}function k(){return P||(P=function(){const e=r(),t=z();let s=!1;function i(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(i()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,i]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&i<2}}const a=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=i();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||a&&t.ios,isWebView:a}}()),P}var A={on(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;const a=s?"unshift":"push";return e.split(" ").forEach((e=>{i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][a](t)})),i},once(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;function a(){i.off(e,a),a.__emitterProxy&&delete a.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((i,a)=>{(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&s.eventsListeners[e].splice(a,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,i;for(var a=arguments.length,r=new Array(a),n=0;n{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(i,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(i,s)}))})),e}};const $=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const I=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const O=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},D=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},_=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const i="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),a=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=a,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+i+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&D(e,s)}))}const r=a+i-1;if(e.params.rewind||e.params.loop)for(let i=a-t;i<=r+t;i+=1){const t=(i%s+s)%s;(tr)&&D(e,t)}else for(let i=Math.max(a-t,0);i<=Math.min(r+t,s-1);i+=1)i!==a&&(i>r||i=0?E=parseFloat(E.replace("%",""))/100*r:"string"==typeof E&&(E=parseFloat(E)),e.virtualSize=-E,p.forEach((e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(u(i,"--swiper-centered-offset-before",""),u(i,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(p):e.grid&&e.grid.unsetSlides();const z="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let i=0;i1&&m.push(e.virtualSize-r)}if(o&&s.loop){const t=g[0]+E;if(s.slidesPerGroup>1){const i=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),a=t*s.slidesPerGroup;for(let e=0;e!(s.cssMode&&!s.loop)||t!==p.length-1)).forEach((e=>{e.style[t]=`${E}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(E||0)})),e-=E;const t=e-r;m=m.map((e=>e<=0?-v:e>t?t+w:e))}if(s.centerInsufficientSlides){let e=0;g.forEach((t=>{e+=t+(E||0)})),e-=E;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t{m[t]=e-s})),h.forEach(((e,t)=>{h[t]=e+s}))}}if(Object.assign(e,{slides:p,snapGrid:m,slidesGrid:h,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){u(i,"--swiper-centered-offset-before",-m[0]+"px"),u(i,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(c!==d&&e.emit("slidesLengthChange"),m.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==x&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,i=e.el.classList.contains(t);c<=s.maxBackfaceHiddenSlides?i||e.el.classList.add(t):i&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],i=t.virtual&&t.params.virtual.enabled;let a,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>i?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(a=0;at.slides.length&&!i)break;s.push(n(e))}else s.push(n(t.activeIndex));for(a=0;ar?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let i=0;i=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e=0&&u<=t.size-t.slidesSizesGrid[e],f=u>=0&&u1&&m<=t.size||u<=0&&m>=t.size;f&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),$(o,f,s.slideVisibleClass),$(o,h,s.slideFullyVisibleClass),o.progress=a?-p:p,o.originalProgress=a?-c:c}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:a,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===i)a=0,r=!0,n=!0;else{a=(e-t.minTranslate())/i;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||a<=0,n=l||a>=1,s&&(a=0),l&&(a=1)}if(s.loop){const s=t.getSlideIndexByData(0),i=t.getSlideIndexByData(t.slides.length-1),a=t.slidesGrid[s],r=t.slidesGrid[i],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=a?(o-a)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:a,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",a)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:i,activeIndex:a}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(i,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,p;if(r)if(s.loop){let t=a-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${a}"]`);else n?(o=t.filter((e=>e.column===a))[0],p=t.filter((e=>e.column===a+1))[0],d=t.filter((e=>e.column===a-1))[0]):o=t[a];o&&(n||(p=function(e,t){const s=[];for(;e.nextElementSibling;){const i=e.nextElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!p&&(p=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const i=e.previousElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{I(e,e===o,s.slideActiveClass),I(e,e===p,s.slideNextClass),I(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:i,params:a,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const p=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,i=e.rtlTranslate?e.translate:-e.translate;let a;for(let e=0;e=t[e]&&i=t[e]&&i=t[e]&&(a=e);return s.normalizeSlideIndex&&(a<0||void 0===a)&&(a=0),a}(t)),i.indexOf(s)>=0)o=i.indexOf(s);else{const e=Math.min(a.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/a.slidesPerGroup)}if(o>=i.length&&(o=i.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=p(d));const c=t.grid&&a.grid&&a.grid.rows>1;let u;if(t.virtual&&a.virtual.enabled&&a.loop)u=p(d);else if(c){const e=t.slides.filter((e=>e.column===d))[0];let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/a.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&_(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,i=s.params;let a=e.closest(`.${i.slideClass}, swiper-slide`);!a&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!a&&e.matches&&e.matches(`.${i.slideClass}, swiper-slide`)&&(a=e)}));let r,n=!1;if(a)for(let e=0;eo?o:i&&en?"next":r=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==c){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():wr.translate&&w>r.maxTranslate()&&(c||0)!==n)return!1}let b;if(n!==(p||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>c?"next":n0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}))}else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,i),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,i){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const a=this;if(a.destroyed)return;void 0===t&&(t=a.params.speed);const r=a.grid&&a.params.grid&&a.params.grid.rows>1;let n=e;if(a.params.loop)if(a.virtual&&a.params.virtual.enabled)n+=a.virtual.slidesBefore;else{let e;if(r){const t=n*a.params.grid.rows;e=a.slides.filter((e=>1*e.getAttribute("data-swiper-slide-index")===t))[0].column}else e=a.getSlideIndexByData(n);const t=r?Math.ceil(a.slides.length/a.params.grid.rows):a.slides.length,{centeredSlides:s}=a.params;let l=a.params.slidesPerView;"auto"===l?l=a.slidesPerViewDynamic():(l=Math.ceil(parseFloat(a.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e1*t.getAttribute("data-swiper-slide-index")===e))[0].column}else n=a.getSlideIndexByData(n)}return requestAnimationFrame((()=>{a.slideTo(n,t,s,i)})),a},slideNext:function(e,t,s){void 0===t&&(t=!0);const i=this,{enabled:a,params:r,animating:n}=i;if(!a||i.destroyed)return i;void 0===e&&(e=i.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(i.slidesPerViewDynamic("current",!0),1));const o=i.activeIndex{i.slideTo(i.activeIndex+o,e,t,s)})),!0}return r.rewind&&i.isEnd?i.slideTo(0,e,t,s):i.slideTo(i.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const i=this,{params:a,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=i;if(!o||i.destroyed)return i;void 0===e&&(e=i.params.speed);const p=i.virtual&&a.virtual.enabled;if(a.loop){if(d&&!p&&a.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}function c(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=c(l?i.translate:-i.translate),m=r.map((e=>c(e)));let h=r[m.indexOf(u)-1];if(void 0===h&&a.cssMode){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(h=r[e>0?e-1:e])}let f=0;if(void 0!==h&&(f=n.indexOf(h),f<0&&(f=i.activeIndex-1),"auto"===a.slidesPerView&&1===a.slidesPerGroup&&a.slidesPerGroupAuto&&(f=f-i.slidesPerViewDynamic("previous",!0)+1,f=Math.max(f,0))),a.rewind&&i.isBeginning){const a=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(a,e,t,s)}return a.loop&&0===i.activeIndex&&a.cssMode?(requestAnimationFrame((()=>{i.slideTo(f,e,t,s)})),!0):i.slideTo(f,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const i=this;if(!i.destroyed)return void 0===e&&(e=i.params.speed),i.slideTo(i.activeIndex,e,t,s)},slideToClosest:function(e,t,s,i){void 0===t&&(t=!0),void 0===i&&(i=.5);const a=this;if(a.destroyed)return;void 0===e&&(e=a.params.speed);let r=a.activeIndex;const n=Math.min(a.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/a.params.slidesPerGroup),o=a.rtlTranslate?a.translate:-a.translate;if(o>=a.snapGrid[l]){const e=a.snapGrid[l];o-e>(a.snapGrid[l+1]-e)*i&&(r+=a.params.slidesPerGroup)}else{const e=a.snapGrid[l-1];o-e<=(a.snapGrid[l]-e)*i&&(r-=a.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,a.slidesGrid.length-1),a.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,i="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let a,r=e.clickedIndex;const n=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;a=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+i/2?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${a}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-i?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${a}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var R={loopCreate:function(e){const t=this,{params:s,slidesEl:i}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;const a=()=>{f(i,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},r=t.grid&&s.grid&&s.grid.rows>1,n=s.slidesPerGroup*(r?s.grid.rows:1),l=t.slides.length%n!=0,o=r&&t.slides.length%s.grid.rows!=0,d=e=>{for(let i=0;i1;d.lengthe.classList.contains(m.slideActiveClass)))[0]):E=r;const S="next"===i||!i,T="prev"===i||!i;let M=0,C=0;const P=b?Math.ceil(d.length/m.grid.rows):d.length,L=(b?d[r].column:r)+(h&&void 0===a?-f/2+.5:0);if(L=0;t-=1)d[t].column===e&&y.push(t)}else y.push(P-t-1)}}else if(L+f>P-w){C=Math.max(L-(P-2*w),v);for(let e=0;e{e.column===t&&x.push(s)})):x.push(t)}}if(o.__preventObserver__=!0,requestAnimationFrame((()=>{o.__preventObserver__=!1})),T&&y.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1})),S&&x.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1})),o.recalcSlides(),"auto"===m.slidesPerView?o.updateSlides():b&&(y.length>0&&T||x.length>0&&S)&&o.slides.forEach(((e,t)=>{o.grid.updateSlide(t,e,o.slides)})),m.watchSlidesProgress&&o.updateSlidesOffset(),s)if(y.length>0&&T){if(void 0===t){const e=o.slidesGrid[E],t=o.slidesGrid[E+M]-e;l?o.setTranslate(o.translate-t):(o.slideTo(E+Math.ceil(M),0,!1,!0),a&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else if(a){const e=b?y.length/m.grid.rows:y.length;o.slideTo(o.activeIndex+e,0,!1,!0),o.touchEventsData.currentTranslate=o.translate}}else if(x.length>0&&S)if(void 0===t){const e=o.slidesGrid[E],t=o.slidesGrid[E-C]-e;l?o.setTranslate(o.translate-t):(o.slideTo(E-C,0,!1,!0),a&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else{const e=b?x.length/m.grid.rows:x.length;o.slideTo(o.activeIndex-e,0,!1,!0)}if(o.allowSlidePrev=p,o.allowSlideNext=c,o.controller&&o.controller.control&&!n){const e={slideRealIndex:t,direction:i,setTranslate:a,activeSlideIndex:r,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===m.slidesPerView&&s})})):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix({...e,slideTo:o.controller.control.params.slidesPerView===m.slidesPerView&&s})}o.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const i=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;i[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),i.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function X(e,t,s){const i=r(),{params:a}=e,n=a.edgeSwipeDetection,l=a.edgeSwipeThreshold;return!n||!(s<=l||s>=i.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function Y(e){const t=this,s=i();let a=e;a.originalEvent&&(a=a.originalEvent);const n=t.touchEventsData;if("pointerdown"===a.type){if(null!==n.pointerId&&n.pointerId!==a.pointerId)return;n.pointerId=a.pointerId}else"touchstart"===a.type&&1===a.targetTouches.length&&(n.touchId=a.targetTouches[0].identifier);if("touchstart"===a.type)return void X(t,a,a.targetTouches[0].pageX);const{params:l,touches:d,enabled:p}=t;if(!p)return;if(!l.simulateTouch&&"mouse"===a.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let c=a.target;if("wrapper"===l.touchEventsTarget&&!t.wrapperEl.contains(c))return;if("which"in a&&3===a.which)return;if("button"in a&&a.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,m=a.composedPath?a.composedPath():a.path;u&&a.target&&a.target.shadowRoot&&m&&(c=m[0]);const h=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!a.target||!a.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===i()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const a=s.closest(e);return a||s.getRootNode?a||t(s.getRootNode().host):null}(t)}(h,c):c.closest(h)))return void(t.allowClick=!0);if(l.swipeHandler&&!c.closest(l.swipeHandler))return;d.currentX=a.pageX,d.currentY=a.pageY;const g=d.currentX,v=d.currentY;if(!X(t,a,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1);let w=!0;c.matches(n.focusableElements)&&(w=!1,"SELECT"===c.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==c&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||c.isContentEditable||a.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",a)}function F(e){const t=i(),s=this,a=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let p,c=e;if(c.originalEvent&&(c=c.originalEvent),"pointermove"===c.type){if(null!==a.touchId)return;if(c.pointerId!==a.pointerId)return}if("touchmove"===c.type){if(p=[...c.changedTouches].filter((e=>e.identifier===a.touchId))[0],!p||p.identifier!==a.touchId)return}else p=c;if(!a.isTouched)return void(a.startMoving&&a.isScrolling&&s.emit("touchMoveOpposite",c));const u=p.pageX,m=p.pageY;if(c.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return c.target.matches(a.focusableElements)||(s.allowClick=!1),void(a.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),a.touchStartTime=o()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return a.isTouched=!1,void(a.isMoved=!1)}else if(un.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&c.target===t.activeElement&&c.target.matches(a.focusableElements))return a.isMoved=!0,void(s.allowClick=!1);a.allowTouchCallbacks&&s.emit("touchMove",c),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,a.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(a.isScrolling&&s.emit("touchMoveOpposite",c),void 0===a.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(a.startMoving=!0)),a.isScrolling||"touchmove"===c.type&&a.preventTouchMoveFromPointerMove)return void(a.isTouched=!1);if(!a.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation();let g=s.isHorizontal()?h:f,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 w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!a.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),a.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}a.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)}if((new Date).getTime(),a.isMoved&&a.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:a.currentTranslate}),a.loopSwapReset=!0,void(a.startTranslate=a.currentTranslate);s.emit("sliderMove",c),a.isMoved=!0,a.currentTranslate=g+a.startTranslate;let x=!0,E=r.resistanceRatio;if(r.touchReleaseOnEdges&&(E=0),g>0?(b&&y&&a.allowThresholdMove&&a.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),a.currentTranslate>s.minTranslate()&&(x=!1,r.resistance&&(a.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+a.startTranslate+g)**E))):g<0&&(b&&y&&a.allowThresholdMove&&a.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]:s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),a.currentTranslatea.startTranslate&&(a.currentTranslate=a.startTranslate),s.allowSlidePrev||s.allowSlideNext||(a.currentTranslate=a.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||a.allowThresholdMove))return void(a.currentTranslate=a.startTranslate);if(!a.allowThresholdMove)return a.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,a.currentTranslate=a.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}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(a.currentTranslate),s.setTranslate(a.currentTranslate))}function q(e){const t=this,s=t.touchEventsData;let i,a=e;a.originalEvent&&(a=a.originalEvent);if("touchend"===a.type||"touchcancel"===a.type){if(i=[...a.changedTouches].filter((e=>e.identifier===s.touchId))[0],!i||i.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(a.pointerId!==s.pointerId)return;i=a}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(a.type)){if(!(["pointercancel","contextmenu"].includes(a.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:r,touches:n,rtlTranslate:d,slidesGrid:p,enabled:c}=t;if(!c)return;if(!r.simulateTouch&&"mouse"===a.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",a),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),m=u-s.touchStartTime;if(t.allowClick){const e=a.path||a.composedPath&&a.composedPath();t.updateClickedSlide(e&&e[0]||a.target,e),t.emit("tap click",a),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",a)}if(s.lastClickTime=o(),l((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===n.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e=p[e]&&h=p[e])&&(g=e,v=p[p.length-1]-p[p.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-p[g])/v,x=gr.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+x):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+x):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(a.target===t.navigation.nextEl||a.target===t.navigation.prevEl)?a.target===t.navigation.nextEl?t.slideTo(g+x):t.slideTo(g):("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+x),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g))}}function V(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:a,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=a,e.allowSlideNext=i,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function j(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function W(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:i}=e;if(!i)return;let a;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();a=0===r?0:(e.translate-e.minTranslate())/r,a!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function U(e){const t=this;O(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function K(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const Z=(e,t)=>{const s=i(),{params:a,el:r,wrapperEl:n,device:l}=e,o=!!a.nested,d="on"===t?"addEventListener":"removeEventListener",p=t;s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(a.preventClicks||a.preventClicksPropagation)&&r[d]("click",e.onClick,!0),a.cssMode&&n[d]("scroll",e.onScroll),a.updateOnWindowResize?e[p](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",V,!0):e[p]("observerUpdate",V,!0),r[d]("load",e.onLoad,{capture:!0})};const Q=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var J={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 ee(e,t){return function(s){void 0===s&&(s={});const i=Object.keys(s)[0],a=s[i];"object"==typeof a&&null!==a?(!0===e[i]&&(e[i]={enabled:!0}),"navigation"===i&&e[i]&&e[i].enabled&&!e[i].prevEl&&!e[i].nextEl&&(e[i].auto=!0),["pagination","scrollbar"].indexOf(i)>=0&&e[i]&&e[i].enabled&&!e[i].el&&(e[i].auto=!0),i in e&&"enabled"in a?("object"!=typeof e[i]||"enabled"in e[i]||(e[i].enabled=!0),e[i]||(e[i]={enabled:!1}),c(t,s)):c(t,s)):c(t,s)}}const te={eventsEmitter:A,update:G,translate:N,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;i.cssMode||(i.autoHeight&&s.updateAutoHeight(),B({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;s.animating=!1,i.cssMode||(s.setTransition(0),B({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:H,loop:R,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=Y.bind(e),e.onTouchMove=F.bind(e),e.onTouchEnd=q.bind(e),e.onDocumentTouchStart=K.bind(e),t.cssMode&&(e.onScroll=W.bind(e)),e.onClick=j.bind(e),e.onLoad=U.bind(e),Z(e,"on")},detachEvents:function(){Z(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:i,el:a}=e,r=i.breakpoints;if(!r||r&&0===Object.keys(r).length)return;const n=e.getBreakpoint(r,e.params.breakpointsBase,e.el);if(!n||e.currentBreakpoint===n)return;const l=(n in r?r[n]:void 0)||e.originalParams,o=Q(e,i),d=Q(e,l),p=e.params.grabCursor,u=l.grabCursor,m=i.enabled;o&&!d?(a.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!o&&d&&(a.classList.add(`${i.containerModifierClass}grid`),(l.grid.fill&&"column"===l.grid.fill||!l.grid.fill&&"column"===i.grid.fill)&&a.classList.add(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),p&&!u?e.unsetGrabCursor():!p&&u&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===l[t])return;const s=i[t]&&i[t].enabled,a=l[t]&&l[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const h=l.direction&&l.direction!==i.direction,f=i.loop&&(l.slidesPerView!==i.slidesPerView||h),g=i.loop;h&&s&&e.changeDirection(),c(e.params,l);const v=e.params.enabled,w=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),m&&!v?e.disable():!m&&v&&e.enable(),e.currentBreakpoint=n,e.emit("_beforeBreakpoint",l),s&&(f?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!g&&w?(e.loopCreate(t),e.updateSlides()):g&&!w&&e.loopDestroy()),e.emit("breakpoint",l)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let i=!1;const a=r(),n="window"===t?a.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:i,el:a,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((i=>{e[i]&&s.push(t+i)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.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&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),a.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}}},se={};class ie{constructor(){let e,t;for(var s=arguments.length,a=new Array(s),r=0;r1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const i=c({},t,{el:s});e.push(new ie(i))})),e}const l=this;l.__swiper__=!0,l.support=L(),l.device=z({userAgent:t.userAgent}),l.browser=k(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:ee(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=c({},J,o);return l.params=c({},d,se,t),l.originalParams=c({},l.params),l.passedParams=c({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,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:l.params.allowSlideNext,allowSlidePrev:l.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:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}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:t,params:s}=this,i=y(f(t,`.${s.slideClass}, swiper-slide`)[0]);return y(e)-i}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.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,t){const s=this;e=Math.min(Math.max(e,0),1);const i=s.minTranslate(),a=(s.maxTranslate()-i)*e+i;s.translateTo(a,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const i=e.getSlideClasses(s);t.push({slideEl:s,classNames:i}),e.emit("_slideClass",s,i)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:i,slidesGrid:a,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=i[l]?Math.ceil(i[l].swiperSlideSize):0;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)i[s]&&!e&&(t+=i[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){a[l]-a[e]{t.complete&&O(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)i(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;a=e.slideTo(t.length-1,0,!1,!0)}else a=e.slideTo(e.activeIndex,0,!1,!0);a||i()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,i=s.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${i}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let a=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(i())}return f(s,i())[0]})();return!a&&t.params.createElements&&(a=v("div",t.params.wrapperClass),s.append(a),f(s,`.${t.params.slideClass}`).forEach((e=>{a.append(e)}))),Object.assign(t,{el:s,wrapperEl:a,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:a,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction")),wrongRTL:"-webkit-box"===b(a,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?O(t,e):e.addEventListener("load",(e=>{O(t,e.target)}))})),_(t),t.initialized=!0,_(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:i,el:a,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),i.loop&&s.loopDestroy(),t&&(s.removeClasses(),a.removeAttribute("style"),r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(i.slideVisibleClass,i.slideFullyVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){c(se,e)}static get extendedDefaults(){return se}static get defaults(){return J}static installModule(e){ie.prototype.__modules__||(ie.prototype.__modules__=[]);const t=ie.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>ie.installModule(e))),ie):(ie.installModule(e),ie)}}function ae(e,t,s,i){return e.params.createElements&&Object.keys(i).forEach((a=>{if(!s[a]&&!0===s.auto){let r=f(e.el,`.${i[a]}`)[0];r||(r=v("div",i[a]),r.className=i[a],e.el.append(r)),s[a]=r,t[a]=r}})),s}function re(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function ne(e){const t=this,{params:s,slidesEl:i}=t;s.loop&&t.loopDestroy();const a=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,i.append(t.children[0]),t.innerHTML=""}else i.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,a.prepend(t.children[0]),t.innerHTML=""}else a.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else r.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),i("setTranslate",(()=>{s.params.effect===t&&a()})),i("setTransition",((e,i)=>{s.params.effect===t&&r(i)})),i("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),i("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(p=!0),requestAnimationFrame((()=>{p&&s.slides&&s.slides.length&&(a(),p=!1)})))}))}function ue(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function me(e){let{swiper:t,duration:s,transformElements:i,allSlides:a}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=a?i:i.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter((t=>t.shadowRoot&&t.shadowRoot===e.parentNode))[0];return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{E(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function he(e,t,s){const i=`swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,a=h(t);let r=a.querySelector(`.${i.split(" ").join(".")}`);return r||(r=v("div",i.split(" ")),a.append(r)),r}Object.keys(te).forEach((e=>{Object.keys(te[e]).forEach((t=>{ie.prototype[t]=te[e][t]}))})),ie.use([function(e){let{swiper:t,on:s,emit:i}=e;const a=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(i("beforeResize"),i("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&i("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==a.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=a.requestAnimationFrame((()=>{const{width:s,height:i}=t;let a=s,r=i;e.forEach((e=>{let{contentBoxSize:s,contentRect:i,target:n}=e;n&&n!==t.el||(a=i?i.width:(s[0]||s).inlineSize,r=i?i.height:(s[0]||s).blockSize)})),a===s&&r===i||o()}))})),n.observe(t.el)):(a.addEventListener("resize",o),a.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&a.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),a.removeEventListener("resize",o),a.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const i=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void a("observerUpdate",e[0]);const s=function(){a("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));i.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),n.push(i)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),i("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=x(t.hostEl);for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const fe=[function(e){let t,{swiper:s,extendParams:a,on:r,emit:n}=e;a({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=i();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const i=s.params.virtual;if(i.cache&&s.virtual.cache[t])return s.virtual.cache[t];let a;return i.renderSlide?(a=i.renderSlide.call(s,e,t),"string"==typeof a&&(o.innerHTML=a,a=o.children[0])):a=s.isElement?v("swiper-slide"):v("div",s.params.slideClass),a.setAttribute("data-swiper-slide-index",t),i.renderSlide||(a.innerHTML=e),i.cache&&(s.virtual.cache[t]=a),a}function p(e,t){const{slidesPerView:i,slidesPerGroup:a,centeredSlides:r,loop:l,initialSlide:o}=s.params;if(t&&!l&&o>0)return;const{addSlidesBefore:p,addSlidesAfter:c}=s.params.virtual,{from:u,to:m,slides:h,slidesGrid:g,offset:v}=s.virtual;s.params.cssMode||s.updateActiveIndex();const w=s.activeIndex||0;let b,y,x;b=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",r?(y=Math.floor(i/2)+a+c,x=Math.floor(i/2)+a+p):(y=i+(a-1)+c,x=(l?i:a)+p);let E=w-x,S=w+y;l||(E=Math.max(E,0),S=Math.min(S,h.length-1));let T=(s.slidesGrid[E]||0)-(s.slidesGrid[0]||0);function M(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(l&&w>=x?(E-=x,r||(T+=s.slidesGrid[0])):l&&w{e.style[b]=T-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:T,from:E,to:S,slides:function(){const e=[];for(let t=E;t<=S;t+=1)e.push(h[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?M():n("virtualUpdate"));const C=[],P=[],L=e=>{let t=e;return e<0?t=h.length+e:t>=h.length&&(t-=h.length),t};if(e)s.slides.filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=u;e<=m;e+=1)if(eS){const t=L(e);s.slides.filter((e=>e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e=>{e.remove()}))}const z=l?-h.length:0,k=l?2*h.length:h.length;for(let t=z;t=E&&t<=S){const s=L(t);void 0===m||e?P.push(s):(t>m&&P.push(s),t{s.slidesEl.append(d(h[e],e))})),l)for(let e=C.length-1;e>=0;e-=1){const t=C[e];s.slidesEl.prepend(d(h[t],t))}else C.sort(((e,t)=>t-e)),C.forEach((e=>{s.slidesEl.prepend(d(h[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[b]=T-Math.abs(s.cssOverflowAdjustment())+"px"})),M()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,p(!1,!0)})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{p()}),100)):p())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t{const i=e[s],r=i.getAttribute("data-swiper-slide-index");r&&i.setAttribute("data-swiper-slide-index",parseInt(r,10)+a),t[parseInt(s,10)+a]=i})),s.virtual.cache=t}p(!0),s.slideTo(i,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let i=e.length-1;i>=0;i-=1)s.params.virtual.cache&&(delete s.virtual.cache[e[i]],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e[i],1),e[i]{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e,1),e0&&0===x(t.el,`.${t.params.slideActiveClass}`).length)return;const i=t.el,a=i.clientWidth,r=i.clientHeight,n=o.innerWidth,l=o.innerHeight,d=w(i);s&&(d.left-=i.scrollLeft);const p=[[d.left,d.top],[d.left+a,d.top],[d.left,d.top+r],[d.left+a,d.top+r]];for(let t=0;t=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||p||c||u)&&(i.preventDefault?i.preventDefault():i.returnValue=!1),((p||u)&&!s||(d||c)&&s)&&t.slideNext(),((d||c)&&!s||(p||u)&&s)&&t.slidePrev()):((d||p||m||h)&&(i.preventDefault?i.preventDefault():i.returnValue=!1),(p||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",a)}}function p(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function c(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),a("init",(()=>{t.params.keyboard.enabled&&p()})),a("destroy",(()=>{t.keyboard.enabled&&c()})),Object.assign(t.keyboard,{enable:p,disable:c})},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const n=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let p,c=o();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&o()-c<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),a("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),a("scroll",e.raw)),c=(new n.Date).getTime(),!1)))}function g(e){let s=e,i=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.el;"container"!==t.params.mousewheel.eventsTarget&&(n=document.querySelector(t.params.mousewheel.eventsTarget));const c=n&&n.contains(s.target);if(!t.mouseEntered&&!c&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,i=0,a=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),i=10*t,a=10*s,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(i=e.deltaX),e.shiftKey&&!i&&(i=a,a=0),(i||a)&&e.deltaMode&&(1===e.deltaMode?(i*=40,a*=40):(i*=800,a*=800)),i&&!t&&(t=i<1?-1:1),a&&!s&&(s=a<1?-1:1),{spinX:t,spinY:s,pixelX:i,pixelY:a}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),i=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),i&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:o(),delta:Math.abs(m),direction:Math.sign(m)},i=p&&e.time=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!c&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,i=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-i.time<500&&i.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;p=e,u.splice(0),d=l((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=l((()=>{p=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(i||a("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),r.releaseOnEdges&&(n===t.minTranslate()||n===t.maxTranslate()))return!0}}else{const s={time:o(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const i=u.length?u[u.length-1]:void 0;if(u.push(s),i?(s.direction!==i.direction||s.delta>i.delta||s.time>i.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}i("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),i("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const i=t.params.navigation;(e=T(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...i.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](i.lockClass))}))}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),a("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),a("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=ae(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),i=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:i}),s=T(s),i=T(i);const a=(s,i)=>{s&&s.addEventListener("click","next"===i?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>a(e,"next"))),i.forEach((e=>a(e,"prev")))}function c(){let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s);const i=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>i(e,"next"))),s.forEach((e=>i(e,"prev")))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},i("init",(()=>{!1===t.params.navigation.enabled?u():(p(),l())})),i("toEdge fromEdge lock unlock",(()=>{l()})),i("destroy",(()=>{c()})),i("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s),t.enabled?l():[...e,...s].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),i("click",((e,s)=>{let{nextEl:i,prevEl:r}=t.navigation;i=T(i),r=T(r);const n=s.target;if(t.params.navigation.hideOnClick&&!r.includes(n)&&!i.includes(n)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;i.length?e=i[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),a(!0===e?"navigationShow":"navigationHide"),[...i,...r].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),c()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),p(),l()},disable:u,update:l,init:p,destroy:c})},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const r="swiper-pagination";let n;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:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:i}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${i}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${i}-${s}-${s}`))}function p(e){const s=e.target.closest(re(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const i=y(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===i)return;t.slideToLoop(i)}else t.slideTo(i)}function c(){const e=t.rtl,s=t.params.pagination;if(o())return;let i,r,p=t.pagination.el;p=T(p);const c=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(c/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,i=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(i=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,i=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let o,c,u;if(s.dynamicBullets&&(n=S(a[0],t.isHorizontal()?"width":"height",!0),p.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=i-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(i-l,0),c=o+(Math.min(a.length,s.dynamicMainBullets)-1),u=(c+o)/2),a.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),p.length>1)a.forEach((e=>{const a=y(e);a===i?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(a>=o&&a<=c&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),a===o&&d(e,"prev"),a===c&&d(e,"next"))}));else{const e=a[i];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&a.forEach(((e,t)=>{e.setAttribute("part",t===i?"bullet-active":"bullet")})),s.dynamicBullets){const e=a[o],t=a[c];for(let e=o;e<=c;e+=1)a[e]&&a[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}p.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(re(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(i+1)})),e.querySelectorAll(re(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(u)}))),"progressbar"===s.type){let a;a=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(i+1)/u;let n=1,l=1;"horizontal"===a?n=r:l=r,e.querySelectorAll(re(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(e.innerHTML=s.renderCustom(t,i+1,u),0===r&&a("paginationRender",e)):(0===r&&a("paginationRender",e),a("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let i=t.pagination.el;i=T(i);let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&i>s&&(i=s);for(let s=0;s`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):` / `),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):``),t.pagination.bullets=[],i.forEach((s=>{"custom"!==e.type&&(s.innerHTML=r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(re(e.bulletClass)))})),"custom"!==e.type&&a("paginationRender",i[0])}function m(){t.params.pagination=ae(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.filter((e=>x(e,".swiper")[0]===t.el))[0])),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=T(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",p),t.enabled||s.classList.add(e.lockClass)})))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=T(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",p))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}i("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),i("init",(()=>{!1===t.params.pagination.enabled?f():(m(),u(),c())})),i("activeIndexChange",(()=>{void 0===t.snapIndex&&c()})),i("snapIndexChange",(()=>{c()})),i("snapGridLengthChange",(()=>{u(),c()})),i("destroy",(()=>{h()})),i("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),i("lock unlock",(()=>{c()})),i("click",((e,s)=>{const i=s.target,r=T(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!i.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&i===t.navigation.nextEl||t.navigation.prevEl&&i===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);a(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),m(),u(),c()},disable:f,render:u,update:c,init:m,destroy:h})},function(e){let{swiper:t,extendParams:s,on:a,emit:r}=e;const o=i();let d,p,c,u,m=!1,h=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:i,el:a}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=p,o=(c-p)*n;s?(o=-o,o>0?(l=p-o,o=0):-o+p>c&&(l=c+o)):o<0?(l=p+o,o=0):o+p>c&&(l=c-o),t.isHorizontal()?(i.style.transform=`translate3d(${o}px, 0, 0)`,i.style.width=`${l}px`):(i.style.transform=`translate3d(0px, ${o}px, 0)`,i.style.height=`${l}px`),r.hide&&(clearTimeout(h),a.style.opacity=1,h=setTimeout((()=>{a.style.opacity=0,a.style.transitionDuration="400ms"}),1e3))}function b(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:i}=e;s.style.width="",s.style.height="",c=t.isHorizontal()?i.offsetWidth:i.offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),p="auto"===t.params.scrollbar.dragSize?c*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${p}px`:s.style.height=`${p}px`,i.style.display=u>=1?"none":"",t.params.scrollbar.hide&&(i.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function y(e){return t.isHorizontal()?e.clientX:e.clientY}function x(e){const{scrollbar:s,rtlTranslate:i}=t,{el:a}=s;let r;r=(y(e)-w(a)[t.isHorizontal()?"left":"top"]-(null!==d?d:p/2))/(c-p),r=Math.max(Math.min(r,1),0),i&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function E(e){const s=t.params.scrollbar,{scrollbar:i,wrapperEl:a}=t,{el:n,dragEl:l}=i;m=!0,d=e.target===l?y(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),a.style.transitionDuration="100ms",l.style.transitionDuration="100ms",x(e),clearTimeout(f),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function S(e){const{scrollbar:s,wrapperEl:i}=t,{el:a,dragEl:n}=s;m&&(e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1,x(e),i.style.transitionDuration="0ms",a.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function M(e){const s=t.params.scrollbar,{scrollbar:i,wrapperEl:a}=t,{el:n}=i;m&&(m=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",a.style.transitionDuration=""),s.hide&&(clearTimeout(f),f=l((()=>{n.style.opacity=0,n.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,params:i}=t,a=s.el;if(!a)return;const r=a,n=!!i.passiveListeners&&{passive:!1,capture:!1},l=!!i.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",E,n),o[d]("pointermove",S,n),o[d]("pointerup",M,l)}function P(){const{scrollbar:e,el:s}=t;t.params.scrollbar=ae(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const i=t.params.scrollbar;if(!i.el)return;let a,r;if("string"==typeof i.el&&t.isElement&&(a=t.el.querySelector(i.el)),a||"string"!=typeof i.el)a||(a=i.el);else if(a=o.querySelectorAll(i.el),!a.length)return;t.params.uniqueNavElements&&"string"==typeof i.el&&a.length>1&&1===s.querySelectorAll(i.el).length&&(a=s.querySelector(i.el)),a.length>0&&(a=a[0]),a.classList.add(t.isHorizontal()?i.horizontalClass:i.verticalClass),a&&(r=a.querySelector(re(t.params.scrollbar.dragClass)),r||(r=v("div",t.params.scrollbar.dragClass),a.append(r))),Object.assign(e,{el:a,dragEl:r}),i.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),a&&a.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))}function L(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(...n(t.isHorizontal()?e.horizontalClass:e.verticalClass)),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},a("changeDirection",(()=>{if(!t.scrollbar||!t.scrollbar.el)return;const e=t.params.scrollbar;let{el:s}=t.scrollbar;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.scrollbar.enabled?z():(P(),b(),g())})),a("update resize observerUpdate lock unlock changeDirection",(()=>{b()})),a("setTranslate",(()=>{g()})),a("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),a("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))})),a("destroy",(()=>{L()}));const z=()=>{t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),L()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),P(),b(),g()},disable:z,updateSize:b,setTranslate:g,init:P,destroy:L})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({parallax:{enabled:!1}});const a="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",r=(e,s)=>{const{rtl:i}=t,a=i?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),p=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*a+"%":n*s*a+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let c=`translate3d(${n}, ${l}, 0px)`;if(null!=o){c+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(p&&null!=p){c+=` rotate(${p*s*-1}deg)`}e.style.transform=c},n=()=>{const{el:e,slides:s,progress:i,snapGrid:n,isElement:l}=t,o=f(e,a);t.isElement&&o.push(...f(t.hostEl,a)),o.forEach((e=>{r(e,i)})),s.forEach(((e,s)=>{let l=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(l+=Math.ceil(s/2)-i*(n.length-1)),l=Math.min(Math.max(l,-1),1),e.querySelectorAll(`${a}, [data-swiper-parallax-rotate]`).forEach((e=>{r(e,l)}))}))};i("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),i("init",(()=>{t.params.parallax.enabled&&n()})),i("setTranslate",(()=>{t.params.parallax.enabled&&n()})),i("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s,hostEl:i}=t,r=[...s.querySelectorAll(a)];t.isElement&&r.push(...i.querySelectorAll(a)),r.forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const n=r();s({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,p=1,c=!1;const u=[],m={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},h={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v,b=1;function y(){if(u.length<2)return 1;const e=u[0].pageX,t=u[0].pageY,s=u[1].pageX,i=u[1].pageY;return Math.sqrt((s-e)**2+(i-t)**2)}function E(){const e=t.params.zoom,s=m.imageWrapEl.getAttribute("data-swiper-zoom")||e.maxRatio;if(e.limitToOriginalSize&&m.imageEl&&m.imageEl.naturalWidth){const e=m.imageEl.naturalWidth/m.imageEl.offsetWidth;return Math.min(e,s)}return s}function S(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function T(e){if("mouse"===e.pointerType&&u.splice(0,u.length),!S(e))return;const s=t.params.zoom;if(l=!1,o=!1,u.push(e),!(u.length<2)){if(l=!0,m.scaleStart=y(),!m.slideEl){m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),m.slideEl||(m.slideEl=t.slides[t.activeIndex]);let i=m.slideEl.querySelector(`.${s.containerClass}`);if(i&&(i=i.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=i,m.imageWrapEl=i?x(m.imageEl,`.${s.containerClass}`)[0]:void 0,!m.imageWrapEl)return void(m.imageEl=void 0);m.maxRatio=E()}if(m.imageEl){const[e,t]=function(){if(u.length<2)return{x:null,y:null};const e=m.imageEl.getBoundingClientRect();return[(u[0].pageX+(u[1].pageX-u[0].pageX)/2-e.x-n.scrollX)/p,(u[0].pageY+(u[1].pageY-u[0].pageY)/2-e.y-n.scrollY)/p]}();m.originX=e,m.originY=t,m.imageEl.style.transitionDuration="0ms"}c=!0}}function M(e){if(!S(e))return;const s=t.params.zoom,i=t.zoom,a=u.findIndex((t=>t.pointerId===e.pointerId));a>=0&&(u[a]=e),u.length<2||(o=!0,m.scaleMove=y(),m.imageEl&&(i.scale=m.scaleMove/m.scaleStart*p,i.scale>m.maxRatio&&(i.scale=m.maxRatio-1+(i.scale-m.maxRatio+1)**.5),i.scalet.pointerId===e.pointerId));a>=0&&u.splice(a,1),l&&o&&(l=!1,o=!1,m.imageEl&&(i.scale=Math.max(Math.min(i.scale,m.maxRatio),s.minRatio),m.imageEl.style.transitionDuration=`${t.params.speed}ms`,m.imageEl.style.transform=`translate3d(0,0,0) scale(${i.scale})`,p=i.scale,c=!1,i.scale>1&&m.slideEl?m.slideEl.classList.add(`${s.zoomedSlideClass}`):i.scale<=1&&m.slideEl&&m.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===i.scale&&(m.originX=0,m.originY=0,m.slideEl=void 0)))}function P(){t.touchEventsData.preventTouchMoveFromPointerMove=!1}function L(e){if(!S(e)||!function(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.hostEl.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}(e))return;const s=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!m.slideEl)return;h.isMoved||(h.width=m.imageEl.offsetWidth||m.imageEl.clientWidth,h.height=m.imageEl.offsetHeight||m.imageEl.clientHeight,h.startX=d(m.imageWrapEl,"x")||0,h.startY=d(m.imageWrapEl,"y")||0,m.slideWidth=m.slideEl.offsetWidth,m.slideHeight=m.slideEl.offsetHeight,m.imageWrapEl.style.transitionDuration="0ms");const i=h.width*s.scale,a=h.height*s.scale;if(i0?u[0].pageX:e.pageX,h.touchesCurrent.y=u.length>0?u[0].pageY:e.pageY;if(Math.max(Math.abs(h.touchesCurrent.x-h.touchesStart.x),Math.abs(h.touchesCurrent.y-h.touchesStart.y))>5&&(t.allowClick=!1),!h.isMoved&&!c){if(t.isHorizontal()&&(Math.floor(h.minX)===Math.floor(h.startX)&&h.touchesCurrent.xh.touchesStart.x))return h.isTouched=!1,void P();if(!t.isHorizontal()&&(Math.floor(h.minY)===Math.floor(h.startY)&&h.touchesCurrent.yh.touchesStart.y))return h.isTouched=!1,void P()}e.cancelable&&e.preventDefault(),e.stopPropagation(),clearTimeout(v),t.touchEventsData.preventTouchMoveFromPointerMove=!0,v=setTimeout((()=>{P()})),h.isMoved=!0;const r=(s.scale-p)/(m.maxRatio-t.params.zoom.minRatio),{originX:n,originY:l}=m;h.currentX=h.touchesCurrent.x-h.touchesStart.x+h.startX+r*(h.width-2*n),h.currentY=h.touchesCurrent.y-h.touchesStart.y+h.startY+r*(h.height-2*l),h.currentXh.maxX&&(h.currentX=h.maxX-1+(h.currentX-h.maxX+1)**.8),h.currentYh.maxY&&(h.currentY=h.maxY-1+(h.currentY-h.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=h.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=h.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(h.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(h.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(h.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(h.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=h.touchesCurrent.x,g.prevPositionY=h.touchesCurrent.y,g.prevTime=Date.now(),m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}function z(){const e=t.zoom;m.slideEl&&t.activeIndex!==t.slides.indexOf(m.slideEl)&&(m.imageEl&&(m.imageEl.style.transform="translate3d(0,0,0) scale(1)"),m.imageWrapEl&&(m.imageWrapEl.style.transform="translate3d(0,0,0)"),m.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,p=1,m.slideEl=void 0,m.imageEl=void 0,m.imageWrapEl=void 0,m.originX=0,m.originY=0)}function k(e){const s=t.zoom,i=t.params.zoom;if(!m.slideEl){e&&e.target&&(m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),m.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex]);let s=m.slideEl.querySelector(`.${i.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=s,m.imageWrapEl=s?x(m.imageEl,`.${i.containerClass}`)[0]:void 0}if(!m.imageEl||!m.imageWrapEl)return;let a,r,l,o,d,c,u,g,v,b,y,S,T,M,C,P,L,z;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.slideEl.classList.add(`${i.zoomedSlideClass}`),void 0===h.touchesStart.x&&e?(a=e.pageX,r=e.pageY):(a=h.touchesStart.x,r=h.touchesStart.y);const k="number"==typeof e?e:null;1===p&&k&&(a=void 0,r=void 0);const A=E();s.scale=k||A,p=k||A,!e||1===p&&k?(u=0,g=0):(L=m.slideEl.offsetWidth,z=m.slideEl.offsetHeight,l=w(m.slideEl).left+n.scrollX,o=w(m.slideEl).top+n.scrollY,d=l+L/2-a,c=o+z/2-r,v=m.imageEl.offsetWidth||m.imageEl.clientWidth,b=m.imageEl.offsetHeight||m.imageEl.clientHeight,y=v*s.scale,S=b*s.scale,T=Math.min(L/2-y/2,0),M=Math.min(z/2-S/2,0),C=-T,P=-M,u=d*s.scale,g=c*s.scale,uC&&(u=C),gP&&(g=P)),k&&1===s.scale&&(m.originX=0,m.originY=0),m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform=`translate3d(${u}px, ${g}px,0)`,m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function A(){const e=t.zoom,s=t.params.zoom;if(!m.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex];let e=m.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=e,m.imageWrapEl=e?x(m.imageEl,`.${s.containerClass}`)[0]:void 0}m.imageEl&&m.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,p=1,m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform="translate3d(0,0,0)",m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform="translate3d(0,0,0) scale(1)",m.slideEl.classList.remove(`${s.zoomedSlideClass}`),m.slideEl=void 0,m.originX=0,m.originY=0)}function $(e){const s=t.zoom;s.scale&&1!==s.scale?A():k(e)}function I(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:i}=I();t.wrapperEl.addEventListener("pointerdown",T,s),t.wrapperEl.addEventListener("pointermove",M,i),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,C,s)})),t.wrapperEl.addEventListener("pointermove",L,i)}function D(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:i}=I();t.wrapperEl.removeEventListener("pointerdown",T,s),t.wrapperEl.removeEventListener("pointermove",M,i),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,C,s)})),t.wrapperEl.removeEventListener("pointermove",L,i)}Object.defineProperty(t.zoom,"scale",{get:()=>b,set(e){if(b!==e){const t=m.imageEl,s=m.slideEl;a("zoomChange",e,t,s)}b=e}}),i("init",(()=>{t.params.zoom.enabled&&O()})),i("destroy",(()=>{D()})),i("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!m.imageEl)return;if(h.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),h.isTouched=!0;const i=u.length>0?u[0]:e;h.touchesStart.x=i.pageX,h.touchesStart.y=i.pageY}(s)})),i("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!h.isMoved)return h.isTouched=!1,void(h.isMoved=!1);h.isTouched=!1,h.isMoved=!1;let s=300,i=300;const a=g.x*s,r=h.currentX+a,n=g.y*i,l=h.currentY+n;0!==g.x&&(s=Math.abs((r-h.currentX)/g.x)),0!==g.y&&(i=Math.abs((l-h.currentY)/g.y));const o=Math.max(s,i);h.currentX=r,h.currentY=l;const d=h.width*e.scale,p=h.height*e.scale;h.minX=Math.min(m.slideWidth/2-d/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-p/2,0),h.maxY=-h.minY,h.currentX=Math.max(Math.min(h.currentX,h.maxX),h.minX),h.currentY=Math.max(Math.min(h.currentY,h.maxY),h.minY),m.imageWrapEl.style.transitionDuration=`${o}ms`,m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}()})),i("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&$(s)})),i("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&z()})),i("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&z()})),Object.assign(t.zoom,{enable:O,disable:D,in:k,out:A,toggle:$})},function(e){let{swiper:t,extendParams:s,on:i}=e;function a(e,t){const s=function(){let e,t,s;return(i,a)=>{for(t=-1,e=i.length;e-t>1;)s=e+t>>1,i[s]<=a?t=s:e=s;return e}}();let i,a;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(a=s(this.x,e),i=a-1,(e-this.x[i])*(this.y[a]-this.y[i])/(this.x[a]-this.x[i])+this.y[i]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},i("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){const e=document.querySelector(t.params.controller.control);if(e&&e.swiper)t.controller.control=e.swiper;else if(e){const s=i=>{t.controller.control=i.detail[0],t.update(),e.removeEventListener("init",s)};e.addEventListener("init",s)}}else t.controller.control=t.params.controller.control})),i("update",(()=>{r()})),i("resize",(()=>{r()})),i("observerUpdate",(()=>{r()})),i("setTranslate",((e,s,i)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,i)})),i("setTransition",((e,s,i)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,i)})),Object.assign(t.controller,{setTranslate:function(e,s){const i=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new a(t.slidesGrid,e.slidesGrid):new a(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(i))for(let e=0;e{s.updateAutoHeight()})),E(s.wrapperEl,(()=>{a&&s.transitionEnd()}))))}if(Array.isArray(a))for(r=0;r{e.setAttribute("tabIndex","0")}))}function c(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function u(e,t){(e=T(e)).forEach((e=>{e.setAttribute("role",t)}))}function m(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function h(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function f(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function g(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function w(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,i=e.target;if(!t.pagination||!t.pagination.el||i!==t.pagination.el&&!t.pagination.el.contains(e.target)||e.target.matches(re(t.params.pagination.bulletClass))){if(t.navigation&&t.navigation.prevEl&&t.navigation.nextEl){const e=T(t.navigation.prevEl);T(t.navigation.nextEl).includes(i)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?d(s.lastSlideMessage):d(s.nextSlideMessage)),e.includes(i)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?d(s.firstSlideMessage):d(s.prevSlideMessage))}t.pagination&&i.matches(re(t.params.pagination.bulletClass))&&i.click()}}function b(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function x(){return b()&&t.params.pagination.clickable}const E=(e,t,s)=>{p(e),"BUTTON"!==e.tagName&&(u(e,"button"),e.addEventListener("keydown",w)),h(e,s),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},S=e=>{n&&n!==e.target&&!n.contains(e.target)&&(r=!0),t.a11y.clicked=!0},M=()=>{r=!1,requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},C=e=>{o=(new Date).getTime()},P=e=>{if(t.a11y.clicked)return;if((new Date).getTime()-o<100)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;n=s;const i=t.slides.indexOf(s)===t.activeIndex,a=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);i||a||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,requestAnimationFrame((()=>{r||(t.slideTo(t.slides.indexOf(s),0),r=!1)})))},L=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&m(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&u(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((i,a)=>{const r=t.params.loop?parseInt(i.getAttribute("data-swiper-slide-index"),10):a;h(i,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},z=()=>{const e=t.params.a11y;t.el.append(l);const s=t.el;e.containerRoleDescriptionMessage&&m(s,e.containerRoleDescriptionMessage),e.containerMessage&&h(s,e.containerMessage);const a=t.wrapperEl,r=e.id||a.getAttribute("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,T(a).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(a,o),L();let{nextEl:p,prevEl:c}=t.navigation?t.navigation:{};if(p=T(p),c=T(c),p&&p.forEach((t=>E(t,r,e.nextSlideMessage))),c&&c.forEach((t=>E(t,r,e.prevSlideMessage))),x()){T(t.pagination.el).forEach((e=>{e.addEventListener("keydown",w)}))}i().addEventListener("visibilitychange",C),t.el.addEventListener("focus",P,!0),t.el.addEventListener("focus",P,!0),t.el.addEventListener("pointerdown",S,!0),t.el.addEventListener("pointerup",M,!0)};a("beforeInit",(()=>{l=v("span",t.params.a11y.notificationClass),l.setAttribute("aria-live","assertive"),l.setAttribute("aria-atomic","true")})),a("afterInit",(()=>{t.params.a11y.enabled&&z()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&L()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(f(s),c(s)):(g(s),p(s))),e&&(t.isEnd?(f(e),c(e)):(g(e),p(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;b()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(p(s),t.params.pagination.renderBullet||(u(s,"button"),h(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,y(s)+1)))),s.matches(re(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){l&&l.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=T(e),s=T(s),e&&e.forEach((e=>e.removeEventListener("keydown",w))),s&&s.forEach((e=>e.removeEventListener("keydown",w))),x()&&T(t.pagination.el).forEach((e=>{e.removeEventListener("keydown",w)}));i().removeEventListener("visibilitychange",C),t.el.removeEventListener("focus",P,!0),t.el.removeEventListener("pointerdown",S,!0),t.el.removeEventListener("pointerup",M,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:i}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let a=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const i=s.pathname.slice(1).split("/").filter((e=>""!==e)),a=i.length;return{key:i[a-2],value:i[a-1]}},d=(e,s)=>{const i=r();if(!a||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):i.location;const o=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`):t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const p=i.history.state;p&&p.value===d||(t.params.history.replaceState?i.history.replaceState({value:d},null,d):i.history.pushState({value:d},null,d))},p=(e,s,i)=>{if(s)for(let a=0,r=t.slides.length;a{n=o(t.params.url),p(t.params.speed,n.value,!1)};i("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);a=!0,n=o(t.params.url),n.key||n.value?(p(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",c)):t.params.history.replaceState||e.addEventListener("popstate",c)}})()})),i("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",c)})()})),i("transitionEnd _freeModeNoMomentumRelease",(()=>{a&&d(t.params.history.key,t.activeIndex)})),i("slideChange",(()=>{a&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:a,on:n}=e,l=!1;const o=i(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.filter((e=>e.getAttribute("data-hash")===s))[0];if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const p=()=>{a("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},c=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),a("hashSet")):(o.location.hash=s||"",a("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,i=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(i||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",p)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",p)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&c()})),n("slideChange",(()=>{l&&t.params.cssMode&&c()}))},function(e){let t,s,{swiper:a,extendParams:r,on:n,emit:l,params:o}=e;a.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,p,c,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){a&&!a.destroyed&&a.wrapperEl&&e.target===a.wrapperEl&&(a.wrapperEl.removeEventListener("transitionend",y),g||e.detail&&e.detail.bySwiperTouchMove||C())}const x=()=>{if(a.destroyed||!a.autoplay.running)return;a.autoplay.paused?p=!0:p&&(w=d,p=!1);const e=a.autoplay.paused?d:b+w-(new Date).getTime();a.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame((()=>{x()}))},E=e=>{if(a.destroyed||!a.autoplay.running)return;cancelAnimationFrame(s),x();let i=void 0===e?a.params.autoplay.delay:e;v=a.params.autoplay.delay,w=a.params.autoplay.delay;const r=(()=>{let e;if(e=a.virtual&&a.params.virtual.enabled?a.slides.filter((e=>e.classList.contains("swiper-slide-active")))[0]:a.slides[a.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(i=r,v=r,w=r),d=i;const n=a.params.speed,o=()=>{a&&!a.destroyed&&(a.params.autoplay.reverseDirection?!a.isBeginning||a.params.loop||a.params.rewind?(a.slidePrev(n,!0,!0),l("autoplay")):a.params.autoplay.stopOnLastSlide||(a.slideTo(a.slides.length-1,n,!0,!0),l("autoplay")):!a.isEnd||a.params.loop||a.params.rewind?(a.slideNext(n,!0,!0),l("autoplay")):a.params.autoplay.stopOnLastSlide||(a.slideTo(0,n,!0,!0),l("autoplay")),a.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame((()=>{E()}))))};return i>0?(clearTimeout(t),t=setTimeout((()=>{o()}),i)):requestAnimationFrame((()=>{o()})),i},S=()=>{b=(new Date).getTime(),a.autoplay.running=!0,E(),l("autoplayStart")},T=()=>{a.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},M=(e,s)=>{if(a.destroyed||!a.autoplay.running)return;clearTimeout(t),e||(f=!0);const i=()=>{l("autoplayPause"),a.params.autoplay.waitForTransition?a.wrapperEl.addEventListener("transitionend",y):C()};if(a.autoplay.paused=!0,s)return h&&(d=a.params.autoplay.delay),h=!1,void i();const r=d||a.params.autoplay.delay;d=r-((new Date).getTime()-b),a.isEnd&&d<0&&!a.params.loop||(d<0&&(d=0),i())},C=()=>{a.isEnd&&d<0&&!a.params.loop||a.destroyed||!a.autoplay.running||(b=(new Date).getTime(),f?(f=!1,E(d)):E(),a.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(a.destroyed||!a.autoplay.running)return;const e=i();"hidden"===e.visibilityState&&(f=!0,M(!0)),"visible"===e.visibilityState&&C()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,a.animating||a.autoplay.paused||M(!0))},z=e=>{"mouse"===e.pointerType&&(g=!1,a.autoplay.paused&&C())};n("init",(()=>{a.params.autoplay.enabled&&(a.params.autoplay.pauseOnMouseEnter&&(a.el.addEventListener("pointerenter",L),a.el.addEventListener("pointerleave",z)),i().addEventListener("visibilitychange",P),S())})),n("destroy",(()=>{a.el.removeEventListener("pointerenter",L),a.el.removeEventListener("pointerleave",z),i().removeEventListener("visibilitychange",P),a.autoplay.running&&T()})),n("_freeModeStaticRelease",(()=>{(u||f)&&C()})),n("_freeModeNoMomentumRelease",(()=>{a.params.autoplay.disableOnInteraction?T():M(!0,!0)})),n("beforeTransitionStart",((e,t,s)=>{!a.destroyed&&a.autoplay.running&&(s||!a.params.autoplay.disableOnInteraction?M(!0,!0):T())})),n("sliderFirstMove",(()=>{!a.destroyed&&a.autoplay.running&&(a.params.autoplay.disableOnInteraction?T():(c=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,M(!0)}),200)))})),n("touchEnd",(()=>{if(!a.destroyed&&a.autoplay.running&&c){if(clearTimeout(m),clearTimeout(t),a.params.autoplay.disableOnInteraction)return u=!1,void(c=!1);u&&a.params.cssMode&&C(),u=!1,c=!1}})),n("slideChange",(()=>{!a.destroyed&&a.autoplay.running&&(h=!0)})),Object.assign(a.autoplay,{start:S,stop:T,pause:M,resume:C})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,i=e.clickedSlide;if(i&&i.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let a;a=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(a):t.slideTo(a)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update();else if(p(e.swiper)){const i=Object.assign({},e.swiper);Object.assign(i,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(i),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function d(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const i="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let a=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(a=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(a=1),a=Math.floor(a),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e{e.classList.add(r)}));else for(let e=0;ee.getAttribute("data-swiper-slide-index")===`${t.realIndex}`))[0];r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>a?r-Math.floor(i/2)+1:r+Math.floor(i/2)-1:r>a&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},a("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=i(),a=()=>{const i="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(i&&i.swiper)e.swiper=i.swiper,o(),d(!0);else if(i){const s=a=>{e.swiper=a.detail[0],i.removeEventListener("init",s),o(),d(!0),e.swiper.update(),t.update()};i.addEventListener("init",s)}return i},r=()=>{if(t.destroyed)return;a()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),d(!0)})),a("slideChange update resize observerUpdate",(()=>{d()})),a("setTransition",((e,s)=>{const i=t.thumbs.swiper;i&&!i.destroyed&&i.setTransition(s)})),a("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:d})},function(e){let{swiper:t,extendParams:s,emit:i,once:a}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:o()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:l,snapGrid:d,touchEventsData:p}=t,c=o()-p.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length1){const e=p.velocities.pop(),s=p.velocities.pop(),i=e.position-s.position,a=e.time-s.time;t.velocity=i/a,t.velocity/=2,Math.abs(t.velocity)150||o()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,p.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let c=t.translate+s;l&&(c=-c);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(ct.minTranslate())r.freeMode.momentumBounce?(c-t.minTranslate()>h&&(c=t.minTranslate()+h),u=t.minTranslate(),m=!0,p.allowMomentumBounce=!0):c=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t-c){e=t;break}c=Math.abs(d[e]-c){t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-c-t.translate)/t.velocity):Math.abs((c-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-c:c)-t.translate),i=t.slidesSizesGrid[t.activeIndex];e=s{t&&!t.destroyed&&p.allowMomentumBounce&&(i("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),E(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(i("_freeModeNoMomentumRelease"),t.updateProgress(c),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,E(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(c),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&i("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||c>=r.longSwipesMs)&&(i("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,i,a,{swiper:r,extendParams:n,on:l}=e;n({grid:{rows:1,fill:"column"}});const o=()=>{let e=r.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*r.size:"string"==typeof e&&(e=parseFloat(e)),e};l("init",(()=>{a=r.params.grid&&r.params.grid.rows>1})),l("update",(()=>{const{params:e,el:t}=r,s=e.grid&&e.grid.rows>1;a&&!s?(t.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),i=1,r.emitContainerClasses()):!a&&s&&(t.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&t.classList.add(`${e.containerModifierClass}grid-column`),r.emitContainerClasses()),a=s})),r.grid={initSlides:e=>{const{slidesPerView:a}=r.params,{rows:n,fill:l}=r.params.grid,o=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:e.length;i=Math.floor(o/n),t=Math.floor(o/n)===o/n?o:Math.ceil(o/n)*n,"auto"!==a&&"row"===l&&(t=Math.max(t,a*n)),s=t/n},unsetSlides:()=>{r.slides&&r.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[r.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,a,n)=>{const{slidesPerGroup:l}=r.params,d=o(),{rows:p,fill:c}=r.params.grid,u=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:n.length;let m,h,f;if("row"===c&&l>1){const s=Math.floor(e/(l*p)),i=e-p*l*s,r=0===s?l:Math.min(Math.ceil((u-s*p*l)/p),l);f=Math.floor(i/r),h=i-f*r+s*l,m=h+f*t/p,a.style.order=m}else"column"===c?(h=Math.floor(e/p),f=e-h*p,(h>i||h===i&&f===p-1)&&(f+=1,f>=p&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);a.row=f,a.column=h,a.style.height=`calc((100% - ${(p-1)*d}px) / ${p})`,a.style[r.getDirectionLabel("margin-top")]=0!==f?d&&`${d}px`:"",a.swiperSlideGridSet=!0},updateWrapperSize:(e,s)=>{const{centeredSlides:i,roundLengths:a}=r.params,n=o(),{rows:l}=r.params.grid;if(r.virtualSize=(e+n)*t,r.virtualSize=Math.ceil(r.virtualSize/l)-n,r.params.cssMode||(r.wrapperEl.style[r.getDirectionLabel("width")]=`${r.virtualSize+n}px`),i){const e=[];for(let t=0;t{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),me({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const a=(e,t,s)=>{let i=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),a=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");i||(i=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(i)),a||(a=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(a)),i&&(i.style.opacity=Math.max(-t,0)),a&&(a.style.opacity=Math.max(t,0))};ce({effect:"cube",swiper:t,on:i,setTranslate:()=>{const{el:e,wrapperEl:s,slides:i,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,p=t.params.cubeEffect,c=t.isHorizontal(),u=t.virtual&&t.params.virtual.enabled;let m,h=0;p.shadow&&(c?(m=t.wrapperEl.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),t.wrapperEl.append(m)),m.style.height=`${r}px`):(m=e.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),e.append(m))));for(let e=0;e-1&&(h=90*r+90*m,l&&(h=90*-r-90*m),t.browser&&t.browser.need3dFix&&Math.abs(h)/90%2==1&&(h+=.001)),s.style.transform=w,p.slideShadows&&a(s,m,c)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,p.shadow)if(c)m.style.transform=`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${p.shadowScale})`;else{const e=Math.abs(h)-90*Math.floor(Math.abs(h)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,i=p.shadowScale/t,a=p.shadowOffset;m.style.transform=`scale3d(${s}, 1, ${i}) translate3d(0px, ${n/2+a}px, ${-n/2/i}px) rotateX(-89.99deg)`}const f=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${f}px) rotateX(${t.isHorizontal()?0:h}deg) rotateY(${t.isHorizontal()?-h:0}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${f}px`)},setTransition:e=>{const{el:s,slides:i}=t;if(i.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);a(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const a=(e,s)=>{let i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");i||(i=he("flip",e,t.isHorizontal()?"left":"top")),a||(a=he("flip",e,t.isHorizontal()?"right":"bottom")),i&&(i.style.opacity=Math.max(-s,0)),a&&(a.style.opacity=Math.max(s,0))};ce({effect:"flip",swiper:t,on:i,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,i=t.params.flipEffect;for(let r=0;r{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),me({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),a(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),ce({effect:"coverflow",swiper:t,on:i,setTranslate:()=>{const{width:e,height:s,slides:i,slidesSizesGrid:a}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,p=r.depth;for(let e=0,s=i.length;e0?u:0),t&&(t.style.opacity=-u>0?-u:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const a=e=>"string"==typeof e?e:`${e}px`;ce({effect:"creative",swiper:t,on:i,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:i}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=i[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s0&&(f=r.prev,h=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${a(f.translate[t])} * ${Math.abs(d*n)}))`})),m.forEach(((e,s)=>{let i=f.rotate[s]*Math.abs(d*n);t.browser&&t.browser.need3dFix&&Math.abs(i)/90%2==1&&(i+=.001),m[s]=i})),i.style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${m[0]}deg) rotateY(${m[1]}deg) rotateZ(${m[2]}deg)`,w=p<0?`scale(${1+(1-f.scale)*p*n})`:`scale(${1-(1-f.scale)*p*n})`,b=p<0?1+(1-f.opacity)*p*n:1-(1-f.opacity)*p*n,y=`translate3d(${g}) ${v} ${w}`;if(h&&f.shadow||!h){let e=i.querySelector(".swiper-slide-shadow");if(!e&&f.shadow&&(e=he("creative",i)),e){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const x=ue(0,i);x.style.transform=y,x.style.opacity=b,f.origin&&(x.style.transformOrigin=f.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),me({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),ce({effect:"cards",swiper:t,on:i,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:i}=t,a=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=i?-t.translate:t.translate;for(let o=0;o0&&c<1&&(n||t.params.cssMode)&&l-1&&(n||t.params.cssMode)&&l>r;if(y||x){const e=(1-Math.abs((Math.abs(c)-.5)/.5))**.5;v+=-28*c*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(c)+"%"}if(m=c<0?`calc(${m}px ${i?"-":"+"} (${w*Math.abs(c)}%))`:c>0?`calc(${m}px ${i?"-":"+"} (-${w*Math.abs(c)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const E=c<0?""+(1+(1-g)*c):""+(1-(1-g)*c),S=`\n translate3d(${m}, ${h}, ${f}px)\n rotateZ(${a.rotate?i?-v:v:0}deg)\n scale(${E})\n `;if(a.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=he("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(c)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(p))+e.length;ue(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),me({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];ie.use(fe);const ge=["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 ve(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)&&!e.__swiper__}function we(e,t){const s=["__proto__","constructor","prototype"];Object.keys(t).filter((e=>s.indexOf(e)<0)).forEach((s=>{void 0===e[s]?e[s]=t[s]:ve(t[s])&&ve(e[s])&&Object.keys(t[s]).length>0?t[s].__swiper__?e[s]=t[s]:we(e[s],t[s]):e[s]=t[s]}))}function be(e){return void 0===e&&(e=""),e.replace(/-[a-z]/g,(e=>e.toUpperCase().replace("-","")))}const ye=e=>{if(parseFloat(e)===Number(e))return Number(e);if("true"===e)return!0;if(""===e)return!0;if("false"===e)return!1;if("null"===e)return null;if("undefined"!==e){if("string"==typeof e&&e.includes("{")&&e.includes("}")&&e.includes('"')){let t;try{t=JSON.parse(e)}catch(s){t=e}return t}return e}},xe=["a11y","autoplay","controller","cards-effect","coverflow-effect","creative-effect","cube-effect","fade-effect","flip-effect","free-mode","grid","hash-navigation","history","keyboard","mousewheel","navigation","pagination","parallax","scrollbar","thumbs","virtual","zoom"];function Ee(e,t,s){const i={},a={};we(i,J);const r=[...ge,"on"],n=r.map((e=>e.replace(/_/,"")));r.forEach((t=>{t=t.replace("_",""),void 0!==e[t]&&(a[t]=e[t])}));const l=[...e.attributes];return"string"==typeof t&&void 0!==s&&l.push({name:t,value:ve(s)?{...s}:s}),l.forEach((e=>{const t=xe.filter((t=>0===e.name.indexOf(`${t}-`)))[0];if(t){const s=be(t),i=be(e.name.split(`${t}-`)[1]);void 0===a[s]&&(a[s]={}),!0===a[s]&&(a[s]={enabled:!0}),a[s][i]=ye(e.value)}else{const t=be(e.name);if(!n.includes(t))return;const s=ye(e.value);a[t]&&xe.includes(e.name)&&!ve(s)?(a[t].constructor!==Object&&(a[t]={}),a[t].enabled=!!s):a[t]=s}})),we(i,a),i.navigation?i.navigation={prevEl:".swiper-button-prev",nextEl:".swiper-button-next",...!0!==i.navigation?i.navigation:{}}:!1===i.navigation&&delete i.navigation,i.scrollbar?i.scrollbar={el:".swiper-scrollbar",...!0!==i.scrollbar?i.scrollbar:{}}:!1===i.scrollbar&&delete i.scrollbar,i.pagination?i.pagination={el:".swiper-pagination",...!0!==i.pagination?i.pagination:{}}:!1===i.pagination&&delete i.pagination,{params:i,passedParams:a}}const Se=":host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible}.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-creative ::slotted(swiper-slide){-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}";const Te="undefined"==typeof window||"undefined"==typeof HTMLElement?class{}:HTMLElement,Me='\n ',Ce=(e,t)=>{if("undefined"!=typeof CSSStyleSheet&&e.adoptedStyleSheets){const s=new CSSStyleSheet;s.replaceSync(t),e.adoptedStyleSheets=[s]}else{const s=document.createElement("style");s.rel="stylesheet",s.textContent=t,e.appendChild(s)}};class Pe extends Te{constructor(){super(),this.attachShadow({mode:"open"})}static get nextButtonSvg(){return Me}static get prevButtonSvg(){return Me.replace("/>",' transform-origin="center" transform="rotate(180)"/>')}cssStyles(){return[Se,...this.injectStyles&&Array.isArray(this.injectStyles)?this.injectStyles:[]].join("\n")}cssLinks(){return this.injectStylesUrls||[]}calcSlideSlots(){const e=this.slideSlots||0,t=[...this.querySelectorAll("[slot^=slide-]")].map((e=>parseInt(e.getAttribute("slot").split("slide-")[1],10)));if(this.slideSlots=t.length?Math.max(...t)+1:0,this.rendered)if(this.slideSlots>e)for(let t=e;t=0;t-=1)t>this.slideSlots&&e[t].remove()}}render(){if(this.rendered)return;this.calcSlideSlots();let e=this.cssStyles();this.slideSlots>0&&(e=e.replace(/::slotted\(([a-z-0-9.]*)\)/g,"$1")),e.length&&Ce(this.shadowRoot,e),this.cssLinks().forEach((e=>{if(this.shadowRoot.querySelector(`link[href="${e}"]`))return;const t=document.createElement("link");t.rel="stylesheet",t.href=e,this.shadowRoot.appendChild(t)}));const t=document.createElement("div");var s;t.classList.add("swiper"),t.part="container",t.innerHTML=`\n \n
\n \n ${Array.from({length:this.slideSlots}).map(((e,t)=>`\n \n \n \n `)).join("")}\n
\n \n ${s=this.passedParams,void 0===s&&(s={}),s.navigation&&void 0===s.navigation.nextEl&&void 0===s.navigation.prevEl?`\n
${this.constructor.prevButtonSvg}
\n
${this.constructor.nextButtonSvg}
\n `:""}\n ${function(e){return void 0===e&&(e={}),e.pagination&&void 0===e.pagination.el}(this.passedParams)?'\n
\n ':""}\n ${function(e){return void 0===e&&(e={}),e.scrollbar&&void 0===e.scrollbar.el}(this.passedParams)?'\n
\n ':""}\n `,this.shadowRoot.appendChild(t),this.rendered=!0}initialize(){var e=this;if(this.initialized)return;this.initialized=!0;const{params:t,passedParams:s}=Ee(this);this.swiperParams=t,this.passedParams=s,delete this.swiperParams.init,this.render(),this.swiper=new ie(this.shadowRoot.querySelector(".swiper"),{...t.virtual?{}:{observer:!0,observeSlideChildren:this.slideSlots>0},...t,touchEventsTarget:"container",onAny:function(s){"observerUpdate"===s&&e.calcSlideSlots();const i=t.eventsPrefix?`${t.eventsPrefix}${s.toLowerCase()}`:s.toLowerCase();for(var a=arguments.length,r=new Array(a>1?a-1:0),n=1;n"children"!==e&&"direction"!==e&&"wrapperClass"!==e)),{params:p,pagination:c,navigation:u,scrollbar:m,virtual:h,thumbs:f}=t;let g,v,w,b,y,x,E,S;a.includes("thumbs")&&i.thumbs&&i.thumbs.swiper&&p.thumbs&&!p.thumbs.swiper&&(g=!0),a.includes("controller")&&i.controller&&i.controller.control&&p.controller&&!p.controller.control&&(v=!0),a.includes("pagination")&&i.pagination&&(i.pagination.el||o)&&(p.pagination||!1===p.pagination)&&c&&!c.el&&(w=!0),a.includes("scrollbar")&&i.scrollbar&&(i.scrollbar.el||l)&&(p.scrollbar||!1===p.scrollbar)&&m&&!m.el&&(b=!0),a.includes("navigation")&&i.navigation&&(i.navigation.prevEl||n)&&(i.navigation.nextEl||r)&&(p.navigation||!1===p.navigation)&&u&&!u.prevEl&&!u.nextEl&&(y=!0);const T=e=>{t[e]&&(t[e].destroy(),"navigation"===e?(t.isElement&&(t[e].prevEl.remove(),t[e].nextEl.remove()),p[e].prevEl=void 0,p[e].nextEl=void 0,t[e].prevEl=void 0,t[e].nextEl=void 0):(t.isElement&&t[e].el.remove(),p[e].el=void 0,t[e].el=void 0))};a.includes("loop")&&t.isElement&&(p.loop&&!i.loop?x=!0:!p.loop&&i.loop?E=!0:S=!0),d.forEach((e=>{if(ve(p[e])&&ve(i[e]))Object.assign(p[e],i[e]),"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e||!("enabled"in i[e])||i[e].enabled||T(e);else{const t=i[e];!0!==t&&!1!==t||"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e?p[e]=i[e]:!1===t&&T(e)}})),d.includes("controller")&&!v&&t.controller&&t.controller.control&&p.controller&&p.controller.control&&(t.controller.control=p.controller.control),a.includes("children")&&s&&h&&p.virtual.enabled?(h.slides=s,h.update(!0)):a.includes("virtual")&&h&&p.virtual.enabled&&(s&&(h.slides=s),h.update(!0)),a.includes("children")&&s&&p.loop&&(S=!0),g&&f.init()&&f.update(!0);v&&(t.controller.control=p.controller.control),w&&(!t.isElement||o&&"string"!=typeof o||(o=document.createElement("div"),o.classList.add("swiper-pagination"),o.part.add("pagination"),t.el.appendChild(o)),o&&(p.pagination.el=o),c.init(),c.render(),c.update()),b&&(!t.isElement||l&&"string"!=typeof l||(l=document.createElement("div"),l.classList.add("swiper-scrollbar"),l.part.add("scrollbar"),t.el.appendChild(l)),l&&(p.scrollbar.el=l),m.init(),m.updateSize(),m.setTranslate()),y&&(t.isElement&&(r&&"string"!=typeof r||(r=document.createElement("div"),r.classList.add("swiper-button-next"),r.innerHTML=t.hostEl.constructor.nextButtonSvg,r.part.add("button-next"),t.el.appendChild(r)),n&&"string"!=typeof n||(n=document.createElement("div"),n.classList.add("swiper-button-prev"),n.innerHTML=t.hostEl.constructor.prevButtonSvg,n.part.add("button-prev"),t.el.appendChild(n))),r&&(p.navigation.nextEl=r),n&&(p.navigation.prevEl=n),u.init(),u.update()),a.includes("allowSlideNext")&&(t.allowSlideNext=i.allowSlideNext),a.includes("allowSlidePrev")&&(t.allowSlidePrev=i.allowSlidePrev),a.includes("direction")&&t.changeDirection(i.direction,!1),(x||S)&&t.loopDestroy(),(E||S)&&t.loopCreate(),t.update()}({swiper:this.swiper,passedParams:this.passedParams,changedParams:[be(e)],..."navigation"===e&&i[e]?{prevEl:".swiper-button-prev",nextEl:".swiper-button-next"}:{},..."pagination"===e&&i[e]?{paginationEl:".swiper-pagination"}:{},..."scrollbar"===e&&i[e]?{scrollbarEl:".swiper-scrollbar"}:{}})}attributeChangedCallback(e,t,s){this.initialized&&("true"===t&&null===s&&(s=!1),this.updateSwiperOnPropChange(e,s))}static get observedAttributes(){return ge.filter((e=>e.includes("_"))).map((e=>e.replace(/[A-Z]/g,(e=>`-${e}`)).replace("_","").toLowerCase()))}}ge.forEach((e=>{"init"!==e&&(e=e.replace("_",""),Object.defineProperty(Pe.prototype,e,{configurable:!0,get(){return(this.passedParams||{})[e]},set(t){this.passedParams||(this.passedParams={}),this.passedParams[e]=t,this.initialized&&this.updateSwiperOnPropChange(e,t)}}))}));class Le extends Te{constructor(){super(),this.attachShadow({mode:"open"})}render(){const e=this.lazy||""===this.getAttribute("lazy")||"true"===this.getAttribute("lazy");if(Ce(this.shadowRoot,"::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}"),this.shadowRoot.appendChild(document.createElement("slot")),e){const e=document.createElement("div");e.classList.add("swiper-lazy-preloader"),e.part.add("preloader"),this.shadowRoot.appendChild(e)}}initialize(){this.render()}connectedCallback(){this.initialize()}}"undefined"!=typeof window&&(window.SwiperElementRegisterParams=e=>{ge.push(...e)}),"undefined"!=typeof window&&(window.customElements.get("swiper-container")||window.customElements.define("swiper-container",Pe),window.customElements.get("swiper-slide")||window.customElements.define("swiper-slide",Le))}(); -//# sourceMappingURL=swiper-element-bundle.min.js.map \ No newline at end of file diff --git a/node_modules/swiper/swiper-element-bundle.min.js.map b/node_modules/swiper/swiper-element-bundle.min.js.map deleted file mode 100644 index 43267d9..0000000 --- a/node_modules/swiper/swiper-element-bundle.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper-element-bundle.js.js","names":["isObject$2","obj","constructor","Object","extend$2","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","classesToTokens","classes","trim","split","filter","c","nextTick","delay","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","getComputedStyle$1","WebKitCSSMatrix","transform","webkitTransform","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","parseFloat","m42","isObject$1","o","prototype","call","slice","extend$1","to","arguments","undefined","noExtend","i","nextSource","node","HTMLElement","nodeType","keysArray","indexOf","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","getSlideTransformEl","slideEl","shadowRoot","elementChildren","element","selector","matches","showWarning","text","console","warn","err","tag","classList","add","Array","isArray","elementOffset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","elementStyle","prop","elementIndex","child","previousSibling","elementParents","parents","parent","parentElement","push","elementTransitionEnd","fireCallBack","e","elementOuterSize","size","includeMargins","offsetWidth","makeElementsArray","support","deviceCached","browser","getSupport","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","toLowerCase","String","includes","major","minor","num","Number","isWebView","test","isSafariBrowser","need3dFix","calcBrowser","eventsEmitter","on","events","handler","priority","self","eventsListeners","destroyed","method","event","once","onceHandler","off","__emitterProxy","_len","args","_key","apply","onAny","eventsAnyListeners","offAny","index","splice","eventHandler","emit","data","context","_len2","_key2","unshift","toggleSlideClasses$1","condition","className","contains","remove","toggleSlideClasses","processLazyPreloader","imageEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","unlazy","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","from","_","column","slideIndexLastInView","rewind","loop","realIndex","update","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","assign","updateSlides","getDirectionPropertyValue","label","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","getAttribute","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transitionEmit","direction","step","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","t","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","append","loopAddBlankSlides","recalcSlides","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","originalEvent","type","pointerId","targetTouches","touchId","identifier","pageX","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","swiperElementNodeName","resizeObserver","createElements","eventsPrefix","url","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","bind","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","value","sort","b","wasLocked","lastSlideRightEdge","addClasses","classNames","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","centered","removeClasses","extendedDefaults","Swiper","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","module","m","createElementIfNotDefined","checkProps","classesToSelector","appendSlide","appendElement","tempDOM","innerHTML","observer","prependSlide","prependElement","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","effectInit","overwriteParams","perspective","recreateShadows","getEffectParams","requireUpdateOnVirtual","overwriteParamsResult","_s","slideShadows","shadowEl","effectTarget","effectParams","transformEl","backfaceVisibility","effectVirtualTransitionEnd","transformElements","allSlides","transitionEndTarget","eventTriggered","getSlide","createShadow","suffix","shadowClass","shadowContainer","prototypeGroup","protoMethod","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","cssModeTimeout","cache","renderSlide","renderExternal","renderExternalUpdate","addSlidesBefore","addSlidesAfter","offset","force","beforeInit","previousFrom","previousTo","previousSlidesGrid","previousOffset","offsetProp","onRendered","slidesToRender","prependIndexes","appendIndexes","loopFrom","loopTo","domSlidesAssigned","numberOfNewSlides","newCache","cachedIndex","cachedEl","cachedElIndex","handle","kc","keyCode","charCode","pageUpDown","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","shiftKey","altKey","ctrlKey","metaKey","onlyInViewport","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","timeout","mousewheel","releaseOnEdges","invert","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","noMousewheelClass","lastEventBeforeSnap","lastScrollTime","recentWheelEvents","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","delta","raw","targetElContainsTarget","rtlFactor","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","positions","sign","ignoreWheelEvents","position","sticky","prevEvent","firstEvent","snapToThreshold","autoplayDisableOnInteraction","stop","releaseScroll","getEl","res","toggleEl","disabled","subEl","disabledClass","tagName","lockClass","onPrevClick","onNextClick","initButton","destroyButton","hideOnClick","hiddenClass","navigationDisabledClass","pagination","clickable","isHidden","toggle","pfx","bulletSize","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","bulletEl","onBulletClick","total","firstIndex","midIndex","classesToRemove","s","flat","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","subElIndex","fractionEl","textContent","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","render","paginationHTML","numberOfBullets","dragStartPos","dragSize","trackSize","divider","dragTimeout","scrollbar","dragEl","newSize","newPos","hide","opacity","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","onDragStart","onDragMove","onDragEnd","snapOnRelease","activeListener","passiveListener","eventMethod","swiperEl","dragClass","draggable","scrollbarDisabledClass","parallax","elementsSelector","setTransform","p","rotate","currentOpacity","elements","_swiper","parallaxEl","parallaxDuration","zoom","limitToOriginalSize","maxRatio","containerClass","zoomedSlideClass","fakeGestureTouched","fakeGestureMoved","currentScale","isScaling","evCache","gesture","originX","originY","slideWidth","slideHeight","imageWrapEl","image","minX","minY","maxX","maxY","touchesStart","touchesCurrent","prevPositionX","prevPositionY","prevTime","allowTouchMoveTimeout","getDistanceBetweenTouches","x1","y1","x2","y2","getMaxRatio","naturalWidth","imageMaxRatio","eventWithinSlide","onGestureStart","scaleStart","getScaleOrigin","onGestureChange","pointerIndex","findIndex","cachedEv","scaleMove","onGestureEnd","eventWithinZoomContainer","scaledWidth","scaledHeight","scaleRatio","onTransitionEnd","zoomIn","touchX","touchY","offsetX","offsetY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","forceZoomRatio","zoomOut","zoomToggle","getListeners","activeListenerWithCapture","defineProperty","get","set","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","momentumDuration","in","out","LinearSpline","binarySearch","maxIndex","minIndex","guess","array","i1","i3","interpolate","removeSpline","spline","inverse","by","controlElement","onControllerSwiper","_t","controlled","controlledTranslate","setControlledTranslate","getInterpolateFunction","isFinite","setControlledTransition","a11y","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","itemRoleDescriptionMessage","slideRole","clicked","preventFocusHandler","focusTargetSlideEl","liveRegion","visibilityChangedTimestamp","notify","message","notification","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElLabel","disableEl","enableEl","onEnterOrSpaceKey","click","hasPagination","hasClickablePagination","initNavEl","wrapperId","controls","addElControls","handlePointerDown","handlePointerUp","onVisibilityChange","handleFocus","isActive","sourceCapabilities","firesTouchEvents","repeat","round","random","live","addElLive","updateNavigation","updatePagination","root","keepQuery","paths","slugify","getPathValues","urlOverride","URL","pathArray","part","setHistory","currentState","state","scrollToSlide","setHistoryPopState","hashNavigation","watchState","slideWithHash","onHashChange","newHash","activeSlideEl","setHash","activeSlideHash","raf","timeLeft","waitForTransition","disableOnInteraction","stopOnLastSlide","reverseDirection","pauseOnMouseEnter","autoplayTimeLeft","wasPaused","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","pausedByPointerEnter","autoplayDelayTotal","autoplayDelayCurrent","autoplayStartTime","calcTimeLeft","run","delayForce","currentSlideDelay","getSlideDelay","proceed","start","pause","reset","visibilityState","onPointerEnter","onPointerLeave","thumbs","multipleActiveThumbs","autoScrollOffset","slideThumbActiveClass","thumbsContainerClass","swiperCreated","onThumbClick","thumbsSwiper","thumbsParams","SwiperClass","thumbsSwiperParams","thumbsToActivate","thumbActiveClass","useOffset","currentThumbsIndex","newThumbsIndex","newThumbsSlide","getThumbsElementAndInit","thumbsElement","onThumbsSwiper","watchForThumbsToAppear","momentum","momentumRatio","momentumBounce","momentumBounceRatio","momentumVelocityRatio","minimumVelocity","lastMoveEvent","pop","velocityEvent","distance","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","needsLoopFix","j","moveDistance","currentSlideSize","slidesNumberEvenToRows","slidesPerRow","numFullColumns","getSpaceBetween","swiperSlideGridSet","newSlideOrderIndex","row","groupIndex","slideIndexInGroup","columnsInGroup","order","fadeEffect","crossFade","tx","ty","slideOpacity","cubeEffect","shadow","shadowOffset","shadowScale","createSlideShadows","shadowBefore","shadowAfter","cubeShadowEl","wrapperRotate","slideAngle","tz","transformOrigin","shadowAngle","sin","scale1","scale2","zFactor","flipEffect","limitRotation","rotateY","rotateX","zIndex","coverflowEffect","stretch","depth","modifier","center","centerOffset","offsetMultiplier","translateZ","slideTransform","shadowBeforeEl","shadowAfterEl","creativeEffect","limitProgress","shadowPerProgress","progressMultiplier","getTranslateValue","isCenteredSlides","margin","r","custom","translateString","rotateString","scaleString","opacityString","shadowOpacity","cardsEffect","perSlideRotate","perSlideOffset","tX","tY","tZ","tXAdd","isSwipeToNext","isSwipeToPrev","subProgress","prevY","paramsList","isObject","extend","attrToProp","attrName","l","formatValue","JSON","parse","modulesParamsList","getParams","propName","propValue","localParamsList","allowedParams","paramName","attrsList","name","attr","moduleParam","mParam","parentObjName","subObjName","SwiperCSS","ClassToExtend","arrowSvg","addStyle","styles","CSSStyleSheet","adoptedStyleSheets","styleSheet","replaceSync","rel","appendChild","SwiperContainer","super","attachShadow","mode","nextButtonSvg","prevButtonSvg","cssStyles","injectStyles","cssLinks","injectStylesUrls","calcSlideSlots","currentSideSlots","slideSlotChildren","rendered","slotEl","localStyles","linkEl","needsPagination","needsScrollbar","initialize","_this","connectedCallback","disconnectedCallback","updateSwiperOnPropChange","changedParams","scrollbarEl","paginationEl","updateParams","currentParams","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","loopNeedDestroy","loopNeedEnable","loopNeedReloop","destroyModule","newValue","updateSwiper","attributeChangedCallback","prevValue","observedAttributes","param","configurable","SwiperSlide","lazy","lazyDiv","SwiperElementRegisterParams","customElements","define"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/swiper-element-bundle.min.mjs b/node_modules/swiper/swiper-element-bundle.min.mjs deleted file mode 100644 index 95e7c12..0000000 --- a/node_modules/swiper/swiper-element-bundle.min.mjs +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -import"./swiper-bundle.mjs";import{p as paramsList,n as needsNavigation,a as needsPagination,b as needsScrollbar,u as updateSwiper,c as attrToProp}from"./shared/update-swiper.min.mjs";import{g as getParams}from"./shared/get-element-params.min.mjs";import{S as Swiper}from"./shared/swiper-core.min.mjs";const SwiperCSS=":host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible}.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-creative ::slotted(swiper-slide){-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}",SwiperSlideCSS="::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}";class DummyHTMLElement{}const ClassToExtend="undefined"==typeof window||"undefined"==typeof HTMLElement?DummyHTMLElement:HTMLElement,arrowSvg='\n ',addStyle=(e,i)=>{if("undefined"!=typeof CSSStyleSheet&&e.adoptedStyleSheets){const t=new CSSStyleSheet;t.replaceSync(i),e.adoptedStyleSheets=[t]}else{const t=document.createElement("style");t.rel="stylesheet",t.textContent=i,e.appendChild(t)}};class SwiperContainer extends ClassToExtend{constructor(){super(),this.attachShadow({mode:"open"})}static get nextButtonSvg(){return arrowSvg}static get prevButtonSvg(){return arrowSvg.replace("/>",' transform-origin="center" transform="rotate(180)"/>')}cssStyles(){return[SwiperCSS,...this.injectStyles&&Array.isArray(this.injectStyles)?this.injectStyles:[]].join("\n")}cssLinks(){return this.injectStylesUrls||[]}calcSlideSlots(){const e=this.slideSlots||0,i=[...this.querySelectorAll("[slot^=slide-]")].map((e=>parseInt(e.getAttribute("slot").split("slide-")[1],10)));if(this.slideSlots=i.length?Math.max(...i)+1:0,this.rendered)if(this.slideSlots>e)for(let i=e;i=0;i-=1)i>this.slideSlots&&e[i].remove()}}render(){if(this.rendered)return;this.calcSlideSlots();let e=this.cssStyles();this.slideSlots>0&&(e=e.replace(/::slotted\(([a-z-0-9.]*)\)/g,"$1")),e.length&&addStyle(this.shadowRoot,e),this.cssLinks().forEach((e=>{if(this.shadowRoot.querySelector(`link[href="${e}"]`))return;const i=document.createElement("link");i.rel="stylesheet",i.href=e,this.shadowRoot.appendChild(i)}));const i=document.createElement("div");i.classList.add("swiper"),i.part="container",i.innerHTML=`\n \n
\n \n ${Array.from({length:this.slideSlots}).map(((e,i)=>`\n \n \n \n `)).join("")}\n
\n \n ${needsNavigation(this.passedParams)?`\n
${this.constructor.prevButtonSvg}
\n
${this.constructor.nextButtonSvg}
\n `:""}\n ${needsPagination(this.passedParams)?'\n
\n ':""}\n ${needsScrollbar(this.passedParams)?'\n
\n ':""}\n `,this.shadowRoot.appendChild(i),this.rendered=!0}initialize(){var e=this;if(this.initialized)return;this.initialized=!0;const{params:i,passedParams:t}=getParams(this);this.swiperParams=i,this.passedParams=t,delete this.swiperParams.init,this.render(),this.swiper=new Swiper(this.shadowRoot.querySelector(".swiper"),{...i.virtual?{}:{observer:!0,observeSlideChildren:this.slideSlots>0},...i,touchEventsTarget:"container",onAny:function(t){"observerUpdate"===t&&e.calcSlideSlots();const s=i.eventsPrefix?`${i.eventsPrefix}${t.toLowerCase()}`:t.toLowerCase();for(var r=arguments.length,a=new Array(r>1?r-1:0),o=1;oe.includes("_"))).map((e=>e.replace(/[A-Z]/g,(e=>`-${e}`)).replace("_","").toLowerCase()))}}paramsList.forEach((e=>{"init"!==e&&(e=e.replace("_",""),Object.defineProperty(SwiperContainer.prototype,e,{configurable:!0,get(){return(this.passedParams||{})[e]},set(i){this.passedParams||(this.passedParams={}),this.passedParams[e]=i,this.initialized&&this.updateSwiperOnPropChange(e,i)}}))}));class SwiperSlide extends ClassToExtend{constructor(){super(),this.attachShadow({mode:"open"})}render(){const e=this.lazy||""===this.getAttribute("lazy")||"true"===this.getAttribute("lazy");if(addStyle(this.shadowRoot,SwiperSlideCSS),this.shadowRoot.appendChild(document.createElement("slot")),e){const e=document.createElement("div");e.classList.add("swiper-lazy-preloader"),e.part.add("preloader"),this.shadowRoot.appendChild(e)}}initialize(){this.render()}connectedCallback(){this.initialize()}}const register=()=>{"undefined"!=typeof window&&(window.customElements.get("swiper-container")||window.customElements.define("swiper-container",SwiperContainer),window.customElements.get("swiper-slide")||window.customElements.define("swiper-slide",SwiperSlide))};"undefined"!=typeof window&&(window.SwiperElementRegisterParams=e=>{paramsList.push(...e)});export{SwiperContainer,SwiperSlide,register}; -//# sourceMappingURL=swiper-element-bundle.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/swiper-element-bundle.min.mjs.map b/node_modules/swiper/swiper-element-bundle.min.mjs.map deleted file mode 100644 index 04551bb..0000000 --- a/node_modules/swiper/swiper-element-bundle.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper-element-bundle.mjs.mjs","names":["paramsList","needsNavigation","needsPagination","needsScrollbar","updateSwiper","attrToProp","getParams","Swiper","SwiperCSS","SwiperSlideCSS","DummyHTMLElement","ClassToExtend","window","HTMLElement","arrowSvg","addStyle","shadowRoot","styles","CSSStyleSheet","adoptedStyleSheets","styleSheet","replaceSync","style","document","createElement","rel","textContent","appendChild","SwiperContainer","constructor","super","this","attachShadow","mode","nextButtonSvg","prevButtonSvg","replace","cssStyles","injectStyles","Array","isArray","join","cssLinks","injectStylesUrls","calcSlideSlots","currentSideSlots","slideSlots","slideSlotChildren","querySelectorAll","map","child","parseInt","getAttribute","split","length","Math","max","rendered","i","slideEl","setAttribute","slotEl","querySelector","slides","swiper","remove","render","localStyles","forEach","url","linkEl","href","el","classList","add","part","innerHTML","from","_","index","passedParams","initialize","_this","initialized","params","swiperParams","init","virtual","observer","observeSlideChildren","touchEventsTarget","onAny","name","eventName","eventsPrefix","toLowerCase","_len","arguments","args","_key","event","CustomEvent","detail","bubbles","cancelable","dispatchEvent","connectedCallback","nested","closest","swiperLoopMoveDOM","disconnectedCallback","destroy","updateSwiperOnPropChange","propName","propValue","changedParams","prevEl","nextEl","paginationEl","scrollbarEl","attributeChangedCallback","attr","prevValue","newValue","observedAttributes","filter","param","includes","v","paramName","Object","defineProperty","prototype","configurable","get","set","value","SwiperSlide","lazy","lazyDiv","register","customElements","define","SwiperElementRegisterParams","push"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/swiper-element-bundle.mjs b/node_modules/swiper/swiper-element-bundle.mjs deleted file mode 100644 index 03de5e9..0000000 --- a/node_modules/swiper/swiper-element-bundle.mjs +++ /dev/null @@ -1,287 +0,0 @@ -/** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -import './swiper-bundle.mjs'; -import { p as paramsList, n as needsNavigation, a as needsPagination, b as needsScrollbar, u as updateSwiper, c as attrToProp } from './shared/update-swiper.mjs'; -import { g as getParams } from './shared/get-element-params.mjs'; -import { S as Swiper } from './shared/swiper-core.mjs'; - -/* eslint-disable spaced-comment */ - -const SwiperCSS = `:host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible}.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-creative ::slotted(swiper-slide){-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}` -const SwiperSlideCSS = `::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}` - -class DummyHTMLElement {} -const ClassToExtend = typeof window === 'undefined' || typeof HTMLElement === 'undefined' ? DummyHTMLElement : HTMLElement; -const arrowSvg = ` - `; -const addStyle = (shadowRoot, styles) => { - if (typeof CSSStyleSheet !== 'undefined' && shadowRoot.adoptedStyleSheets) { - const styleSheet = new CSSStyleSheet(); - styleSheet.replaceSync(styles); - shadowRoot.adoptedStyleSheets = [styleSheet]; - } else { - const style = document.createElement('style'); - style.rel = 'stylesheet'; - style.textContent = styles; - shadowRoot.appendChild(style); - } -}; -class SwiperContainer extends ClassToExtend { - constructor() { - super(); - this.attachShadow({ - mode: 'open' - }); - } - static get nextButtonSvg() { - return arrowSvg; - } - static get prevButtonSvg() { - return arrowSvg.replace('/>', ' transform-origin="center" transform="rotate(180)"/>'); - } - cssStyles() { - return [SwiperCSS, - // eslint-disable-line - ...(this.injectStyles && Array.isArray(this.injectStyles) ? this.injectStyles : [])].join('\n'); - } - cssLinks() { - return this.injectStylesUrls || []; - } - calcSlideSlots() { - const currentSideSlots = this.slideSlots || 0; - // slide slots - const slideSlotChildren = [...this.querySelectorAll(`[slot^=slide-]`)].map(child => { - return parseInt(child.getAttribute('slot').split('slide-')[1], 10); - }); - this.slideSlots = slideSlotChildren.length ? Math.max(...slideSlotChildren) + 1 : 0; - if (!this.rendered) return; - if (this.slideSlots > currentSideSlots) { - for (let i = currentSideSlots; i < this.slideSlots; i += 1) { - const slideEl = document.createElement('swiper-slide'); - slideEl.setAttribute('part', `slide slide-${i + 1}`); - const slotEl = document.createElement('slot'); - slotEl.setAttribute('name', `slide-${i + 1}`); - slideEl.appendChild(slotEl); - this.shadowRoot.querySelector('.swiper-wrapper').appendChild(slideEl); - } - } else if (this.slideSlots < currentSideSlots) { - const slides = this.swiper.slides; - for (let i = slides.length - 1; i >= 0; i -= 1) { - if (i > this.slideSlots) { - slides[i].remove(); - } - } - } - } - render() { - if (this.rendered) return; - this.calcSlideSlots(); - - // local styles - let localStyles = this.cssStyles(); - if (this.slideSlots > 0) { - localStyles = localStyles.replace(/::slotted\(([a-z-0-9.]*)\)/g, '$1'); - } - if (localStyles.length) { - addStyle(this.shadowRoot, localStyles); - } - this.cssLinks().forEach(url => { - const linkExists = this.shadowRoot.querySelector(`link[href="${url}"]`); - if (linkExists) return; - const linkEl = document.createElement('link'); - linkEl.rel = 'stylesheet'; - linkEl.href = url; - this.shadowRoot.appendChild(linkEl); - }); - // prettier-ignore - const el = document.createElement('div'); - el.classList.add('swiper'); - el.part = 'container'; - - // prettier-ignore - el.innerHTML = ` - -
- - ${Array.from({ - length: this.slideSlots - }).map((_, index) => ` - - - - `).join('')} -
- - ${needsNavigation(this.passedParams) ? ` -
${this.constructor.prevButtonSvg}
-
${this.constructor.nextButtonSvg}
- ` : ''} - ${needsPagination(this.passedParams) ? ` -
- ` : ''} - ${needsScrollbar(this.passedParams) ? ` -
- ` : ''} - `; - this.shadowRoot.appendChild(el); - this.rendered = true; - } - initialize() { - var _this = this; - if (this.initialized) return; - this.initialized = true; - const { - params: swiperParams, - passedParams - } = getParams(this); - this.swiperParams = swiperParams; - this.passedParams = passedParams; - delete this.swiperParams.init; - this.render(); - - // eslint-disable-next-line - this.swiper = new Swiper(this.shadowRoot.querySelector('.swiper'), { - ...(swiperParams.virtual ? {} : { - observer: true, - observeSlideChildren: this.slideSlots > 0 - }), - ...swiperParams, - touchEventsTarget: 'container', - onAny: function (name) { - if (name === 'observerUpdate') { - _this.calcSlideSlots(); - } - const eventName = swiperParams.eventsPrefix ? `${swiperParams.eventsPrefix}${name.toLowerCase()}` : name.toLowerCase(); - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - const event = new CustomEvent(eventName, { - detail: args, - bubbles: name !== 'hashChange', - cancelable: true - }); - _this.dispatchEvent(event); - } - }); - } - connectedCallback() { - if (this.initialized && this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) { - return; - } - if (this.init === false || this.getAttribute('init') === 'false') { - return; - } - this.initialize(); - } - disconnectedCallback() { - if (this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) { - return; - } - if (this.swiper && this.swiper.destroy) { - this.swiper.destroy(); - } - this.initialized = false; - } - updateSwiperOnPropChange(propName, propValue) { - const { - params: swiperParams, - passedParams - } = getParams(this, propName, propValue); - this.passedParams = passedParams; - this.swiperParams = swiperParams; - if (this.swiper && this.swiper.params[propName] === propValue) { - return; - } - updateSwiper({ - swiper: this.swiper, - passedParams: this.passedParams, - changedParams: [attrToProp(propName)], - ...(propName === 'navigation' && passedParams[propName] ? { - prevEl: '.swiper-button-prev', - nextEl: '.swiper-button-next' - } : {}), - ...(propName === 'pagination' && passedParams[propName] ? { - paginationEl: '.swiper-pagination' - } : {}), - ...(propName === 'scrollbar' && passedParams[propName] ? { - scrollbarEl: '.swiper-scrollbar' - } : {}) - }); - } - attributeChangedCallback(attr, prevValue, newValue) { - if (!this.initialized) return; - if (prevValue === 'true' && newValue === null) { - newValue = false; - } - this.updateSwiperOnPropChange(attr, newValue); - } - static get observedAttributes() { - const attrs = paramsList.filter(param => param.includes('_')).map(param => param.replace(/[A-Z]/g, v => `-${v}`).replace('_', '').toLowerCase()); - return attrs; - } -} -paramsList.forEach(paramName => { - if (paramName === 'init') return; - paramName = paramName.replace('_', ''); - Object.defineProperty(SwiperContainer.prototype, paramName, { - configurable: true, - get() { - return (this.passedParams || {})[paramName]; - }, - set(value) { - if (!this.passedParams) this.passedParams = {}; - this.passedParams[paramName] = value; - if (!this.initialized) return; - this.updateSwiperOnPropChange(paramName, value); - } - }); -}); -class SwiperSlide extends ClassToExtend { - constructor() { - super(); - this.attachShadow({ - mode: 'open' - }); - } - render() { - const lazy = this.lazy || this.getAttribute('lazy') === '' || this.getAttribute('lazy') === 'true'; - addStyle(this.shadowRoot, SwiperSlideCSS); - this.shadowRoot.appendChild(document.createElement('slot')); - if (lazy) { - const lazyDiv = document.createElement('div'); - lazyDiv.classList.add('swiper-lazy-preloader'); - lazyDiv.part.add('preloader'); - this.shadowRoot.appendChild(lazyDiv); - } - } - initialize() { - this.render(); - } - connectedCallback() { - this.initialize(); - } -} - -// eslint-disable-next-line -const register = () => { - if (typeof window === 'undefined') return; - if (!window.customElements.get('swiper-container')) window.customElements.define('swiper-container', SwiperContainer); - if (!window.customElements.get('swiper-slide')) window.customElements.define('swiper-slide', SwiperSlide); -}; -if (typeof window !== 'undefined') { - window.SwiperElementRegisterParams = params => { - paramsList.push(...params); - }; -} - -export { SwiperContainer, SwiperSlide, register }; diff --git a/node_modules/swiper/swiper-element.d.ts b/node_modules/swiper/swiper-element.d.ts deleted file mode 100644 index 05b6a46..0000000 --- a/node_modules/swiper/swiper-element.d.ts +++ /dev/null @@ -1,444 +0,0 @@ -// @ts-ignore -import { Swiper, SwiperOptions } from './types/index.d.ts'; - -declare const register: () => void; - -// prettier-ignore -interface SwiperContainerEventMap extends Omit { - /** - * Event will be fired in when autoplay started - */ - autoplaystart: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired when autoplay stopped - */ - autoplaystop: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired on autoplay pause - */ - autoplaypause: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired on autoplay resume - */ - autoplayresume: CustomEvent<[swiper: Swiper]>; - /** - * Event triggers continuously while autoplay is enabled. It contains time left (in ms) before transition to next slide and percentage of that time related to autoplay delay - */ - autoplaytimeleft: CustomEvent<[swiper: Swiper, timeLeft: number, percentage: number]>; - /** - * Event will be fired when slide changed with autoplay - */ - autoplay: CustomEvent<[swiper: Swiper]>;/** - * Event will be fired on key press - */ - keypress: CustomEvent<[swiper: Swiper, keyCode: string]>;/** - * Event will be fired on navigation hide - */ - navigationhide: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired on navigation show - */ - navigationshow: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired on navigation prev button click - */ - navigationprev: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired on navigation next button click - */ - navigationnext: CustomEvent<[swiper: Swiper]>;/** - * Event will be fired on mousewheel scroll - */ - scroll: CustomEvent<[swiper: Swiper, event: WheelEvent]>;/** - * Event will be fired on window hash change - */ - hashchange: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired when swiper updates the hash - */ - hashset: CustomEvent<[swiper: Swiper]>;/** - * Event will be fired after pagination rendered - */ - paginationrender: CustomEvent<[swiper: Swiper, paginationEl: HTMLElement]>; - - /** - * Event will be fired when pagination updated - */ - paginationupdate: CustomEvent<[swiper: Swiper, paginationEl: HTMLElement]>; - - /** - * Event will be fired on pagination hide - */ - paginationhide: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired on pagination show - */ - paginationshow: CustomEvent<[swiper: Swiper]>;/** - * Event will be fired on zoom change - */ - zoomchange: CustomEvent<[swiper: Swiper, scale: number, imageEl: HTMLElement, slideEl: HTMLElement]>;/** - * Event will be fired on draggable scrollbar drag start - */ - scrollbardragstart: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired on draggable scrollbar drag move - */ - scrollbardragmove: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired on draggable scrollbar drag end - */ - scrollbardragend: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - - /** - * Fired right after Swiper initialization. - * @note Note that with `swiper.on('init')` syntax it will - * work only in case you set `init: false` parameter. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * init: CustomEvent<[false, - * // other parameters - * }]>; - * swiper.on('init', function() { - * // do something - * }); - * // init Swiper - * swiper.init(); - * ``` - * - * @example - * ```js - * // Otherwise use it as the parameter: - * const swiper = new Swiper('.swiper', { - * // other parameters - * on: CustomEvent<[{ - * init: function { - * // do something - * }, - * } - * })]>; - * ``` - */ - init: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired right before Swiper destroyed - */ - beforedestroy: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired after slides and their sizes are calculated and updated - */ - slidesupdated: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired when currently active slide is changed - */ - slidechange: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired in the beginning of animation to other slide (next or previous). - */ - slidechangetransitionstart: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired after animation to other slide (next or previous). - */ - slidechangetransitionend: CustomEvent<[swiper: Swiper]>; - - /** - * Same as "slideChangeTransitionStart" but for "forward" direction only - */ - slidenexttransitionstart: CustomEvent<[swiper: Swiper]>; - - /** - * Same as "slideChangeTransitionEnd" but for "forward" direction only - */ - slidenexttransitionend: CustomEvent<[swiper: Swiper]>; - - /** - * Same as "slideChangeTransitionStart" but for "backward" direction only - */ - slideprevtransitionstart: CustomEvent<[swiper: Swiper]>; - - /** - * Same as "slideChangeTransitionEnd" but for "backward" direction only - */ - slideprevtransitionend: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired in the beginning of transition. - */ - transitionstart: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired after transition. - */ - transitionend: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired when user touch Swiper. Receives `pointerdown` event as an arguments. - */ - touchstart: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired when user touch and move finger over Swiper. Receives `pointermove` event as an arguments. - */ - touchmove: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired when user touch and move finger over Swiper in direction opposite to direction parameter. Receives `pointermove` event as an arguments. - */ - touchmoveopposite: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired when user touch and move finger over Swiper and move it. Receives `pointermove` event as an arguments. - */ - slidermove: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired when user release Swiper. Receives `pointerup` event as an arguments. - */ - touchend: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired when user click/tap on Swiper. Receives `pointerup` event as an arguments. - */ - click: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired when user click/tap on Swiper. Receives `pointerup` event as an arguments. - */ - tap: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired when user double tap on Swiper's container. Receives `pointerup` event as an arguments - */ - doubletap: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - - /** - * Event will be fired when Swiper progress is changed, as an arguments it receives progress that is always from 0 to 1 - */ - progress: CustomEvent<[swiper: Swiper, progress: number]>; - - /** - * Event will be fired when Swiper reach its beginning (initial position) - */ - reachbeginning: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired when Swiper reach last slide - */ - reachend: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired when Swiper goes to beginning or end position - */ - toedge: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired when Swiper goes from beginning or end position - */ - fromedge: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired when swiper's wrapper change its position. Receives current translate value as an arguments - */ - settranslate: CustomEvent<[swiper: Swiper, translate: number]>; - - /** - * Event will be fired everytime when swiper starts animation. Receives current transition duration (in ms) as an arguments - */ - settransition: CustomEvent<[swiper: Swiper, transition: number]>; - - /** - * Event will be fired on window resize right before swiper's onresize manipulation - */ - resize: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired if observer is enabled and it detects DOM mutations - */ - observerupdate: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired right before "loop fix" - */ - beforeloopfix: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired after "loop fix" - */ - loopfix: CustomEvent<[swiper: Swiper]>; - - /** - * Event will be fired on breakpoint change - */ - breakpoint: CustomEvent<[swiper: Swiper, breakpointParams: SwiperOptions]>; - - /** - * !INTERNAL: Event will fired right before breakpoint change - */ - - - /** - * !INTERNAL: Event will fired after setting CSS classes on swiper container element - */ - - - /** - * !INTERNAL: Event will fired after setting CSS classes on swiper slide element - */ - - - /** - * !INTERNAL: Event will fired after setting CSS classes on all swiper slides - */ - - - /** - * !INTERNAL: Event will fired as soon as swiper instance available (before init) - */ - - - /** - * !INTERNAL: Event will be fired on free mode touch end (release) and there will no be momentum - */ - - - /** - * Event will fired on active index change - */ - activeindexchange: CustomEvent<[swiper: Swiper]>; - /** - * Event will fired on snap index change - */ - snapindexchange: CustomEvent<[swiper: Swiper]>; - /** - * Event will fired on real index change - */ - realindexchange: CustomEvent<[swiper: Swiper]>; - /** - * Event will fired right after initialization - */ - afterinit: CustomEvent<[swiper: Swiper]>; - /** - * Event will fired right before initialization - */ - beforeinit: CustomEvent<[swiper: Swiper]>; - /** - * Event will fired before resize handler - */ - beforeresize: CustomEvent<[swiper: Swiper]>; - /** - * Event will fired before slide change transition start - */ - beforeslidechangestart: CustomEvent<[swiper: Swiper]>; - /** - * Event will fired before transition start - */ - beforetransitionstart: CustomEvent<[swiper: Swiper, speed: number, internal: any]>; // what is internal? - /** - * Event will fired on direction change - */ - changedirection: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired when user double click/tap on Swiper - */ - doubleclick: CustomEvent<[swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent]>; - /** - * Event will be fired on swiper destroy - */ - destroy: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired on momentum bounce - */ - momentumbounce: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired on orientation change (e.g. landscape -> portrait) - */ - orientationchange: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired in the beginning of animation of resetting slide to current one - */ - slideresettransitionstart: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired in the end of animation of resetting slide to current one - */ - slideresettransitionend: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired with first touch/drag move - */ - sliderfirstmove: CustomEvent<[swiper: Swiper, event: TouchEvent]>; - /** - * Event will be fired when number of slides has changed - */ - slideslengthchange: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired when slides grid has changed - */ - slidesgridlengthchange: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired when snap grid has changed - */ - snapgridlengthchange: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired after swiper.update() call - */ - update: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired when swiper is locked (when `watchOverflow` enabled) - */ - lock: CustomEvent<[swiper: Swiper]>; - /** - * Event will be fired when swiper is unlocked (when `watchOverflow` enabled) - */ - unlock: CustomEvent<[swiper: Swiper]>; - -} - -interface SwiperContainer extends HTMLElement {} -interface SwiperContainer extends SwiperOptions { - swiper: Swiper; - initialize: () => void; - injectStyles: string[]; - injectStylesUrls: string[]; - eventsPrefix: string; - addEventListener( - type: K, - listener: (this: SwiperContainer, ev: SwiperContainerEventMap[K]) => any, - options?: boolean | AddEventListenerOptions, - ): void; - addEventListener( - type: string, - listener: EventListenerOrEventListenerObject, - options?: boolean | AddEventListenerOptions, - ): void; - removeEventListener( - type: K, - listener: (this: SwiperContainer, ev: SwiperContainerEventMap[K]) => any, - options?: boolean | EventListenerOptions, - ): void; - removeEventListener( - type: string, - listener: EventListenerOrEventListenerObject, - options?: boolean | EventListenerOptions, - ): void; -} - -interface SwiperSlide extends HTMLElement { - lazy: string | boolean; -} - -declare global { - interface HTMLElementTagNameMap { - 'swiper-container': SwiperContainer; - 'swiper-slide': SwiperSlide; - } -} - -export { SwiperContainer, SwiperSlide, register }; diff --git a/node_modules/swiper/swiper-element.js b/node_modules/swiper/swiper-element.js deleted file mode 100644 index a52492f..0000000 --- a/node_modules/swiper/swiper-element.js +++ /dev/null @@ -1,4916 +0,0 @@ -/** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -(function () { - 'use strict'; - - /** - * SSR Window 4.0.2 - * Better handling for window object in SSR environment - * https://github.com/nolimits4web/ssr-window - * - * Copyright 2021, Vladimir Kharlampidi - * - * Licensed under MIT - * - * Released on: December 13, 2021 - */ - /* eslint-disable no-param-reassign */ - function isObject$2(obj) { - return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object; - } - function extend$2(target, src) { - if (target === void 0) { - target = {}; - } - if (src === void 0) { - src = {}; - } - Object.keys(src).forEach(key => { - if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject$2(src[key]) && isObject$2(target[key]) && Object.keys(src[key]).length > 0) { - extend$2(target[key], src[key]); - } - }); - } - const ssrDocument = { - 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 getDocument() { - const doc = typeof document !== 'undefined' ? document : {}; - extend$2(doc, ssrDocument); - return doc; - } - const ssrWindow = { - document: ssrDocument, - navigator: { - userAgent: '' - }, - location: { - hash: '', - host: '', - hostname: '', - href: '', - origin: '', - pathname: '', - protocol: '', - search: '' - }, - history: { - replaceState() {}, - pushState() {}, - go() {}, - back() {} - }, - CustomEvent: function CustomEvent() { - return this; - }, - addEventListener() {}, - removeEventListener() {}, - getComputedStyle() { - return { - getPropertyValue() { - return ''; - } - }; - }, - Image() {}, - Date() {}, - screen: {}, - setTimeout() {}, - clearTimeout() {}, - matchMedia() { - return {}; - }, - requestAnimationFrame(callback) { - if (typeof setTimeout === 'undefined') { - callback(); - return null; - } - return setTimeout(callback, 0); - }, - cancelAnimationFrame(id) { - if (typeof setTimeout === 'undefined') { - return; - } - clearTimeout(id); - } - }; - function getWindow() { - const win = typeof window !== 'undefined' ? window : {}; - extend$2(win, ssrWindow); - return win; - } - - function classesToTokens(classes) { - if (classes === void 0) { - classes = ''; - } - return classes.trim().split(' ').filter(c => !!c.trim()); - } - - function deleteProps(obj) { - const object = obj; - Object.keys(object).forEach(key => { - try { - object[key] = null; - } catch (e) { - // no getter for object - } - try { - delete object[key]; - } catch (e) { - // something got wrong - } - }); - } - function nextTick(callback, delay) { - if (delay === void 0) { - delay = 0; - } - return setTimeout(callback, delay); - } - function now() { - return Date.now(); - } - function getComputedStyle$1(el) { - const window = getWindow(); - let style; - if (window.getComputedStyle) { - style = window.getComputedStyle(el, null); - } - if (!style && el.currentStyle) { - style = el.currentStyle; - } - if (!style) { - style = el.style; - } - return style; - } - function getTranslate(el, axis) { - if (axis === void 0) { - axis = 'x'; - } - const window = getWindow(); - let matrix; - let curTransform; - let transformMatrix; - const curStyle = getComputedStyle$1(el); - if (window.WebKitCSSMatrix) { - curTransform = curStyle.transform || curStyle.webkitTransform; - if (curTransform.split(',').length > 6) { - curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', '); - } - // Some old versions of Webkit choke when 'none' is passed; pass - // empty string instead in this case - transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); - } else { - transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); - matrix = transformMatrix.toString().split(','); - } - if (axis === 'x') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); - // Normal Browsers - else curTransform = parseFloat(matrix[4]); - } - if (axis === 'y') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); - // Normal Browsers - else curTransform = parseFloat(matrix[5]); - } - return curTransform || 0; - } - function isObject$1(o) { - return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object'; - } - function isNode(node) { - // eslint-disable-next-line - if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') { - return node instanceof HTMLElement; - } - return node && (node.nodeType === 1 || node.nodeType === 11); - } - function extend$1() { - const to = Object(arguments.length <= 0 ? undefined : arguments[0]); - const noExtend = ['__proto__', 'constructor', 'prototype']; - for (let i = 1; i < arguments.length; i += 1) { - const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i]; - if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) { - const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0); - for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { - const nextKey = keysArray[nextIndex]; - const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); - if (desc !== undefined && desc.enumerable) { - if (isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) { - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend$1(to[nextKey], nextSource[nextKey]); - } - } else if (!isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) { - to[nextKey] = {}; - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend$1(to[nextKey], nextSource[nextKey]); - } - } else { - to[nextKey] = nextSource[nextKey]; - } - } - } - } - } - return to; - } - function setCSSProperty(el, varName, varValue) { - el.style.setProperty(varName, varValue); - } - function animateCSSModeScroll(_ref) { - let { - swiper, - targetPosition, - side - } = _ref; - const window = getWindow(); - const startPosition = -swiper.translate; - let startTime = null; - let time; - const duration = swiper.params.speed; - swiper.wrapperEl.style.scrollSnapType = 'none'; - window.cancelAnimationFrame(swiper.cssModeFrameID); - const dir = targetPosition > startPosition ? 'next' : 'prev'; - const isOutOfBound = (current, target) => { - return dir === 'next' && current >= target || dir === 'prev' && current <= target; - }; - const animate = () => { - time = new Date().getTime(); - if (startTime === null) { - startTime = time; - } - const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); - const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2; - let currentPosition = startPosition + easeProgress * (targetPosition - startPosition); - if (isOutOfBound(currentPosition, targetPosition)) { - currentPosition = targetPosition; - } - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - if (isOutOfBound(currentPosition, targetPosition)) { - swiper.wrapperEl.style.overflow = 'hidden'; - swiper.wrapperEl.style.scrollSnapType = ''; - setTimeout(() => { - swiper.wrapperEl.style.overflow = ''; - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - }); - window.cancelAnimationFrame(swiper.cssModeFrameID); - return; - } - swiper.cssModeFrameID = window.requestAnimationFrame(animate); - }; - animate(); - } - function elementChildren(element, selector) { - if (selector === void 0) { - selector = ''; - } - return [...element.children].filter(el => el.matches(selector)); - } - function showWarning(text) { - try { - console.warn(text); - return; - } catch (err) { - // err - } - } - function createElement(tag, classes) { - if (classes === void 0) { - classes = []; - } - const el = document.createElement(tag); - el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes))); - return el; - } - function elementPrevAll(el, selector) { - const prevEls = []; - while (el.previousElementSibling) { - const prev = el.previousElementSibling; // eslint-disable-line - if (selector) { - if (prev.matches(selector)) prevEls.push(prev); - } else prevEls.push(prev); - el = prev; - } - return prevEls; - } - function elementNextAll(el, selector) { - const nextEls = []; - while (el.nextElementSibling) { - const next = el.nextElementSibling; // eslint-disable-line - if (selector) { - if (next.matches(selector)) nextEls.push(next); - } else nextEls.push(next); - el = next; - } - return nextEls; - } - function elementStyle(el, prop) { - const window = getWindow(); - return window.getComputedStyle(el, null).getPropertyValue(prop); - } - function elementIndex(el) { - let child = el; - let i; - if (child) { - i = 0; - // eslint-disable-next-line - while ((child = child.previousSibling) !== null) { - if (child.nodeType === 1) i += 1; - } - return i; - } - return undefined; - } - function elementParents(el, selector) { - const parents = []; // eslint-disable-line - let parent = el.parentElement; // eslint-disable-line - while (parent) { - if (selector) { - if (parent.matches(selector)) parents.push(parent); - } else { - parents.push(parent); - } - parent = parent.parentElement; - } - return parents; - } - function elementOuterSize(el, size, includeMargins) { - const window = getWindow(); - if (includeMargins) { - return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom')); - } - return el.offsetWidth; - } - - let support; - function calcSupport() { - const window = getWindow(); - const document = getDocument(); - return { - smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style, - touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch) - }; - } - function getSupport() { - if (!support) { - support = calcSupport(); - } - return support; - } - - let deviceCached; - function calcDevice(_temp) { - let { - userAgent - } = _temp === void 0 ? {} : _temp; - const support = getSupport(); - const window = getWindow(); - const platform = window.navigator.platform; - const ua = userAgent || window.navigator.userAgent; - const device = { - ios: false, - android: false - }; - const screenWidth = window.screen.width; - const screenHeight = window.screen.height; - const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line - let ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); - const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); - const windows = platform === 'Win32'; - let macos = platform === 'MacIntel'; - - // iPadOs 13 fix - const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810']; - if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) { - ipad = ua.match(/(Version)\/([\d.]+)/); - if (!ipad) ipad = [0, 1, '13_0_0']; - macos = false; - } - - // Android - if (android && !windows) { - device.os = 'android'; - device.android = true; - } - if (ipad || iphone || ipod) { - device.os = 'ios'; - device.ios = true; - } - - // Export object - return device; - } - function getDevice(overrides) { - if (overrides === void 0) { - overrides = {}; - } - if (!deviceCached) { - deviceCached = calcDevice(overrides); - } - return deviceCached; - } - - let browser; - function calcBrowser() { - const window = getWindow(); - const device = getDevice(); - let needPerspectiveFix = false; - function isSafari() { - const ua = window.navigator.userAgent.toLowerCase(); - return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; - } - if (isSafari()) { - const ua = String(window.navigator.userAgent); - if (ua.includes('Version/')) { - const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num)); - needPerspectiveFix = major < 16 || major === 16 && minor < 2; - } - } - const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent); - const isSafariBrowser = isSafari(); - const need3dFix = isSafariBrowser || isWebView && device.ios; - return { - isSafari: needPerspectiveFix || isSafariBrowser, - needPerspectiveFix, - need3dFix, - isWebView - }; - } - function getBrowser() { - if (!browser) { - browser = calcBrowser(); - } - return browser; - } - - function Resize(_ref) { - let { - swiper, - on, - emit - } = _ref; - const window = getWindow(); - let observer = null; - let animationFrame = null; - const resizeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('beforeResize'); - emit('resize'); - }; - const createObserver = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - observer = new ResizeObserver(entries => { - animationFrame = window.requestAnimationFrame(() => { - const { - width, - height - } = swiper; - let newWidth = width; - let newHeight = height; - entries.forEach(_ref2 => { - let { - contentBoxSize, - contentRect, - target - } = _ref2; - if (target && target !== swiper.el) return; - newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize; - newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize; - }); - if (newWidth !== width || newHeight !== height) { - resizeHandler(); - } - }); - }); - observer.observe(swiper.el); - }; - const removeObserver = () => { - if (animationFrame) { - window.cancelAnimationFrame(animationFrame); - } - if (observer && observer.unobserve && swiper.el) { - observer.unobserve(swiper.el); - observer = null; - } - }; - const orientationChangeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('orientationchange'); - }; - on('init', () => { - if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') { - createObserver(); - return; - } - window.addEventListener('resize', resizeHandler); - window.addEventListener('orientationchange', orientationChangeHandler); - }); - on('destroy', () => { - removeObserver(); - window.removeEventListener('resize', resizeHandler); - window.removeEventListener('orientationchange', orientationChangeHandler); - }); - } - - function Observer(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const observers = []; - const window = getWindow(); - const attach = function (target, options) { - if (options === void 0) { - options = {}; - } - const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; - const observer = new ObserverFunc(mutations => { - // The observerUpdate event should only be triggered - // once despite the number of mutations. Additional - // triggers are redundant and are very costly - if (swiper.__preventObserver__) return; - if (mutations.length === 1) { - emit('observerUpdate', mutations[0]); - return; - } - const observerUpdate = function observerUpdate() { - emit('observerUpdate', mutations[0]); - }; - if (window.requestAnimationFrame) { - window.requestAnimationFrame(observerUpdate); - } else { - window.setTimeout(observerUpdate, 0); - } - }); - observer.observe(target, { - attributes: typeof options.attributes === 'undefined' ? true : options.attributes, - childList: typeof options.childList === 'undefined' ? true : options.childList, - characterData: typeof options.characterData === 'undefined' ? true : options.characterData - }); - observers.push(observer); - }; - const init = () => { - if (!swiper.params.observer) return; - if (swiper.params.observeParents) { - const containerParents = elementParents(swiper.hostEl); - for (let i = 0; i < containerParents.length; i += 1) { - attach(containerParents[i]); - } - } - // Observe container - attach(swiper.hostEl, { - childList: swiper.params.observeSlideChildren - }); - - // Observe wrapper - attach(swiper.wrapperEl, { - attributes: false - }); - }; - const destroy = () => { - observers.forEach(observer => { - observer.disconnect(); - }); - observers.splice(0, observers.length); - }; - extendParams({ - observer: false, - observeParents: false, - observeSlideChildren: false - }); - on('init', init); - on('destroy', destroy); - } - - /* eslint-disable no-underscore-dangle */ - - var eventsEmitter = { - on(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - events.split(' ').forEach(event => { - if (!self.eventsListeners[event]) self.eventsListeners[event] = []; - self.eventsListeners[event][method](handler); - }); - return self; - }, - once(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - function onceHandler() { - self.off(events, onceHandler); - if (onceHandler.__emitterProxy) { - delete onceHandler.__emitterProxy; - } - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - handler.apply(self, args); - } - onceHandler.__emitterProxy = handler; - return self.on(events, onceHandler, priority); - }, - onAny(handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - if (self.eventsAnyListeners.indexOf(handler) < 0) { - self.eventsAnyListeners[method](handler); - } - return self; - }, - offAny(handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsAnyListeners) return self; - const index = self.eventsAnyListeners.indexOf(handler); - if (index >= 0) { - self.eventsAnyListeners.splice(index, 1); - } - return self; - }, - off(events, handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - events.split(' ').forEach(event => { - if (typeof handler === 'undefined') { - self.eventsListeners[event] = []; - } else if (self.eventsListeners[event]) { - self.eventsListeners[event].forEach((eventHandler, index) => { - if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) { - self.eventsListeners[event].splice(index, 1); - } - }); - } - }); - return self; - }, - emit() { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - let events; - let data; - let context; - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - if (typeof args[0] === 'string' || Array.isArray(args[0])) { - events = args[0]; - data = args.slice(1, args.length); - context = self; - } else { - events = args[0].events; - data = args[0].data; - context = args[0].context || self; - } - data.unshift(context); - const eventsArray = Array.isArray(events) ? events : events.split(' '); - eventsArray.forEach(event => { - if (self.eventsAnyListeners && self.eventsAnyListeners.length) { - self.eventsAnyListeners.forEach(eventHandler => { - eventHandler.apply(context, [event, ...data]); - }); - } - if (self.eventsListeners && self.eventsListeners[event]) { - self.eventsListeners[event].forEach(eventHandler => { - eventHandler.apply(context, data); - }); - } - }); - return self; - } - }; - - function updateSize() { - const swiper = this; - let width; - let height; - const el = swiper.el; - if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) { - width = swiper.params.width; - } else { - width = el.clientWidth; - } - if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) { - height = swiper.params.height; - } else { - height = el.clientHeight; - } - if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) { - return; - } - - // Subtract paddings - width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10); - height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10); - if (Number.isNaN(width)) width = 0; - if (Number.isNaN(height)) height = 0; - Object.assign(swiper, { - width, - height, - size: swiper.isHorizontal() ? width : height - }); - } - - function updateSlides() { - const swiper = this; - function getDirectionPropertyValue(node, label) { - return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0); - } - const params = swiper.params; - const { - wrapperEl, - slidesEl, - size: swiperSize, - rtlTranslate: rtl, - wrongRTL - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; - const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`); - const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; - let snapGrid = []; - const slidesGrid = []; - const slidesSizesGrid = []; - let offsetBefore = params.slidesOffsetBefore; - if (typeof offsetBefore === 'function') { - offsetBefore = params.slidesOffsetBefore.call(swiper); - } - let offsetAfter = params.slidesOffsetAfter; - if (typeof offsetAfter === 'function') { - offsetAfter = params.slidesOffsetAfter.call(swiper); - } - const previousSnapGridLength = swiper.snapGrid.length; - const previousSlidesGridLength = swiper.slidesGrid.length; - let spaceBetween = params.spaceBetween; - let slidePosition = -offsetBefore; - let prevSlideSize = 0; - let index = 0; - if (typeof swiperSize === 'undefined') { - return; - } - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - swiper.virtualSize = -spaceBetween; - - // reset margins - slides.forEach(slideEl => { - if (rtl) { - slideEl.style.marginLeft = ''; - } else { - slideEl.style.marginRight = ''; - } - slideEl.style.marginBottom = ''; - slideEl.style.marginTop = ''; - }); - - // reset cssMode offsets - if (params.centeredSlides && params.cssMode) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', ''); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', ''); - } - const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid; - if (gridEnabled) { - swiper.grid.initSlides(slides); - } else if (swiper.grid) { - swiper.grid.unsetSlides(); - } - - // Calc slides - let slideSize; - const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => { - return typeof params.breakpoints[key].slidesPerView !== 'undefined'; - }).length > 0; - for (let i = 0; i < slidesLength; i += 1) { - slideSize = 0; - let slide; - if (slides[i]) slide = slides[i]; - if (gridEnabled) { - swiper.grid.updateSlide(i, slide, slides); - } - if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line - - if (params.slidesPerView === 'auto') { - if (shouldResetSlideSize) { - slides[i].style[swiper.getDirectionLabel('width')] = ``; - } - const slideStyles = getComputedStyle(slide); - const currentTransform = slide.style.transform; - const currentWebKitTransform = slide.style.webkitTransform; - if (currentTransform) { - slide.style.transform = 'none'; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = 'none'; - } - if (params.roundLengths) { - slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true); - } else { - // eslint-disable-next-line - const width = getDirectionPropertyValue(slideStyles, 'width'); - const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left'); - const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right'); - const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left'); - const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right'); - const boxSizing = slideStyles.getPropertyValue('box-sizing'); - if (boxSizing && boxSizing === 'border-box') { - slideSize = width + marginLeft + marginRight; - } else { - const { - clientWidth, - offsetWidth - } = slide; - slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth); - } - } - if (currentTransform) { - slide.style.transform = currentTransform; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = currentWebKitTransform; - } - if (params.roundLengths) slideSize = Math.floor(slideSize); - } else { - slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView; - if (params.roundLengths) slideSize = Math.floor(slideSize); - if (slides[i]) { - slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`; - } - } - if (slides[i]) { - slides[i].swiperSlideSize = slideSize; - } - slidesSizesGrid.push(slideSize); - if (params.centeredSlides) { - slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; - if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - } else { - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - slidePosition = slidePosition + slideSize + spaceBetween; - } - swiper.virtualSize += slideSize + spaceBetween; - prevSlideSize = slideSize; - index += 1; - } - swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; - if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { - wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`; - } - if (params.setWrapperSize) { - wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; - } - if (gridEnabled) { - swiper.grid.updateWrapperSize(slideSize, snapGrid); - } - - // Remove last grid elements depending on width - if (!params.centeredSlides) { - const newSlidesGrid = []; - for (let i = 0; i < snapGrid.length; i += 1) { - let slidesGridItem = snapGrid[i]; - if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem); - if (snapGrid[i] <= swiper.virtualSize - swiperSize) { - newSlidesGrid.push(slidesGridItem); - } - } - snapGrid = newSlidesGrid; - if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { - snapGrid.push(swiper.virtualSize - swiperSize); - } - } - if (isVirtual && params.loop) { - const size = slidesSizesGrid[0] + spaceBetween; - if (params.slidesPerGroup > 1) { - const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup); - const groupSize = size * params.slidesPerGroup; - for (let i = 0; i < groups; i += 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize); - } - } - for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) { - if (params.slidesPerGroup === 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + size); - } - slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size); - swiper.virtualSize += size; - } - } - if (snapGrid.length === 0) snapGrid = [0]; - if (spaceBetween !== 0) { - const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight'); - slides.filter((_, slideIndex) => { - if (!params.cssMode || params.loop) return true; - if (slideIndex === slides.length - 1) { - return false; - } - return true; - }).forEach(slideEl => { - slideEl.style[key] = `${spaceBetween}px`; - }); - } - if (params.centeredSlides && params.centeredSlidesBounds) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const maxSnap = allSlidesSize - swiperSize; - snapGrid = snapGrid.map(snap => { - if (snap <= 0) return -offsetBefore; - if (snap > maxSnap) return maxSnap + offsetAfter; - return snap; - }); - } - if (params.centerInsufficientSlides) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0); - if (allSlidesSize + offsetSize < swiperSize) { - const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2; - snapGrid.forEach((snap, snapIndex) => { - snapGrid[snapIndex] = snap - allSlidesOffset; - }); - slidesGrid.forEach((snap, snapIndex) => { - slidesGrid[snapIndex] = snap + allSlidesOffset; - }); - } - } - Object.assign(swiper, { - slides, - snapGrid, - slidesGrid, - slidesSizesGrid - }); - if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`); - const addToSnapGrid = -swiper.snapGrid[0]; - const addToSlidesGrid = -swiper.slidesGrid[0]; - swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid); - swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid); - } - if (slidesLength !== previousSlidesLength) { - swiper.emit('slidesLengthChange'); - } - if (snapGrid.length !== previousSnapGridLength) { - if (swiper.params.watchOverflow) swiper.checkOverflow(); - swiper.emit('snapGridLengthChange'); - } - if (slidesGrid.length !== previousSlidesGridLength) { - swiper.emit('slidesGridLengthChange'); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - swiper.emit('slidesUpdated'); - if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) { - const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`; - const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass); - if (slidesLength <= params.maxBackfaceHiddenSlides) { - if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass); - } else if (hasClassBackfaceClassAdded) { - swiper.el.classList.remove(backFaceHiddenClass); - } - } - } - - function updateAutoHeight(speed) { - const swiper = this; - const activeSlides = []; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - let newHeight = 0; - let i; - if (typeof speed === 'number') { - swiper.setTransition(speed); - } else if (speed === true) { - swiper.setTransition(swiper.params.speed); - } - const getSlideByIndex = index => { - if (isVirtual) { - return swiper.slides[swiper.getSlideIndexByData(index)]; - } - return swiper.slides[index]; - }; - // Find slides currently in view - if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { - if (swiper.params.centeredSlides) { - (swiper.visibleSlides || []).forEach(slide => { - activeSlides.push(slide); - }); - } else { - for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { - const index = swiper.activeIndex + i; - if (index > swiper.slides.length && !isVirtual) break; - activeSlides.push(getSlideByIndex(index)); - } - } - } else { - activeSlides.push(getSlideByIndex(swiper.activeIndex)); - } - - // Find new height from highest slide in view - for (i = 0; i < activeSlides.length; i += 1) { - if (typeof activeSlides[i] !== 'undefined') { - const height = activeSlides[i].offsetHeight; - newHeight = height > newHeight ? height : newHeight; - } - } - - // Update Height - if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`; - } - - function updateSlidesOffset() { - const swiper = this; - const slides = swiper.slides; - // eslint-disable-next-line - const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0; - for (let i = 0; i < slides.length; i += 1) { - slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment(); - } - } - - const toggleSlideClasses$1 = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } - }; - function updateSlidesProgress(translate) { - if (translate === void 0) { - translate = this && this.translate || 0; - } - const swiper = this; - const params = swiper.params; - const { - slides, - rtlTranslate: rtl, - snapGrid - } = swiper; - if (slides.length === 0) return; - if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); - let offsetCenter = -translate; - if (rtl) offsetCenter = translate; - swiper.visibleSlidesIndexes = []; - swiper.visibleSlides = []; - let spaceBetween = params.spaceBetween; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - for (let i = 0; i < slides.length; i += 1) { - const slide = slides[i]; - let slideOffset = slide.swiperSlideOffset; - if (params.cssMode && params.centeredSlides) { - slideOffset -= slides[0].swiperSlideOffset; - } - const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const slideBefore = -(offsetCenter - slideOffset); - const slideAfter = slideBefore + swiper.slidesSizesGrid[i]; - const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i]; - const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size; - if (isVisible) { - swiper.visibleSlides.push(slide); - swiper.visibleSlidesIndexes.push(i); - } - toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass); - toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass); - slide.progress = rtl ? -slideProgress : slideProgress; - slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; - } - } - - function updateProgress(translate) { - const swiper = this; - if (typeof translate === 'undefined') { - const multiplier = swiper.rtlTranslate ? -1 : 1; - // eslint-disable-next-line - translate = swiper && swiper.translate && swiper.translate * multiplier || 0; - } - const params = swiper.params; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - let { - progress, - isBeginning, - isEnd, - progressLoop - } = swiper; - const wasBeginning = isBeginning; - const wasEnd = isEnd; - if (translatesDiff === 0) { - progress = 0; - isBeginning = true; - isEnd = true; - } else { - progress = (translate - swiper.minTranslate()) / translatesDiff; - const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1; - const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1; - isBeginning = isBeginningRounded || progress <= 0; - isEnd = isEndRounded || progress >= 1; - if (isBeginningRounded) progress = 0; - if (isEndRounded) progress = 1; - } - if (params.loop) { - const firstSlideIndex = swiper.getSlideIndexByData(0); - const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1); - const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex]; - const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex]; - const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1]; - const translateAbs = Math.abs(translate); - if (translateAbs >= firstSlideTranslate) { - progressLoop = (translateAbs - firstSlideTranslate) / translateMax; - } else { - progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax; - } - if (progressLoop > 1) progressLoop -= 1; - } - Object.assign(swiper, { - progress, - progressLoop, - isBeginning, - isEnd - }); - if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate); - if (isBeginning && !wasBeginning) { - swiper.emit('reachBeginning toEdge'); - } - if (isEnd && !wasEnd) { - swiper.emit('reachEnd toEdge'); - } - if (wasBeginning && !isBeginning || wasEnd && !isEnd) { - swiper.emit('fromEdge'); - } - swiper.emit('progress', progress); - } - - const toggleSlideClasses = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } - }; - function updateSlidesClasses() { - const swiper = this; - const { - slides, - params, - slidesEl, - activeIndex - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const getFilteredSlide = selector => { - return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0]; - }; - let activeSlide; - let prevSlide; - let nextSlide; - if (isVirtual) { - if (params.loop) { - let slideIndex = activeIndex - swiper.virtual.slidesBefore; - if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex; - if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length; - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`); - } else { - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`); - } - } else { - if (gridEnabled) { - activeSlide = slides.filter(slideEl => slideEl.column === activeIndex)[0]; - nextSlide = slides.filter(slideEl => slideEl.column === activeIndex + 1)[0]; - prevSlide = slides.filter(slideEl => slideEl.column === activeIndex - 1)[0]; - } else { - activeSlide = slides[activeIndex]; - } - } - if (activeSlide) { - if (!gridEnabled) { - // Next Slide - nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !nextSlide) { - nextSlide = slides[0]; - } - - // Prev Slide - prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !prevSlide === 0) { - prevSlide = slides[slides.length - 1]; - } - } - } - slides.forEach(slideEl => { - toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass); - toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass); - toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass); - }); - swiper.emitSlidesClasses(); - } - - const processLazyPreloader = (swiper, imageEl) => { - if (!swiper || swiper.destroyed || !swiper.params) return; - const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; - const slideEl = imageEl.closest(slideSelector()); - if (slideEl) { - let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (!lazyEl && swiper.isElement) { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - } else { - // init later - requestAnimationFrame(() => { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (lazyEl) lazyEl.remove(); - } - }); - } - } - if (lazyEl) lazyEl.remove(); - } - }; - const unlazy = (swiper, index) => { - if (!swiper.slides[index]) return; - const imageEl = swiper.slides[index].querySelector('[loading="lazy"]'); - if (imageEl) imageEl.removeAttribute('loading'); - }; - const preload = swiper => { - if (!swiper || swiper.destroyed || !swiper.params) return; - let amount = swiper.params.lazyPreloadPrevNext; - const len = swiper.slides.length; - if (!len || !amount || amount < 0) return; - amount = Math.min(amount, len); - const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView); - const activeIndex = swiper.activeIndex; - if (swiper.params.grid && swiper.params.grid.rows > 1) { - const activeColumn = activeIndex; - const preloadColumns = [activeColumn - amount]; - preloadColumns.push(...Array.from({ - length: amount - }).map((_, i) => { - return activeColumn + slidesPerView + i; - })); - swiper.slides.forEach((slideEl, i) => { - if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i); - }); - return; - } - const slideIndexLastInView = activeIndex + slidesPerView - 1; - if (swiper.params.rewind || swiper.params.loop) { - for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) { - const realIndex = (i % len + len) % len; - if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex); - } - } else { - for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) { - if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) { - unlazy(swiper, i); - } - } - } - }; - - function getActiveIndexByTranslate(swiper) { - const { - slidesGrid, - params - } = swiper; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - let activeIndex; - for (let i = 0; i < slidesGrid.length; i += 1) { - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) { - activeIndex = i; - } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { - activeIndex = i + 1; - } - } else if (translate >= slidesGrid[i]) { - activeIndex = i; - } - } - // Normalize slideIndex - if (params.normalizeSlideIndex) { - if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0; - } - return activeIndex; - } - function updateActiveIndex(newActiveIndex) { - const swiper = this; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - const { - snapGrid, - params, - activeIndex: previousIndex, - realIndex: previousRealIndex, - snapIndex: previousSnapIndex - } = swiper; - let activeIndex = newActiveIndex; - let snapIndex; - const getVirtualRealIndex = aIndex => { - let realIndex = aIndex - swiper.virtual.slidesBefore; - if (realIndex < 0) { - realIndex = swiper.virtual.slides.length + realIndex; - } - if (realIndex >= swiper.virtual.slides.length) { - realIndex -= swiper.virtual.slides.length; - } - return realIndex; - }; - if (typeof activeIndex === 'undefined') { - activeIndex = getActiveIndexByTranslate(swiper); - } - if (snapGrid.indexOf(translate) >= 0) { - snapIndex = snapGrid.indexOf(translate); - } else { - const skip = Math.min(params.slidesPerGroupSkip, activeIndex); - snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup); - } - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - if (activeIndex === previousIndex && !swiper.params.loop) { - if (snapIndex !== previousSnapIndex) { - swiper.snapIndex = snapIndex; - swiper.emit('snapIndexChange'); - } - return; - } - if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.realIndex = getVirtualRealIndex(activeIndex); - return; - } - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - - // Get real index - let realIndex; - if (swiper.virtual && params.virtual.enabled && params.loop) { - realIndex = getVirtualRealIndex(activeIndex); - } else if (gridEnabled) { - const firstSlideInColumn = swiper.slides.filter(slideEl => slideEl.column === activeIndex)[0]; - let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10); - if (Number.isNaN(activeSlideIndex)) { - activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0); - } - realIndex = Math.floor(activeSlideIndex / params.grid.rows); - } else if (swiper.slides[activeIndex]) { - const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index'); - if (slideIndex) { - realIndex = parseInt(slideIndex, 10); - } else { - realIndex = activeIndex; - } - } else { - realIndex = activeIndex; - } - Object.assign(swiper, { - previousSnapIndex, - snapIndex, - previousRealIndex, - realIndex, - previousIndex, - activeIndex - }); - if (swiper.initialized) { - preload(swiper); - } - swiper.emit('activeIndexChange'); - swiper.emit('snapIndexChange'); - if (swiper.initialized || swiper.params.runCallbacksOnInit) { - if (previousRealIndex !== realIndex) { - swiper.emit('realIndexChange'); - } - swiper.emit('slideChange'); - } - } - - function updateClickedSlide(el, path) { - const swiper = this; - const params = swiper.params; - let slide = el.closest(`.${params.slideClass}, swiper-slide`); - if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) { - [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => { - if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) { - slide = pathEl; - } - }); - } - let slideFound = false; - let slideIndex; - if (slide) { - for (let i = 0; i < swiper.slides.length; i += 1) { - if (swiper.slides[i] === slide) { - slideFound = true; - slideIndex = i; - break; - } - } - } - if (slide && slideFound) { - swiper.clickedSlide = slide; - if (swiper.virtual && swiper.params.virtual.enabled) { - swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10); - } else { - swiper.clickedIndex = slideIndex; - } - } else { - swiper.clickedSlide = undefined; - swiper.clickedIndex = undefined; - return; - } - if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { - swiper.slideToClickedSlide(); - } - } - - var update = { - updateSize, - updateSlides, - updateAutoHeight, - updateSlidesOffset, - updateSlidesProgress, - updateProgress, - updateSlidesClasses, - updateActiveIndex, - updateClickedSlide - }; - - function getSwiperTranslate(axis) { - if (axis === void 0) { - axis = this.isHorizontal() ? 'x' : 'y'; - } - const swiper = this; - const { - params, - rtlTranslate: rtl, - translate, - wrapperEl - } = swiper; - if (params.virtualTranslate) { - return rtl ? -translate : translate; - } - if (params.cssMode) { - return translate; - } - let currentTranslate = getTranslate(wrapperEl, axis); - currentTranslate += swiper.cssOverflowAdjustment(); - if (rtl) currentTranslate = -currentTranslate; - return currentTranslate || 0; - } - - function setTranslate(translate, byController) { - const swiper = this; - const { - rtlTranslate: rtl, - params, - wrapperEl, - progress - } = swiper; - let x = 0; - let y = 0; - const z = 0; - if (swiper.isHorizontal()) { - x = rtl ? -translate : translate; - } else { - y = translate; - } - if (params.roundLengths) { - x = Math.floor(x); - y = Math.floor(y); - } - swiper.previousTranslate = swiper.translate; - swiper.translate = swiper.isHorizontal() ? x : y; - if (params.cssMode) { - wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y; - } else if (!params.virtualTranslate) { - if (swiper.isHorizontal()) { - x -= swiper.cssOverflowAdjustment(); - } else { - y -= swiper.cssOverflowAdjustment(); - } - wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`; - } - - // Check if we need to update progress - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== progress) { - swiper.updateProgress(translate); - } - swiper.emit('setTranslate', swiper.translate, byController); - } - - function minTranslate() { - return -this.snapGrid[0]; - } - - function maxTranslate() { - return -this.snapGrid[this.snapGrid.length - 1]; - } - - function translateTo(translate, speed, runCallbacks, translateBounds, internal) { - if (translate === void 0) { - translate = 0; - } - if (speed === void 0) { - speed = this.params.speed; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (translateBounds === void 0) { - translateBounds = true; - } - const swiper = this; - const { - params, - wrapperEl - } = swiper; - if (swiper.animating && params.preventInteractionOnTransition) { - return false; - } - const minTranslate = swiper.minTranslate(); - const maxTranslate = swiper.maxTranslate(); - let newTranslate; - if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; - - // Update progress - swiper.updateProgress(newTranslate); - if (params.cssMode) { - const isH = swiper.isHorizontal(); - if (speed === 0) { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: -newTranslate, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: -newTranslate, - behavior: 'smooth' - }); - } - return true; - } - if (speed === 0) { - swiper.setTransition(0); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionEnd'); - } - } else { - swiper.setTransition(speed); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionStart'); - } - if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onTranslateToWrapperTransitionEnd) { - swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - swiper.onTranslateToWrapperTransitionEnd = null; - delete swiper.onTranslateToWrapperTransitionEnd; - swiper.animating = false; - if (runCallbacks) { - swiper.emit('transitionEnd'); - } - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - } - } - return true; - } - - var translate = { - getTranslate: getSwiperTranslate, - setTranslate, - minTranslate, - maxTranslate, - translateTo - }; - - function setTransition(duration, byController) { - const swiper = this; - if (!swiper.params.cssMode) { - swiper.wrapperEl.style.transitionDuration = `${duration}ms`; - swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : ''; - } - swiper.emit('setTransition', duration, byController); - } - - function transitionEmit(_ref) { - let { - swiper, - runCallbacks, - direction, - step - } = _ref; - const { - activeIndex, - previousIndex - } = swiper; - let dir = direction; - if (!dir) { - if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; - } - swiper.emit(`transition${step}`); - if (runCallbacks && activeIndex !== previousIndex) { - if (dir === 'reset') { - swiper.emit(`slideResetTransition${step}`); - return; - } - swiper.emit(`slideChangeTransition${step}`); - if (dir === 'next') { - swiper.emit(`slideNextTransition${step}`); - } else { - swiper.emit(`slidePrevTransition${step}`); - } - } - } - - function transitionStart(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - if (params.cssMode) return; - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'Start' - }); - } - - function transitionEnd(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - swiper.animating = false; - if (params.cssMode) return; - swiper.setTransition(0); - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'End' - }); - } - - var transition = { - setTransition, - transitionStart, - transitionEnd - }; - - function slideTo(index, speed, runCallbacks, internal, initial) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - index = parseInt(index, 10); - } - const swiper = this; - let slideIndex = index; - if (slideIndex < 0) slideIndex = 0; - const { - params, - snapGrid, - slidesGrid, - previousIndex, - activeIndex, - rtlTranslate: rtl, - wrapperEl, - enabled - } = swiper; - if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) { - return false; - } - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex); - let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup); - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - const translate = -snapGrid[snapIndex]; - // Normalize slideIndex - if (params.normalizeSlideIndex) { - for (let i = 0; i < slidesGrid.length; i += 1) { - const normalizedTranslate = -Math.floor(translate * 100); - const normalizedGrid = Math.floor(slidesGrid[i] * 100); - const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100); - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) { - slideIndex = i; - } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) { - slideIndex = i + 1; - } - } else if (normalizedTranslate >= normalizedGrid) { - slideIndex = i; - } - } - } - // Directions locks - if (swiper.initialized && slideIndex !== activeIndex) { - if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) { - return false; - } - if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { - if ((activeIndex || 0) !== slideIndex) { - return false; - } - } - } - if (slideIndex !== (previousIndex || 0) && runCallbacks) { - swiper.emit('beforeSlideChangeStart'); - } - - // Update progress - swiper.updateProgress(translate); - let direction; - if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; - - // Update Index - if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) { - swiper.updateActiveIndex(slideIndex); - // Update Height - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - swiper.updateSlidesClasses(); - if (params.effect !== 'slide') { - swiper.setTranslate(translate); - } - if (direction !== 'reset') { - swiper.transitionStart(runCallbacks, direction); - swiper.transitionEnd(runCallbacks, direction); - } - return false; - } - if (params.cssMode) { - const isH = swiper.isHorizontal(); - const t = rtl ? translate : -translate; - if (speed === 0) { - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - if (isVirtual) { - swiper.wrapperEl.style.scrollSnapType = 'none'; - swiper._immediateVirtual = true; - } - if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) { - swiper._cssModeVirtualInitialSet = true; - requestAnimationFrame(() => { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - }); - } else { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - } - if (isVirtual) { - requestAnimationFrame(() => { - swiper.wrapperEl.style.scrollSnapType = ''; - swiper._immediateVirtual = false; - }); - } - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: t, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: t, - behavior: 'smooth' - }); - } - return true; - } - swiper.setTransition(speed); - swiper.setTranslate(translate); - swiper.updateActiveIndex(slideIndex); - swiper.updateSlidesClasses(); - swiper.emit('beforeTransitionStart', speed, internal); - swiper.transitionStart(runCallbacks, direction); - if (speed === 0) { - swiper.transitionEnd(runCallbacks, direction); - } else if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onSlideToWrapperTransitionEnd) { - swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - swiper.onSlideToWrapperTransitionEnd = null; - delete swiper.onSlideToWrapperTransitionEnd; - swiper.transitionEnd(runCallbacks, direction); - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - } - return true; - } - - function slideToLoop(index, speed, runCallbacks, internal) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - const indexAsNumber = parseInt(index, 10); - index = indexAsNumber; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1; - let newIndex = index; - if (swiper.params.loop) { - if (swiper.virtual && swiper.params.virtual.enabled) { - // eslint-disable-next-line - newIndex = newIndex + swiper.virtual.slidesBefore; - } else { - let targetSlideIndex; - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - targetSlideIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - targetSlideIndex = swiper.getSlideIndexByData(newIndex); - } - const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length; - const { - centeredSlides - } = swiper.params; - let slidesPerView = swiper.params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - let needLoopFix = cols - targetSlideIndex < slidesPerView; - if (centeredSlides) { - needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2); - } - if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) { - needLoopFix = false; - } - if (needLoopFix) { - const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev'; - swiper.loopFix({ - direction, - slideTo: true, - activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1, - slideRealIndex: direction === 'next' ? swiper.realIndex : undefined - }); - } - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - newIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - newIndex = swiper.getSlideIndexByData(newIndex); - } - } - } - requestAnimationFrame(() => { - swiper.slideTo(newIndex, speed, runCallbacks, internal); - }); - return swiper; - } - - /* eslint no-unused-vars: "off" */ - function slideNext(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - enabled, - params, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let perGroup = params.slidesPerGroup; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1); - } - const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup; - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'next' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); - }); - return true; - } - } - if (params.rewind && swiper.isEnd) { - return swiper.slideTo(0, speed, runCallbacks, internal); - } - return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slidePrev(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params, - snapGrid, - slidesGrid, - rtlTranslate, - enabled, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'prev' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - } - const translate = rtlTranslate ? swiper.translate : -swiper.translate; - function normalize(val) { - if (val < 0) return -Math.floor(Math.abs(val)); - return Math.floor(val); - } - const normalizedTranslate = normalize(translate); - const normalizedSnapGrid = snapGrid.map(val => normalize(val)); - let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; - if (typeof prevSnap === 'undefined' && params.cssMode) { - let prevSnapIndex; - snapGrid.forEach((snap, snapIndex) => { - if (normalizedTranslate >= snap) { - // prevSnap = snap; - prevSnapIndex = snapIndex; - } - }); - if (typeof prevSnapIndex !== 'undefined') { - prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex]; - } - } - let prevIndex = 0; - if (typeof prevSnap !== 'undefined') { - prevIndex = slidesGrid.indexOf(prevSnap); - if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; - prevIndex = Math.max(prevIndex, 0); - } - } - if (params.rewind && swiper.isBeginning) { - const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - return swiper.slideTo(lastIndex, speed, runCallbacks, internal); - } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(prevIndex, speed, runCallbacks, internal); - }); - return true; - } - return swiper.slideTo(prevIndex, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slideReset(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slideToClosest(speed, runCallbacks, internal, threshold) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (threshold === void 0) { - threshold = 0.5; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let index = swiper.activeIndex; - const skip = Math.min(swiper.params.slidesPerGroupSkip, index); - const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - if (translate >= swiper.snapGrid[snapIndex]) { - // The current translate is on or after the current snap index, so the choice - // is between the current index and the one after it. - const currentSnap = swiper.snapGrid[snapIndex]; - const nextSnap = swiper.snapGrid[snapIndex + 1]; - if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { - index += swiper.params.slidesPerGroup; - } - } else { - // The current translate is before the current snap index, so the choice - // is between the current index and the one before it. - const prevSnap = swiper.snapGrid[snapIndex - 1]; - const currentSnap = swiper.snapGrid[snapIndex]; - if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { - index -= swiper.params.slidesPerGroup; - } - } - index = Math.max(index, 0); - index = Math.min(index, swiper.slidesGrid.length - 1); - return swiper.slideTo(index, speed, runCallbacks, internal); - } - - function slideToClickedSlide() { - const swiper = this; - if (swiper.destroyed) return; - const { - params, - slidesEl - } = swiper; - const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; - let slideToIndex = swiper.clickedIndex; - let realIndex; - const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`; - if (params.loop) { - if (swiper.animating) return; - realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); - if (params.centeredSlides) { - if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else if (slideToIndex > swiper.slides.length - slidesPerView) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else { - swiper.slideTo(slideToIndex); - } - } - - var slide = { - slideTo, - slideToLoop, - slideNext, - slidePrev, - slideReset, - slideToClosest, - slideToClickedSlide - }; - - function loopCreate(slideRealIndex) { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - const initSlides = () => { - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - slides.forEach((el, index) => { - el.setAttribute('data-swiper-slide-index', index); - }); - }; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1); - const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0; - const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0; - const addBlankSlides = amountOfSlides => { - for (let i = 0; i < amountOfSlides; i += 1) { - const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]); - swiper.slidesEl.append(slideEl); - } - }; - if (shouldFillGroup) { - if (params.loopAddBlankSlides) { - const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else if (shouldFillGrid) { - if (params.loopAddBlankSlides) { - const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else { - initSlides(); - } - swiper.loopFix({ - slideRealIndex, - direction: params.centeredSlides ? undefined : 'next' - }); - } - - function loopFix(_temp) { - let { - slideRealIndex, - slideTo = true, - direction, - setTranslate, - activeSlideIndex, - byController, - byMousewheel - } = _temp === void 0 ? {} : _temp; - const swiper = this; - if (!swiper.params.loop) return; - swiper.emit('beforeLoopFix'); - const { - slides, - allowSlidePrev, - allowSlideNext, - slidesEl, - params - } = swiper; - const { - centeredSlides - } = params; - swiper.allowSlidePrev = true; - swiper.allowSlideNext = true; - if (swiper.virtual && params.virtual.enabled) { - if (slideTo) { - if (!params.centeredSlides && swiper.snapIndex === 0) { - swiper.slideTo(swiper.virtual.slides.length, 0, false, true); - } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) { - swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true); - } else if (swiper.snapIndex === swiper.snapGrid.length - 1) { - swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true); - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - swiper.emit('loopFix'); - return; - } - let slidesPerView = params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup; - let loopedSlides = slidesPerGroup; - if (loopedSlides % slidesPerGroup !== 0) { - loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup; - } - loopedSlides += params.loopAdditionalSlides; - swiper.loopedSlides = loopedSlides; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - if (slides.length < slidesPerView + loopedSlides) { - showWarning('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'); - } else if (gridEnabled && params.grid.fill === 'row') { - showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`'); - } - const prependSlidesIndexes = []; - const appendSlidesIndexes = []; - let activeIndex = swiper.activeIndex; - if (typeof activeSlideIndex === 'undefined') { - activeSlideIndex = swiper.getSlideIndex(slides.filter(el => el.classList.contains(params.slideActiveClass))[0]); - } else { - activeIndex = activeSlideIndex; - } - const isNext = direction === 'next' || !direction; - const isPrev = direction === 'prev' || !direction; - let slidesPrepended = 0; - let slidesAppended = 0; - const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length; - const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex; - const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0); - // prepend last slides before start - if (activeColIndexWithShift < loopedSlides) { - slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup); - for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - const colIndexToPrepend = cols - index - 1; - for (let i = slides.length - 1; i >= 0; i -= 1) { - if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i); - } - // slides.forEach((slide, slideIndex) => { - // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex); - // }); - } else { - prependSlidesIndexes.push(cols - index - 1); - } - } - } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) { - slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup); - for (let i = 0; i < slidesAppended; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - slides.forEach((slide, slideIndex) => { - if (slide.column === index) appendSlidesIndexes.push(slideIndex); - }); - } else { - appendSlidesIndexes.push(index); - } - } - } - swiper.__preventObserver__ = true; - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - if (isPrev) { - prependSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.prepend(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - if (isNext) { - appendSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.append(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - swiper.recalcSlides(); - if (params.slidesPerView === 'auto') { - swiper.updateSlides(); - } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) { - swiper.slides.forEach((slide, slideIndex) => { - swiper.grid.updateSlide(slideIndex, slide, swiper.slides); - }); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - if (slideTo) { - if (prependSlidesIndexes.length > 0 && isPrev) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - if (setTranslate) { - const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex + shift, 0, false, true); - swiper.touchEventsData.currentTranslate = swiper.translate; - } - } - } else if (appendSlidesIndexes.length > 0 && isNext) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex - slidesAppended, 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex - shift, 0, false, true); - } - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.controller && swiper.controller.control && !byController) { - const loopParams = { - slideRealIndex, - direction, - setTranslate, - activeSlideIndex, - byController: true - }; - if (Array.isArray(swiper.controller.control)) { - swiper.controller.control.forEach(c => { - if (!c.destroyed && c.params.loop) c.loopFix({ - ...loopParams, - slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - }); - } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) { - swiper.controller.control.loopFix({ - ...loopParams, - slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - } - } - swiper.emit('loopFix'); - } - - function loopDestroy() { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - swiper.recalcSlides(); - const newSlidesOrder = []; - swiper.slides.forEach(slideEl => { - const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex; - newSlidesOrder[index] = slideEl; - }); - swiper.slides.forEach(slideEl => { - slideEl.removeAttribute('data-swiper-slide-index'); - }); - newSlidesOrder.forEach(slideEl => { - slidesEl.append(slideEl); - }); - swiper.recalcSlides(); - swiper.slideTo(swiper.realIndex, 0); - } - - var loop = { - loopCreate, - loopFix, - loopDestroy - }; - - function setGrabCursor(moving) { - const swiper = this; - if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return; - const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl; - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - el.style.cursor = 'move'; - el.style.cursor = moving ? 'grabbing' : 'grab'; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } - } - - function unsetGrabCursor() { - const swiper = this; - if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) { - return; - } - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = ''; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } - } - - var grabCursor = { - setGrabCursor, - unsetGrabCursor - }; - - // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd - function closestElement(selector, base) { - if (base === void 0) { - base = this; - } - function __closestFrom(el) { - if (!el || el === getDocument() || el === getWindow()) return null; - if (el.assignedSlot) el = el.assignedSlot; - const found = el.closest(selector); - if (!found && !el.getRootNode) { - return null; - } - return found || __closestFrom(el.getRootNode().host); - } - return __closestFrom(base); - } - function preventEdgeSwipe(swiper, event, startX) { - const window = getWindow(); - const { - params - } = swiper; - const edgeSwipeDetection = params.edgeSwipeDetection; - const edgeSwipeThreshold = params.edgeSwipeThreshold; - if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) { - if (edgeSwipeDetection === 'prevent') { - event.preventDefault(); - return true; - } - return false; - } - return true; - } - function onTouchStart(event) { - const swiper = this; - const document = getDocument(); - let e = event; - if (e.originalEvent) e = e.originalEvent; - const data = swiper.touchEventsData; - if (e.type === 'pointerdown') { - if (data.pointerId !== null && data.pointerId !== e.pointerId) { - return; - } - data.pointerId = e.pointerId; - } else if (e.type === 'touchstart' && e.targetTouches.length === 1) { - data.touchId = e.targetTouches[0].identifier; - } - if (e.type === 'touchstart') { - // don't proceed touch event - preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX); - return; - } - const { - params, - touches, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (swiper.animating && params.preventInteractionOnTransition) { - return; - } - if (!swiper.animating && params.cssMode && params.loop) { - swiper.loopFix(); - } - let targetEl = e.target; - if (params.touchEventsTarget === 'wrapper') { - if (!swiper.wrapperEl.contains(targetEl)) return; - } - if ('which' in e && e.which === 3) return; - if ('button' in e && e.button > 0) return; - if (data.isTouched && data.isMoved) return; - - // change target el for shadow root component - const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; - // eslint-disable-next-line - const eventPath = e.composedPath ? e.composedPath() : e.path; - if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) { - targetEl = eventPath[0]; - } - const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`; - const isTargetShadow = !!(e.target && e.target.shadowRoot); - - // use closestElement for shadow root element to get the actual closest for nested shadow root element - if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) { - swiper.allowClick = true; - return; - } - if (params.swipeHandler) { - if (!targetEl.closest(params.swipeHandler)) return; - } - touches.currentX = e.pageX; - touches.currentY = e.pageY; - const startX = touches.currentX; - const startY = touches.currentY; - - // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore - - if (!preventEdgeSwipe(swiper, e, startX)) { - return; - } - Object.assign(data, { - isTouched: true, - isMoved: false, - allowTouchCallbacks: true, - isScrolling: undefined, - startMoving: undefined - }); - touches.startX = startX; - touches.startY = startY; - data.touchStartTime = now(); - swiper.allowClick = true; - swiper.updateSize(); - swiper.swipeDirection = undefined; - if (params.threshold > 0) data.allowThresholdMove = false; - let preventDefault = true; - if (targetEl.matches(data.focusableElements)) { - preventDefault = false; - if (targetEl.nodeName === 'SELECT') { - data.isTouched = false; - } - } - if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) { - document.activeElement.blur(); - } - const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; - if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) { - e.preventDefault(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) { - swiper.freeMode.onTouchStart(); - } - swiper.emit('touchStart', e); - } - - function onTouchMove(event) { - const document = getDocument(); - const swiper = this; - const data = swiper.touchEventsData; - const { - params, - touches, - rtlTranslate: rtl, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && event.pointerType === 'mouse') return; - let e = event; - if (e.originalEvent) e = e.originalEvent; - if (e.type === 'pointermove') { - if (data.touchId !== null) return; // return from pointer if we use touch - const id = e.pointerId; - if (id !== data.pointerId) return; - } - let targetTouch; - if (e.type === 'touchmove') { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } else { - targetTouch = e; - } - if (!data.isTouched) { - if (data.startMoving && data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - return; - } - const pageX = targetTouch.pageX; - const pageY = targetTouch.pageY; - if (e.preventedByNestedSwiper) { - touches.startX = pageX; - touches.startY = pageY; - return; - } - if (!swiper.allowTouchMove) { - if (!e.target.matches(data.focusableElements)) { - swiper.allowClick = false; - } - if (data.isTouched) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY - }); - data.touchStartTime = now(); - } - return; - } - if (params.touchReleaseOnEdges && !params.loop) { - if (swiper.isVertical()) { - // Vertical - if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) { - data.isTouched = false; - data.isMoved = false; - return; - } - } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) { - return; - } - } - if (document.activeElement) { - if (e.target === document.activeElement && e.target.matches(data.focusableElements)) { - data.isMoved = true; - swiper.allowClick = false; - return; - } - } - if (data.allowTouchCallbacks) { - swiper.emit('touchMove', e); - } - touches.previousX = touches.currentX; - touches.previousY = touches.currentY; - touches.currentX = pageX; - touches.currentY = pageY; - const diffX = touches.currentX - touches.startX; - const diffY = touches.currentY - touches.startY; - if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return; - if (typeof data.isScrolling === 'undefined') { - let touchAngle; - if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) { - data.isScrolling = false; - } else { - // eslint-disable-next-line - if (diffX * diffX + diffY * diffY >= 25) { - touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI; - data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle; - } - } - } - if (data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - if (typeof data.startMoving === 'undefined') { - if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { - data.startMoving = true; - } - } - if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) { - data.isTouched = false; - return; - } - if (!data.startMoving) { - return; - } - swiper.allowClick = false; - if (!params.cssMode && e.cancelable) { - e.preventDefault(); - } - if (params.touchMoveStopPropagation && !params.nested) { - e.stopPropagation(); - } - let diff = swiper.isHorizontal() ? diffX : diffY; - let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY; - if (params.oneWayMovement) { - diff = Math.abs(diff) * (rtl ? 1 : -1); - touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1); - } - touches.diff = diff; - diff *= params.touchRatio; - if (rtl) { - diff = -diff; - touchesDiff = -touchesDiff; - } - const prevTouchesDirection = swiper.touchesDirection; - swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; - swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next'; - const isLoop = swiper.params.loop && !params.cssMode; - const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev; - if (!data.isMoved) { - if (isLoop && allowLoopFix) { - swiper.loopFix({ - direction: swiper.swipeDirection - }); - } - data.startTranslate = swiper.getTranslate(); - swiper.setTransition(0); - if (swiper.animating) { - const evt = new window.CustomEvent('transitionend', { - bubbles: true, - cancelable: true, - detail: { - bySwiperTouchMove: true - } - }); - swiper.wrapperEl.dispatchEvent(evt); - } - data.allowMomentumBounce = false; - // Grab Cursor - if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(true); - } - swiper.emit('sliderFirstMove', e); - } - let loopFixed; - new Date().getTime(); - if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY, - startTranslate: data.currentTranslate - }); - data.loopSwapReset = true; - data.startTranslate = data.currentTranslate; - return; - } - swiper.emit('sliderMove', e); - data.isMoved = true; - data.currentTranslate = diff + data.startTranslate; - let disableParentSwiper = true; - let resistanceRatio = params.resistanceRatio; - if (params.touchReleaseOnEdges) { - resistanceRatio = 0; - } - if (diff > 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] : swiper.minTranslate())) { - swiper.loopFix({ - direction: 'prev', - setTranslate: true, - activeSlideIndex: 0 - }); - } - if (data.currentTranslate > swiper.minTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio; - } - } - } else if (diff < 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] : swiper.maxTranslate())) { - swiper.loopFix({ - direction: 'next', - setTranslate: true, - activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10))) - }); - } - if (data.currentTranslate < swiper.maxTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio; - } - } - } - if (disableParentSwiper) { - e.preventedByNestedSwiper = true; - } - - // Directions locks - if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && !swiper.allowSlideNext) { - data.currentTranslate = data.startTranslate; - } - - // Threshold - if (params.threshold > 0) { - if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { - if (!data.allowThresholdMove) { - data.allowThresholdMove = true; - touches.startX = touches.currentX; - touches.startY = touches.currentY; - data.currentTranslate = data.startTranslate; - touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; - return; - } - } else { - data.currentTranslate = data.startTranslate; - return; - } - } - if (!params.followFinger || params.cssMode) return; - - // Update active index in free mode - if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) { - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode) { - swiper.freeMode.onTouchMove(); - } - // Update progress - swiper.updateProgress(data.currentTranslate); - // Update translate - swiper.setTranslate(data.currentTranslate); - } - - function onTouchEnd(event) { - const swiper = this; - const data = swiper.touchEventsData; - let e = event; - if (e.originalEvent) e = e.originalEvent; - let targetTouch; - const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel'; - if (!isTouchEvent) { - if (data.touchId !== null) return; // return from pointer if we use touch - if (e.pointerId !== data.pointerId) return; - targetTouch = e; - } else { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } - if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) { - const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView); - if (!proceed) { - return; - } - } - data.pointerId = null; - data.touchId = null; - const { - params, - touches, - rtlTranslate: rtl, - slidesGrid, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (data.allowTouchCallbacks) { - swiper.emit('touchEnd', e); - } - data.allowTouchCallbacks = false; - if (!data.isTouched) { - if (data.isMoved && params.grabCursor) { - swiper.setGrabCursor(false); - } - data.isMoved = false; - data.startMoving = false; - return; - } - - // Return Grab Cursor - if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(false); - } - - // Time diff - const touchEndTime = now(); - const timeDiff = touchEndTime - data.touchStartTime; - - // Tap, doubleTap, Click - if (swiper.allowClick) { - const pathTree = e.path || e.composedPath && e.composedPath(); - swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree); - swiper.emit('tap click', e); - if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) { - swiper.emit('doubleTap doubleClick', e); - } - } - data.lastClickTime = now(); - nextTick(() => { - if (!swiper.destroyed) swiper.allowClick = true; - }); - if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) { - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - return; - } - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - let currentPos; - if (params.followFinger) { - currentPos = rtl ? swiper.translate : -swiper.translate; - } else { - currentPos = -data.currentTranslate; - } - if (params.cssMode) { - return; - } - if (params.freeMode && params.freeMode.enabled) { - swiper.freeMode.onTouchEnd({ - currentPos - }); - return; - } - - // Find current slide - const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop; - let stopIndex = 0; - let groupSize = swiper.slidesSizesGrid[0]; - for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) { - const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (typeof slidesGrid[i + increment] !== 'undefined') { - if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) { - stopIndex = i; - groupSize = slidesGrid[i + increment] - slidesGrid[i]; - } - } else if (swipeToLast || currentPos >= slidesGrid[i]) { - stopIndex = i; - groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; - } - } - let rewindFirstIndex = null; - let rewindLastIndex = null; - if (params.rewind) { - if (swiper.isBeginning) { - rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - } else if (swiper.isEnd) { - rewindFirstIndex = 0; - } - } - // Find current slide size - const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; - const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (timeDiff > params.longSwipesMs) { - // Long touches - if (!params.longSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - if (swiper.swipeDirection === 'next') { - if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex); - } - if (swiper.swipeDirection === 'prev') { - if (ratio > 1 - params.longSwipesRatio) { - swiper.slideTo(stopIndex + increment); - } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) { - swiper.slideTo(rewindLastIndex); - } else { - swiper.slideTo(stopIndex); - } - } - } else { - // Short swipes - if (!params.shortSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl); - if (!isNavButtonTarget) { - if (swiper.swipeDirection === 'next') { - swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment); - } - if (swiper.swipeDirection === 'prev') { - swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex); - } - } else if (e.target === swiper.navigation.nextEl) { - swiper.slideTo(stopIndex + increment); - } else { - swiper.slideTo(stopIndex); - } - } - } - - function onResize() { - const swiper = this; - const { - params, - el - } = swiper; - if (el && el.offsetWidth === 0) return; - - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - - // Save locks - const { - allowSlideNext, - allowSlidePrev, - snapGrid - } = swiper; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - - // Disable locks on resize - swiper.allowSlideNext = true; - swiper.allowSlidePrev = true; - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateSlidesClasses(); - const isVirtualLoop = isVirtual && params.loop; - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) { - swiper.slideTo(swiper.slides.length - 1, 0, false, true); - } else { - if (swiper.params.loop && !isVirtual) { - swiper.slideToLoop(swiper.realIndex, 0, false, true); - } else { - swiper.slideTo(swiper.activeIndex, 0, false, true); - } - } - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - clearTimeout(swiper.autoplay.resizeTimeout); - swiper.autoplay.resizeTimeout = setTimeout(() => { - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - swiper.autoplay.resume(); - } - }, 500); - } - // Return locks after resize - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } - } - - function onClick(e) { - const swiper = this; - if (!swiper.enabled) return; - if (!swiper.allowClick) { - if (swiper.params.preventClicks) e.preventDefault(); - if (swiper.params.preventClicksPropagation && swiper.animating) { - e.stopPropagation(); - e.stopImmediatePropagation(); - } - } - } - - function onScroll() { - const swiper = this; - const { - wrapperEl, - rtlTranslate, - enabled - } = swiper; - if (!enabled) return; - swiper.previousTranslate = swiper.translate; - if (swiper.isHorizontal()) { - swiper.translate = -wrapperEl.scrollLeft; - } else { - swiper.translate = -wrapperEl.scrollTop; - } - // eslint-disable-next-line - if (swiper.translate === 0) swiper.translate = 0; - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== swiper.progress) { - swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate); - } - swiper.emit('setTranslate', swiper.translate, false); - } - - function onLoad(e) { - const swiper = this; - processLazyPreloader(swiper, e.target); - if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) { - return; - } - swiper.update(); - } - - function onDocumentTouchStart() { - const swiper = this; - if (swiper.documentTouchHandlerProceeded) return; - swiper.documentTouchHandlerProceeded = true; - if (swiper.params.touchReleaseOnEdges) { - swiper.el.style.touchAction = 'auto'; - } - } - - const events = (swiper, method) => { - const document = getDocument(); - const { - params, - el, - wrapperEl, - device - } = swiper; - const capture = !!params.nested; - const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; - const swiperMethod = method; - - // Touch Events - document[domMethod]('touchstart', swiper.onDocumentTouchStart, { - passive: false, - capture - }); - el[domMethod]('touchstart', swiper.onTouchStart, { - passive: false - }); - el[domMethod]('pointerdown', swiper.onTouchStart, { - passive: false - }); - document[domMethod]('touchmove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('pointermove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('touchend', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerup', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointercancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('touchcancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerout', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerleave', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('contextmenu', swiper.onTouchEnd, { - passive: true - }); - - // Prevent Links Clicks - if (params.preventClicks || params.preventClicksPropagation) { - el[domMethod]('click', swiper.onClick, true); - } - if (params.cssMode) { - wrapperEl[domMethod]('scroll', swiper.onScroll); - } - - // Resize handler - if (params.updateOnWindowResize) { - swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true); - } else { - swiper[swiperMethod]('observerUpdate', onResize, true); - } - - // Images loader - el[domMethod]('load', swiper.onLoad, { - capture: true - }); - }; - function attachEvents() { - const swiper = this; - const { - params - } = swiper; - swiper.onTouchStart = onTouchStart.bind(swiper); - swiper.onTouchMove = onTouchMove.bind(swiper); - swiper.onTouchEnd = onTouchEnd.bind(swiper); - swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper); - if (params.cssMode) { - swiper.onScroll = onScroll.bind(swiper); - } - swiper.onClick = onClick.bind(swiper); - swiper.onLoad = onLoad.bind(swiper); - events(swiper, 'on'); - } - function detachEvents() { - const swiper = this; - events(swiper, 'off'); - } - var events$1 = { - attachEvents, - detachEvents - }; - - const isGridEnabled = (swiper, params) => { - return swiper.grid && params.grid && params.grid.rows > 1; - }; - function setBreakpoint() { - const swiper = this; - const { - realIndex, - initialized, - params, - el - } = swiper; - const breakpoints = params.breakpoints; - if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; - - // Get breakpoint for window width and update parameters - const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el); - if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; - const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; - const breakpointParams = breakpointOnlyParams || swiper.originalParams; - const wasMultiRow = isGridEnabled(swiper, params); - const isMultiRow = isGridEnabled(swiper, breakpointParams); - const wasGrabCursor = swiper.params.grabCursor; - const isGrabCursor = breakpointParams.grabCursor; - const wasEnabled = params.enabled; - if (wasMultiRow && !isMultiRow) { - el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); - swiper.emitContainerClasses(); - } else if (!wasMultiRow && isMultiRow) { - el.classList.add(`${params.containerModifierClass}grid`); - if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') { - el.classList.add(`${params.containerModifierClass}grid-column`); - } - swiper.emitContainerClasses(); - } - if (wasGrabCursor && !isGrabCursor) { - swiper.unsetGrabCursor(); - } else if (!wasGrabCursor && isGrabCursor) { - swiper.setGrabCursor(); - } - - // Toggle navigation, pagination, scrollbar - ['navigation', 'pagination', 'scrollbar'].forEach(prop => { - if (typeof breakpointParams[prop] === 'undefined') return; - const wasModuleEnabled = params[prop] && params[prop].enabled; - const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; - if (wasModuleEnabled && !isModuleEnabled) { - swiper[prop].disable(); - } - if (!wasModuleEnabled && isModuleEnabled) { - swiper[prop].enable(); - } - }); - const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; - const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); - const wasLoop = params.loop; - if (directionChanged && initialized) { - swiper.changeDirection(); - } - extend$1(swiper.params, breakpointParams); - const isEnabled = swiper.params.enabled; - const hasLoop = swiper.params.loop; - Object.assign(swiper, { - allowTouchMove: swiper.params.allowTouchMove, - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev - }); - if (wasEnabled && !isEnabled) { - swiper.disable(); - } else if (!wasEnabled && isEnabled) { - swiper.enable(); - } - swiper.currentBreakpoint = breakpoint; - swiper.emit('_beforeBreakpoint', breakpointParams); - if (initialized) { - if (needsReLoop) { - swiper.loopDestroy(); - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (!wasLoop && hasLoop) { - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (wasLoop && !hasLoop) { - swiper.loopDestroy(); - } - } - swiper.emit('breakpoint', breakpointParams); - } - - function getBreakpoint(breakpoints, base, containerEl) { - if (base === void 0) { - base = 'window'; - } - if (!breakpoints || base === 'container' && !containerEl) return undefined; - let breakpoint = false; - const window = getWindow(); - const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight; - const points = Object.keys(breakpoints).map(point => { - if (typeof point === 'string' && point.indexOf('@') === 0) { - const minRatio = parseFloat(point.substr(1)); - const value = currentHeight * minRatio; - return { - value, - point - }; - } - return { - value: point, - point - }; - }); - points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10)); - for (let i = 0; i < points.length; i += 1) { - const { - point, - value - } = points[i]; - if (base === 'window') { - if (window.matchMedia(`(min-width: ${value}px)`).matches) { - breakpoint = point; - } - } else if (value <= containerEl.clientWidth) { - breakpoint = point; - } - } - return breakpoint || 'max'; - } - - var breakpoints = { - setBreakpoint, - getBreakpoint - }; - - function prepareClasses(entries, prefix) { - const resultClasses = []; - entries.forEach(item => { - if (typeof item === 'object') { - Object.keys(item).forEach(classNames => { - if (item[classNames]) { - resultClasses.push(prefix + classNames); - } - }); - } else if (typeof item === 'string') { - resultClasses.push(prefix + item); - } - }); - return resultClasses; - } - function addClasses() { - const swiper = this; - const { - classNames, - params, - rtl, - el, - device - } = swiper; - // prettier-ignore - const suffixes = prepareClasses(['initialized', params.direction, { - 'free-mode': swiper.params.freeMode && params.freeMode.enabled - }, { - 'autoheight': params.autoHeight - }, { - 'rtl': rtl - }, { - 'grid': params.grid && params.grid.rows > 1 - }, { - 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' - }, { - 'android': device.android - }, { - 'ios': device.ios - }, { - 'css-mode': params.cssMode - }, { - 'centered': params.cssMode && params.centeredSlides - }, { - 'watch-progress': params.watchSlidesProgress - }], params.containerModifierClass); - classNames.push(...suffixes); - el.classList.add(...classNames); - swiper.emitContainerClasses(); - } - - function removeClasses() { - const swiper = this; - const { - el, - classNames - } = swiper; - el.classList.remove(...classNames); - swiper.emitContainerClasses(); - } - - var classes = { - addClasses, - removeClasses - }; - - function checkOverflow() { - const swiper = this; - const { - isLocked: wasLocked, - params - } = swiper; - const { - slidesOffsetBefore - } = params; - if (slidesOffsetBefore) { - const lastSlideIndex = swiper.slides.length - 1; - const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2; - swiper.isLocked = swiper.size > lastSlideRightEdge; - } else { - swiper.isLocked = swiper.snapGrid.length === 1; - } - if (params.allowSlideNext === true) { - swiper.allowSlideNext = !swiper.isLocked; - } - if (params.allowSlidePrev === true) { - swiper.allowSlidePrev = !swiper.isLocked; - } - if (wasLocked && wasLocked !== swiper.isLocked) { - swiper.isEnd = false; - } - if (wasLocked !== swiper.isLocked) { - swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); - } - } - var checkOverflow$1 = { - checkOverflow - }; - - var defaults = { - init: true, - direction: 'horizontal', - oneWayMovement: false, - swiperElementNodeName: 'SWIPER-CONTAINER', - touchEventsTarget: 'wrapper', - initialSlide: 0, - speed: 300, - cssMode: false, - updateOnWindowResize: true, - resizeObserver: true, - nested: false, - createElements: false, - eventsPrefix: 'swiper', - enabled: true, - focusableElements: 'input, select, option, textarea, button, video, label', - // Overrides - width: null, - height: null, - // - preventInteractionOnTransition: false, - // ssr - userAgent: null, - url: null, - // To support iOS's swipe-to-go-back gesture (when being used in-app). - edgeSwipeDetection: false, - edgeSwipeThreshold: 20, - // Autoheight - autoHeight: false, - // Set wrapper width - setWrapperSize: false, - // Virtual Translate - virtualTranslate: false, - // Effects - effect: 'slide', - // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' - - // Breakpoints - breakpoints: undefined, - breakpointsBase: 'window', - // Slides grid - spaceBetween: 0, - slidesPerView: 1, - slidesPerGroup: 1, - slidesPerGroupSkip: 0, - slidesPerGroupAuto: false, - centeredSlides: false, - centeredSlidesBounds: false, - slidesOffsetBefore: 0, - // in px - slidesOffsetAfter: 0, - // in px - normalizeSlideIndex: true, - centerInsufficientSlides: false, - // Disable swiper and hide navigation when container not overflow - watchOverflow: true, - // Round length - roundLengths: false, - // Touches - touchRatio: 1, - touchAngle: 45, - simulateTouch: true, - shortSwipes: true, - longSwipes: true, - longSwipesRatio: 0.5, - longSwipesMs: 300, - followFinger: true, - allowTouchMove: true, - threshold: 5, - touchMoveStopPropagation: false, - touchStartPreventDefault: true, - touchStartForcePreventDefault: false, - touchReleaseOnEdges: false, - // Unique Navigation Elements - uniqueNavElements: true, - // Resistance - resistance: true, - resistanceRatio: 0.85, - // Progress - watchSlidesProgress: false, - // Cursor - grabCursor: false, - // Clicks - preventClicks: true, - preventClicksPropagation: true, - slideToClickedSlide: false, - // loop - loop: false, - loopAddBlankSlides: true, - loopAdditionalSlides: 0, - loopPreventsSliding: true, - // rewind - rewind: false, - // Swiping/no swiping - allowSlidePrev: true, - allowSlideNext: true, - swipeHandler: null, - // '.swipe-handler', - noSwiping: true, - noSwipingClass: 'swiper-no-swiping', - noSwipingSelector: null, - // Passive Listeners - passiveListeners: true, - maxBackfaceHiddenSlides: 10, - // NS - containerModifierClass: 'swiper-', - // NEW - 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, - // Callbacks - runCallbacksOnInit: true, - // Internals - _emitClasses: false - }; - - function moduleExtendParams(params, allModulesParams) { - return function extendParams(obj) { - if (obj === void 0) { - obj = {}; - } - const moduleParamName = Object.keys(obj)[0]; - const moduleParams = obj[moduleParamName]; - if (typeof moduleParams !== 'object' || moduleParams === null) { - extend$1(allModulesParams, obj); - return; - } - if (params[moduleParamName] === true) { - params[moduleParamName] = { - enabled: true - }; - } - if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) { - params[moduleParamName].auto = true; - } - if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) { - params[moduleParamName].auto = true; - } - if (!(moduleParamName in params && 'enabled' in moduleParams)) { - extend$1(allModulesParams, obj); - return; - } - if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) { - params[moduleParamName].enabled = true; - } - if (!params[moduleParamName]) params[moduleParamName] = { - enabled: false - }; - extend$1(allModulesParams, obj); - }; - } - - /* eslint no-param-reassign: "off" */ - const prototypes = { - eventsEmitter, - update, - translate, - transition, - slide, - loop, - grabCursor, - events: events$1, - breakpoints, - checkOverflow: checkOverflow$1, - classes - }; - const extendedDefaults = {}; - class Swiper { - constructor() { - let el; - let params; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') { - params = args[0]; - } else { - [el, params] = args; - } - if (!params) params = {}; - params = extend$1({}, params); - if (el && !params.el) params.el = el; - const document = getDocument(); - if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) { - const swipers = []; - document.querySelectorAll(params.el).forEach(containerEl => { - const newParams = extend$1({}, params, { - el: containerEl - }); - swipers.push(new Swiper(newParams)); - }); - // eslint-disable-next-line no-constructor-return - return swipers; - } - - // Swiper Instance - const swiper = this; - swiper.__swiper__ = true; - swiper.support = getSupport(); - swiper.device = getDevice({ - userAgent: params.userAgent - }); - swiper.browser = getBrowser(); - swiper.eventsListeners = {}; - swiper.eventsAnyListeners = []; - swiper.modules = [...swiper.__modules__]; - if (params.modules && Array.isArray(params.modules)) { - swiper.modules.push(...params.modules); - } - const allModulesParams = {}; - swiper.modules.forEach(mod => { - mod({ - params, - swiper, - extendParams: moduleExtendParams(params, allModulesParams), - on: swiper.on.bind(swiper), - once: swiper.once.bind(swiper), - off: swiper.off.bind(swiper), - emit: swiper.emit.bind(swiper) - }); - }); - - // Extend defaults with modules params - const swiperParams = extend$1({}, defaults, allModulesParams); - - // Extend defaults with passed params - swiper.params = extend$1({}, swiperParams, extendedDefaults, params); - swiper.originalParams = extend$1({}, swiper.params); - swiper.passedParams = extend$1({}, params); - - // add event listeners - if (swiper.params && swiper.params.on) { - Object.keys(swiper.params.on).forEach(eventName => { - swiper.on(eventName, swiper.params.on[eventName]); - }); - } - if (swiper.params && swiper.params.onAny) { - swiper.onAny(swiper.params.onAny); - } - - // Extend Swiper - Object.assign(swiper, { - enabled: swiper.params.enabled, - el, - // Classes - classNames: [], - // Slides - slides: [], - slidesGrid: [], - snapGrid: [], - slidesSizesGrid: [], - // isDirection - isHorizontal() { - return swiper.params.direction === 'horizontal'; - }, - isVertical() { - return swiper.params.direction === 'vertical'; - }, - // Indexes - activeIndex: 0, - realIndex: 0, - // - isBeginning: true, - isEnd: false, - // Props - translate: 0, - previousTranslate: 0, - progress: 0, - velocity: 0, - animating: false, - cssOverflowAdjustment() { - // Returns 0 unless `translate` is > 2**23 - // Should be subtracted from css values to prevent overflow - return Math.trunc(this.translate / 2 ** 23) * 2 ** 23; - }, - // Locks - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev, - // Touch Events - touchEventsData: { - isTouched: undefined, - isMoved: undefined, - allowTouchCallbacks: undefined, - touchStartTime: undefined, - isScrolling: undefined, - currentTranslate: undefined, - startTranslate: undefined, - allowThresholdMove: undefined, - // Form elements to match - focusableElements: swiper.params.focusableElements, - // Last click time - lastClickTime: 0, - clickTimeout: undefined, - // Velocities - velocities: [], - allowMomentumBounce: undefined, - startMoving: undefined, - pointerId: null, - touchId: null - }, - // Clicks - allowClick: true, - // Touches - allowTouchMove: swiper.params.allowTouchMove, - touches: { - startX: 0, - startY: 0, - currentX: 0, - currentY: 0, - diff: 0 - }, - // Images - imagesToLoad: [], - imagesLoaded: 0 - }); - swiper.emit('_swiper'); - - // Init - if (swiper.params.init) { - swiper.init(); - } - - // Return app instance - // eslint-disable-next-line no-constructor-return - return swiper; - } - getDirectionLabel(property) { - if (this.isHorizontal()) { - return property; - } - // prettier-ignore - return { - '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' - }[property]; - } - getSlideIndex(slideEl) { - const { - slidesEl, - params - } = this; - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - const firstSlideIndex = elementIndex(slides[0]); - return elementIndex(slideEl) - firstSlideIndex; - } - getSlideIndexByData(index) { - return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]); - } - recalcSlides() { - const swiper = this; - const { - slidesEl, - params - } = swiper; - swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - } - enable() { - const swiper = this; - if (swiper.enabled) return; - swiper.enabled = true; - if (swiper.params.grabCursor) { - swiper.setGrabCursor(); - } - swiper.emit('enable'); - } - disable() { - const swiper = this; - if (!swiper.enabled) return; - swiper.enabled = false; - if (swiper.params.grabCursor) { - swiper.unsetGrabCursor(); - } - swiper.emit('disable'); - } - setProgress(progress, speed) { - const swiper = this; - progress = Math.min(Math.max(progress, 0), 1); - const min = swiper.minTranslate(); - const max = swiper.maxTranslate(); - const current = (max - min) * progress + min; - swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - emitContainerClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const cls = swiper.el.className.split(' ').filter(className => { - return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0; - }); - swiper.emit('_containerClasses', cls.join(' ')); - } - getSlideClasses(slideEl) { - const swiper = this; - if (swiper.destroyed) return ''; - return slideEl.className.split(' ').filter(className => { - return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0; - }).join(' '); - } - emitSlidesClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const updates = []; - swiper.slides.forEach(slideEl => { - const classNames = swiper.getSlideClasses(slideEl); - updates.push({ - slideEl, - classNames - }); - swiper.emit('_slideClass', slideEl, classNames); - }); - swiper.emit('_slideClasses', updates); - } - slidesPerViewDynamic(view, exact) { - if (view === void 0) { - view = 'current'; - } - if (exact === void 0) { - exact = false; - } - const swiper = this; - const { - params, - slides, - slidesGrid, - slidesSizesGrid, - size: swiperSize, - activeIndex - } = swiper; - let spv = 1; - if (typeof params.slidesPerView === 'number') return params.slidesPerView; - if (params.centeredSlides) { - let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0; - let breakLoop; - for (let i = activeIndex + 1; i < slides.length; i += 1) { - if (slides[i] && !breakLoop) { - slideSize += Math.ceil(slides[i].swiperSlideSize); - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - for (let i = activeIndex - 1; i >= 0; i -= 1) { - if (slides[i] && !breakLoop) { - slideSize += slides[i].swiperSlideSize; - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - } else { - // eslint-disable-next-line - if (view === 'current') { - for (let i = activeIndex + 1; i < slides.length; i += 1) { - const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } else { - // previous - for (let i = activeIndex - 1; i >= 0; i -= 1) { - const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } - } - return spv; - } - update() { - const swiper = this; - if (!swiper || swiper.destroyed) return; - const { - snapGrid, - params - } = swiper; - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } - }); - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateProgress(); - swiper.updateSlidesClasses(); - function setTranslate() { - const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; - const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); - swiper.setTranslate(newTranslate); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - let translated; - if (params.freeMode && params.freeMode.enabled && !params.cssMode) { - setTranslate(); - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - } else { - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) { - const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides; - translated = swiper.slideTo(slides.length - 1, 0, false, true); - } else { - translated = swiper.slideTo(swiper.activeIndex, 0, false, true); - } - if (!translated) { - setTranslate(); - } - } - if (params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } - swiper.emit('update'); - } - changeDirection(newDirection, needUpdate) { - if (needUpdate === void 0) { - needUpdate = true; - } - const swiper = this; - const currentDirection = swiper.params.direction; - if (!newDirection) { - // eslint-disable-next-line - newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal'; - } - if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') { - return swiper; - } - swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`); - swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`); - swiper.emitContainerClasses(); - swiper.params.direction = newDirection; - swiper.slides.forEach(slideEl => { - if (newDirection === 'vertical') { - slideEl.style.width = ''; - } else { - slideEl.style.height = ''; - } - }); - swiper.emit('changeDirection'); - if (needUpdate) swiper.update(); - return swiper; - } - changeLanguageDirection(direction) { - const swiper = this; - if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return; - swiper.rtl = direction === 'rtl'; - swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl; - if (swiper.rtl) { - swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'rtl'; - } else { - swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'ltr'; - } - swiper.update(); - } - mount(element) { - const swiper = this; - if (swiper.mounted) return true; - - // Find el - let el = element || swiper.params.el; - if (typeof el === 'string') { - el = document.querySelector(el); - } - if (!el) { - return false; - } - el.swiper = swiper; - if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) { - swiper.isElement = true; - } - const getWrapperSelector = () => { - return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`; - }; - const getWrapper = () => { - if (el && el.shadowRoot && el.shadowRoot.querySelector) { - const res = el.shadowRoot.querySelector(getWrapperSelector()); - // Children needs to return slot items - return res; - } - return elementChildren(el, getWrapperSelector())[0]; - }; - // Find Wrapper - let wrapperEl = getWrapper(); - if (!wrapperEl && swiper.params.createElements) { - wrapperEl = createElement('div', swiper.params.wrapperClass); - el.append(wrapperEl); - elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => { - wrapperEl.append(slideEl); - }); - } - Object.assign(swiper, { - el, - wrapperEl, - slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl, - hostEl: swiper.isElement ? el.parentNode.host : el, - mounted: true, - // RTL - rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl', - rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'), - wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box' - }); - return true; - } - init(el) { - const swiper = this; - if (swiper.initialized) return swiper; - const mounted = swiper.mount(el); - if (mounted === false) return swiper; - swiper.emit('beforeInit'); - - // Set breakpoint - if (swiper.params.breakpoints) { - swiper.setBreakpoint(); - } - - // Add Classes - swiper.addClasses(); - - // Update size - swiper.updateSize(); - - // Update slides - swiper.updateSlides(); - if (swiper.params.watchOverflow) { - swiper.checkOverflow(); - } - - // Set Grab Cursor - if (swiper.params.grabCursor && swiper.enabled) { - swiper.setGrabCursor(); - } - - // Slide To Initial Slide - if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true); - } else { - swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true); - } - - // Create loop - if (swiper.params.loop) { - swiper.loopCreate(); - } - - // Attach events - swiper.attachEvents(); - const lazyElements = [...swiper.el.querySelectorAll('[loading="lazy"]')]; - if (swiper.isElement) { - lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]')); - } - lazyElements.forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } else { - imageEl.addEventListener('load', e => { - processLazyPreloader(swiper, e.target); - }); - } - }); - preload(swiper); - - // Init Flag - swiper.initialized = true; - preload(swiper); - - // Emit - swiper.emit('init'); - swiper.emit('afterInit'); - return swiper; - } - destroy(deleteInstance, cleanStyles) { - if (deleteInstance === void 0) { - deleteInstance = true; - } - if (cleanStyles === void 0) { - cleanStyles = true; - } - const swiper = this; - const { - params, - el, - wrapperEl, - slides - } = swiper; - if (typeof swiper.params === 'undefined' || swiper.destroyed) { - return null; - } - swiper.emit('beforeDestroy'); - - // Init Flag - swiper.initialized = false; - - // Detach events - swiper.detachEvents(); - - // Destroy loop - if (params.loop) { - swiper.loopDestroy(); - } - - // Cleanup styles - if (cleanStyles) { - swiper.removeClasses(); - el.removeAttribute('style'); - wrapperEl.removeAttribute('style'); - if (slides && slides.length) { - slides.forEach(slideEl => { - slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass); - slideEl.removeAttribute('style'); - slideEl.removeAttribute('data-swiper-slide-index'); - }); - } - } - swiper.emit('destroy'); - - // Detach emitter events - Object.keys(swiper.eventsListeners).forEach(eventName => { - swiper.off(eventName); - }); - if (deleteInstance !== false) { - swiper.el.swiper = null; - deleteProps(swiper); - } - swiper.destroyed = true; - return null; - } - static extendDefaults(newDefaults) { - extend$1(extendedDefaults, newDefaults); - } - static get extendedDefaults() { - return extendedDefaults; - } - static get defaults() { - return defaults; - } - static installModule(mod) { - if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = []; - const modules = Swiper.prototype.__modules__; - if (typeof mod === 'function' && modules.indexOf(mod) < 0) { - modules.push(mod); - } - } - static use(module) { - if (Array.isArray(module)) { - module.forEach(m => Swiper.installModule(m)); - return Swiper; - } - Swiper.installModule(module); - return Swiper; - } - } - Object.keys(prototypes).forEach(prototypeGroup => { - Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => { - Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; - }); - }); - Swiper.use([Resize, Observer]); - - /* underscore in name -> watch for changes */ - const paramsList = ['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', - // modules - 'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control']; - - function isObject(o) { - return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object' && !o.__swiper__; - } - function extend(target, src) { - const noExtend = ['__proto__', 'constructor', 'prototype']; - Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => { - if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) { - if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]); - } else { - target[key] = src[key]; - } - }); - } - function needsNavigation(params) { - if (params === void 0) { - params = {}; - } - return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined'; - } - function needsPagination(params) { - if (params === void 0) { - params = {}; - } - return params.pagination && typeof params.pagination.el === 'undefined'; - } - function needsScrollbar(params) { - if (params === void 0) { - params = {}; - } - return params.scrollbar && typeof params.scrollbar.el === 'undefined'; - } - function attrToProp(attrName) { - if (attrName === void 0) { - attrName = ''; - } - return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', '')); - } - - function updateSwiper(_ref) { - let { - swiper, - slides, - passedParams, - changedParams, - nextEl, - prevEl, - scrollbarEl, - paginationEl - } = _ref; - const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass'); - const { - params: currentParams, - pagination, - navigation, - scrollbar, - virtual, - thumbs - } = swiper; - let needThumbsInit; - let needControllerInit; - let needPaginationInit; - let needScrollbarInit; - let needNavigationInit; - let loopNeedDestroy; - let loopNeedEnable; - let loopNeedReloop; - if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && currentParams.thumbs && !currentParams.thumbs.swiper) { - needThumbsInit = true; - } - if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) { - needControllerInit = true; - } - if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) { - needPaginationInit = true; - } - if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) { - needScrollbarInit = true; - } - if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) { - needNavigationInit = true; - } - const destroyModule = mod => { - if (!swiper[mod]) return; - swiper[mod].destroy(); - if (mod === 'navigation') { - if (swiper.isElement) { - swiper[mod].prevEl.remove(); - swiper[mod].nextEl.remove(); - } - currentParams[mod].prevEl = undefined; - currentParams[mod].nextEl = undefined; - swiper[mod].prevEl = undefined; - swiper[mod].nextEl = undefined; - } else { - if (swiper.isElement) { - swiper[mod].el.remove(); - } - currentParams[mod].el = undefined; - swiper[mod].el = undefined; - } - }; - if (changedParams.includes('loop') && swiper.isElement) { - if (currentParams.loop && !passedParams.loop) { - loopNeedDestroy = true; - } else if (!currentParams.loop && passedParams.loop) { - loopNeedEnable = true; - } else { - loopNeedReloop = true; - } - } - updateParams.forEach(key => { - if (isObject(currentParams[key]) && isObject(passedParams[key])) { - Object.assign(currentParams[key], passedParams[key]); - if ((key === 'navigation' || key === 'pagination' || key === 'scrollbar') && 'enabled' in passedParams[key] && !passedParams[key].enabled) { - destroyModule(key); - } - } else { - const newValue = passedParams[key]; - if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) { - if (newValue === false) { - destroyModule(key); - } - } else { - currentParams[key] = passedParams[key]; - } - } - }); - if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) { - swiper.controller.control = currentParams.controller.control; - } - if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) { - virtual.slides = slides; - virtual.update(true); - } else if (changedParams.includes('virtual') && virtual && currentParams.virtual.enabled) { - if (slides) virtual.slides = slides; - virtual.update(true); - } - if (changedParams.includes('children') && slides && currentParams.loop) { - loopNeedReloop = true; - } - if (needThumbsInit) { - const initialized = thumbs.init(); - if (initialized) thumbs.update(true); - } - if (needControllerInit) { - swiper.controller.control = currentParams.controller.control; - } - if (needPaginationInit) { - if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) { - paginationEl = document.createElement('div'); - paginationEl.classList.add('swiper-pagination'); - paginationEl.part.add('pagination'); - swiper.el.appendChild(paginationEl); - } - if (paginationEl) currentParams.pagination.el = paginationEl; - pagination.init(); - pagination.render(); - pagination.update(); - } - if (needScrollbarInit) { - if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) { - scrollbarEl = document.createElement('div'); - scrollbarEl.classList.add('swiper-scrollbar'); - scrollbarEl.part.add('scrollbar'); - swiper.el.appendChild(scrollbarEl); - } - if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl; - scrollbar.init(); - scrollbar.updateSize(); - scrollbar.setTranslate(); - } - if (needNavigationInit) { - if (swiper.isElement) { - if (!nextEl || typeof nextEl === 'string') { - nextEl = document.createElement('div'); - nextEl.classList.add('swiper-button-next'); - nextEl.innerHTML = swiper.hostEl.constructor.nextButtonSvg; - nextEl.part.add('button-next'); - swiper.el.appendChild(nextEl); - } - if (!prevEl || typeof prevEl === 'string') { - prevEl = document.createElement('div'); - prevEl.classList.add('swiper-button-prev'); - prevEl.innerHTML = swiper.hostEl.constructor.prevButtonSvg; - prevEl.part.add('button-prev'); - swiper.el.appendChild(prevEl); - } - } - if (nextEl) currentParams.navigation.nextEl = nextEl; - if (prevEl) currentParams.navigation.prevEl = prevEl; - navigation.init(); - navigation.update(); - } - if (changedParams.includes('allowSlideNext')) { - swiper.allowSlideNext = passedParams.allowSlideNext; - } - if (changedParams.includes('allowSlidePrev')) { - swiper.allowSlidePrev = passedParams.allowSlidePrev; - } - if (changedParams.includes('direction')) { - swiper.changeDirection(passedParams.direction, false); - } - if (loopNeedDestroy || loopNeedReloop) { - swiper.loopDestroy(); - } - if (loopNeedEnable || loopNeedReloop) { - swiper.loopCreate(); - } - swiper.update(); - } - - const formatValue = val => { - if (parseFloat(val) === Number(val)) return Number(val); - if (val === 'true') return true; - if (val === '') return true; - if (val === 'false') return false; - if (val === 'null') return null; - if (val === 'undefined') return undefined; - if (typeof val === 'string' && val.includes('{') && val.includes('}') && val.includes('"')) { - let v; - try { - v = JSON.parse(val); - } catch (err) { - v = val; - } - return v; - } - return val; - }; - const modulesParamsList = ['a11y', 'autoplay', 'controller', 'cards-effect', 'coverflow-effect', 'creative-effect', 'cube-effect', 'fade-effect', 'flip-effect', 'free-mode', 'grid', 'hash-navigation', 'history', 'keyboard', 'mousewheel', 'navigation', 'pagination', 'parallax', 'scrollbar', 'thumbs', 'virtual', 'zoom']; - function getParams(element, propName, propValue) { - const params = {}; - const passedParams = {}; - extend(params, defaults); - const localParamsList = [...paramsList, 'on']; - const allowedParams = localParamsList.map(key => key.replace(/_/, '')); - - // First check props - localParamsList.forEach(paramName => { - paramName = paramName.replace('_', ''); - if (typeof element[paramName] !== 'undefined') { - passedParams[paramName] = element[paramName]; - } - }); - - // Attributes - const attrsList = [...element.attributes]; - if (typeof propName === 'string' && typeof propValue !== 'undefined') { - attrsList.push({ - name: propName, - value: isObject(propValue) ? { - ...propValue - } : propValue - }); - } - attrsList.forEach(attr => { - const moduleParam = modulesParamsList.filter(mParam => attr.name.indexOf(`${mParam}-`) === 0)[0]; - if (moduleParam) { - const parentObjName = attrToProp(moduleParam); - const subObjName = attrToProp(attr.name.split(`${moduleParam}-`)[1]); - if (typeof passedParams[parentObjName] === 'undefined') passedParams[parentObjName] = {}; - if (passedParams[parentObjName] === true) { - passedParams[parentObjName] = { - enabled: true - }; - } - passedParams[parentObjName][subObjName] = formatValue(attr.value); - } else { - const name = attrToProp(attr.name); - if (!allowedParams.includes(name)) return; - const value = formatValue(attr.value); - if (passedParams[name] && modulesParamsList.includes(attr.name) && !isObject(value)) { - if (passedParams[name].constructor !== Object) { - passedParams[name] = {}; - } - passedParams[name].enabled = !!value; - } else { - passedParams[name] = value; - } - } - }); - extend(params, passedParams); - if (params.navigation) { - params.navigation = { - prevEl: '.swiper-button-prev', - nextEl: '.swiper-button-next', - ...(params.navigation !== true ? params.navigation : {}) - }; - } else if (params.navigation === false) { - delete params.navigation; - } - if (params.scrollbar) { - params.scrollbar = { - el: '.swiper-scrollbar', - ...(params.scrollbar !== true ? params.scrollbar : {}) - }; - } else if (params.scrollbar === false) { - delete params.scrollbar; - } - if (params.pagination) { - params.pagination = { - el: '.swiper-pagination', - ...(params.pagination !== true ? params.pagination : {}) - }; - } else if (params.pagination === false) { - delete params.pagination; - } - return { - params, - passedParams - }; - } - - /** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - - - /* eslint-disable spaced-comment */ - - const SwiperCSS = `:host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}`; - const SwiperSlideCSS = `::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}`; - - class DummyHTMLElement {} - const ClassToExtend = typeof window === 'undefined' || typeof HTMLElement === 'undefined' ? DummyHTMLElement : HTMLElement; - const arrowSvg = ` - `; - const addStyle = (shadowRoot, styles) => { - if (typeof CSSStyleSheet !== 'undefined' && shadowRoot.adoptedStyleSheets) { - const styleSheet = new CSSStyleSheet(); - styleSheet.replaceSync(styles); - shadowRoot.adoptedStyleSheets = [styleSheet]; - } else { - const style = document.createElement('style'); - style.rel = 'stylesheet'; - style.textContent = styles; - shadowRoot.appendChild(style); - } - }; - class SwiperContainer extends ClassToExtend { - constructor() { - super(); - this.attachShadow({ - mode: 'open' - }); - } - static get nextButtonSvg() { - return arrowSvg; - } - static get prevButtonSvg() { - return arrowSvg.replace('/>', ' transform-origin="center" transform="rotate(180)"/>'); - } - cssStyles() { - return [SwiperCSS, - // eslint-disable-line - ...(this.injectStyles && Array.isArray(this.injectStyles) ? this.injectStyles : [])].join('\n'); - } - cssLinks() { - return this.injectStylesUrls || []; - } - calcSlideSlots() { - const currentSideSlots = this.slideSlots || 0; - // slide slots - const slideSlotChildren = [...this.querySelectorAll(`[slot^=slide-]`)].map(child => { - return parseInt(child.getAttribute('slot').split('slide-')[1], 10); - }); - this.slideSlots = slideSlotChildren.length ? Math.max(...slideSlotChildren) + 1 : 0; - if (!this.rendered) return; - if (this.slideSlots > currentSideSlots) { - for (let i = currentSideSlots; i < this.slideSlots; i += 1) { - const slideEl = document.createElement('swiper-slide'); - slideEl.setAttribute('part', `slide slide-${i + 1}`); - const slotEl = document.createElement('slot'); - slotEl.setAttribute('name', `slide-${i + 1}`); - slideEl.appendChild(slotEl); - this.shadowRoot.querySelector('.swiper-wrapper').appendChild(slideEl); - } - } else if (this.slideSlots < currentSideSlots) { - const slides = this.swiper.slides; - for (let i = slides.length - 1; i >= 0; i -= 1) { - if (i > this.slideSlots) { - slides[i].remove(); - } - } - } - } - render() { - if (this.rendered) return; - this.calcSlideSlots(); - - // local styles - let localStyles = this.cssStyles(); - if (this.slideSlots > 0) { - localStyles = localStyles.replace(/::slotted\(([a-z-0-9.]*)\)/g, '$1'); - } - if (localStyles.length) { - addStyle(this.shadowRoot, localStyles); - } - this.cssLinks().forEach(url => { - const linkExists = this.shadowRoot.querySelector(`link[href="${url}"]`); - if (linkExists) return; - const linkEl = document.createElement('link'); - linkEl.rel = 'stylesheet'; - linkEl.href = url; - this.shadowRoot.appendChild(linkEl); - }); - // prettier-ignore - const el = document.createElement('div'); - el.classList.add('swiper'); - el.part = 'container'; - - // prettier-ignore - el.innerHTML = ` - -
- - ${Array.from({ - length: this.slideSlots - }).map((_, index) => ` - - - - `).join('')} -
- - ${needsNavigation(this.passedParams) ? ` -
${this.constructor.prevButtonSvg}
-
${this.constructor.nextButtonSvg}
- ` : ''} - ${needsPagination(this.passedParams) ? ` -
- ` : ''} - ${needsScrollbar(this.passedParams) ? ` -
- ` : ''} - `; - this.shadowRoot.appendChild(el); - this.rendered = true; - } - initialize() { - var _this = this; - if (this.initialized) return; - this.initialized = true; - const { - params: swiperParams, - passedParams - } = getParams(this); - this.swiperParams = swiperParams; - this.passedParams = passedParams; - delete this.swiperParams.init; - this.render(); - - // eslint-disable-next-line - this.swiper = new Swiper(this.shadowRoot.querySelector('.swiper'), { - ...(swiperParams.virtual ? {} : { - observer: true, - observeSlideChildren: this.slideSlots > 0 - }), - ...swiperParams, - touchEventsTarget: 'container', - onAny: function (name) { - if (name === 'observerUpdate') { - _this.calcSlideSlots(); - } - const eventName = swiperParams.eventsPrefix ? `${swiperParams.eventsPrefix}${name.toLowerCase()}` : name.toLowerCase(); - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - const event = new CustomEvent(eventName, { - detail: args, - bubbles: name !== 'hashChange', - cancelable: true - }); - _this.dispatchEvent(event); - } - }); - } - connectedCallback() { - if (this.initialized && this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) { - return; - } - if (this.init === false || this.getAttribute('init') === 'false') { - return; - } - this.initialize(); - } - disconnectedCallback() { - if (this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) { - return; - } - if (this.swiper && this.swiper.destroy) { - this.swiper.destroy(); - } - this.initialized = false; - } - updateSwiperOnPropChange(propName, propValue) { - const { - params: swiperParams, - passedParams - } = getParams(this, propName, propValue); - this.passedParams = passedParams; - this.swiperParams = swiperParams; - if (this.swiper && this.swiper.params[propName] === propValue) { - return; - } - updateSwiper({ - swiper: this.swiper, - passedParams: this.passedParams, - changedParams: [attrToProp(propName)], - ...(propName === 'navigation' && passedParams[propName] ? { - prevEl: '.swiper-button-prev', - nextEl: '.swiper-button-next' - } : {}), - ...(propName === 'pagination' && passedParams[propName] ? { - paginationEl: '.swiper-pagination' - } : {}), - ...(propName === 'scrollbar' && passedParams[propName] ? { - scrollbarEl: '.swiper-scrollbar' - } : {}) - }); - } - attributeChangedCallback(attr, prevValue, newValue) { - if (!this.initialized) return; - if (prevValue === 'true' && newValue === null) { - newValue = false; - } - this.updateSwiperOnPropChange(attr, newValue); - } - static get observedAttributes() { - const attrs = paramsList.filter(param => param.includes('_')).map(param => param.replace(/[A-Z]/g, v => `-${v}`).replace('_', '').toLowerCase()); - return attrs; - } - } - paramsList.forEach(paramName => { - if (paramName === 'init') return; - paramName = paramName.replace('_', ''); - Object.defineProperty(SwiperContainer.prototype, paramName, { - configurable: true, - get() { - return (this.passedParams || {})[paramName]; - }, - set(value) { - if (!this.passedParams) this.passedParams = {}; - this.passedParams[paramName] = value; - if (!this.initialized) return; - this.updateSwiperOnPropChange(paramName, value); - } - }); - }); - class SwiperSlide extends ClassToExtend { - constructor() { - super(); - this.attachShadow({ - mode: 'open' - }); - } - render() { - const lazy = this.lazy || this.getAttribute('lazy') === '' || this.getAttribute('lazy') === 'true'; - addStyle(this.shadowRoot, SwiperSlideCSS); - this.shadowRoot.appendChild(document.createElement('slot')); - if (lazy) { - const lazyDiv = document.createElement('div'); - lazyDiv.classList.add('swiper-lazy-preloader'); - lazyDiv.part.add('preloader'); - this.shadowRoot.appendChild(lazyDiv); - } - } - initialize() { - this.render(); - } - connectedCallback() { - this.initialize(); - } - } - - // eslint-disable-next-line - const register = () => { - if (typeof window === 'undefined') return; - if (!window.customElements.get('swiper-container')) window.customElements.define('swiper-container', SwiperContainer); - if (!window.customElements.get('swiper-slide')) window.customElements.define('swiper-slide', SwiperSlide); - }; - if (typeof window !== 'undefined') { - window.SwiperElementRegisterParams = params => { - paramsList.push(...params); - }; - } - - register(); - -})(); diff --git a/node_modules/swiper/swiper-element.min.js b/node_modules/swiper/swiper-element.min.js deleted file mode 100644 index c5526ff..0000000 --- a/node_modules/swiper/swiper-element.min.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -!function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,i){void 0===s&&(s={}),void 0===i&&(i={}),Object.keys(i).forEach((r=>{void 0===s[r]?s[r]=i[r]:e(i[r])&&e(s[r])&&Object.keys(i[r]).length>0&&t(s[r],i[r])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function i(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const r={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function n(){const e="undefined"!=typeof window?window:{};return t(e,r),e}function a(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function l(e,t){void 0===t&&(t="x");const s=n();let i,r,a;const o=function(e){const t=n();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(r=o.transform||o.webkitTransform,r.split(",").length>6&&(r=r.split(", ").map((e=>e.replace(",","."))).join(", ")),a=new s.WebKitCSSMatrix("none"===r?"":r)):(a=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=a.toString().split(",")),"x"===t&&(r=s.WebKitCSSMatrix?a.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(r=s.WebKitCSSMatrix?a.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),r||0}function d(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function c(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let i=1;it.indexOf(e)<0));for(let t=0,i=s.length;ta?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{o=(new Date).getTime(),null===l&&(l=o);const e=Math.max(Math.min((o-l)/d,1),0),n=.5-Math.cos(e*Math.PI)/2;let c=a+n*(s-a);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[i]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[i]:c})})),void r.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=r.requestAnimationFrame(u)};u()}function h(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function f(e){try{return void console.warn(e)}catch(e){}}function m(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:function(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}(t)),s}function v(e,t){return n().getComputedStyle(e,null).getPropertyValue(t)}function g(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function w(e,t,s){const i=n();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}let b,S,T;function y(){return b||(b=function(){const e=n(),t=i();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),b}function x(e){return void 0===e&&(e={}),S||(S=function(e){let{userAgent:t}=void 0===e?{}:e;const s=y(),i=n(),r=i.navigator.platform,a=t||i.navigator.userAgent,o={ios:!1,android:!1},l=i.screen.width,d=i.screen.height,c=a.match(/(Android);?[\s\/]+([\d.]+)?/);let p=a.match(/(iPad).*OS\s([\d_]+)/);const u=a.match(/(iPod)(.*OS\s([\d_]+))?/),h=!p&&a.match(/(iPhone\sOS|iOS)\s([\d_]+)/),f="Win32"===r;let m="MacIntel"===r;return!p&&m&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${l}x${d}`)>=0&&(p=a.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),m=!1),c&&!f&&(o.os="android",o.android=!0),(p||h||u)&&(o.os="ios",o.ios=!0),o}(e)),S}function E(){return T||(T=function(){const e=n(),t=x();let s=!1;function i(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(i()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,i]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&i<2}}const r=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),a=i();return{isSafari:s||a,needPerspectiveFix:s,need3dFix:a||r&&t.ios,isWebView:r}}()),T}var C={on(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;const r=s?"unshift":"push";return e.split(" ").forEach((e=>{i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][r](t)})),i},once(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;function r(){i.off(e,r),r.__emitterProxy&&delete r.__emitterProxy;for(var s=arguments.length,n=new Array(s),a=0;a=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((i,r)=>{(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&s.eventsListeners[e].splice(r,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,i;for(var r=arguments.length,n=new Array(r),a=0;a{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(i,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(i,s)}))})),e}};const M=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const P=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const k=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},L=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},z=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const i="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),r=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=r,n=[s-t];return n.push(...Array.from({length:t}).map(((e,t)=>s+i+t))),void e.slides.forEach(((t,s)=>{n.includes(t.column)&&L(e,s)}))}const n=r+i-1;if(e.params.rewind||e.params.loop)for(let i=r-t;i<=n+t;i+=1){const t=(i%s+s)%s;(tn)&&L(e,t)}else for(let i=Math.max(r-t,0);i<=Math.min(n+t,s-1);i+=1)i!==r&&(i>n||i=0?x=parseFloat(x.replace("%",""))/100*n:"string"==typeof x&&(x=parseFloat(x)),e.virtualSize=-x,c.forEach((e=>{a?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(p(i,"--swiper-centered-offset-before",""),p(i,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let k;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const L="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let i=0;i1&&f.push(e.virtualSize-n)}if(l&&s.loop){const t=g[0]+x;if(s.slidesPerGroup>1){const i=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),r=t*s.slidesPerGroup;for(let e=0;e!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${x}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=e-n;f=f.map((e=>e<=0?-b:e>t?t+S:e))}if(s.centerInsufficientSlides){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t{f[t]=e-s})),m.forEach(((e,t)=>{m[t]=e+s}))}}if(Object.assign(e,{slides:c,snapGrid:f,slidesGrid:m,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){p(i,"--swiper-centered-offset-before",-f[0]+"px"),p(i,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(u!==d&&e.emit("slidesLengthChange"),f.length!==T&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),m.length!==y&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(l||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,i=e.el.classList.contains(t);u<=s.maxBackfaceHiddenSlides?i||e.el.classList.add(t):i&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],i=t.virtual&&t.params.virtual.enabled;let r,n=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const a=e=>i?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(r=0;rt.slides.length&&!i)break;s.push(a(e))}else s.push(a(t.activeIndex));for(r=0;rn?e:n}(n||0===n)&&(t.wrapperEl.style.height=`${n}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let i=0;i=0?o=parseFloat(o.replace("%",""))/100*t.size:"string"==typeof o&&(o=parseFloat(o));for(let e=0;e=0&&u<=t.size-t.slidesSizesGrid[e],m=u>=0&&u1&&h<=t.size||u<=0&&h>=t.size;m&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(e)),M(l,m,s.slideVisibleClass),M(l,f,s.slideFullyVisibleClass),l.progress=r?-c:c,l.originalProgress=r?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:r,isBeginning:n,isEnd:a,progressLoop:o}=t;const l=n,d=a;if(0===i)r=0,n=!0,a=!0;else{r=(e-t.minTranslate())/i;const s=Math.abs(e-t.minTranslate())<1,o=Math.abs(e-t.maxTranslate())<1;n=s||r<=0,a=o||r>=1,s&&(r=0),o&&(r=1)}if(s.loop){const s=t.getSlideIndexByData(0),i=t.getSlideIndexByData(t.slides.length-1),r=t.slidesGrid[s],n=t.slidesGrid[i],a=t.slidesGrid[t.slidesGrid.length-1],l=Math.abs(e);o=l>=r?(l-r)/a:(l+a-n)/a,o>1&&(o-=1)}Object.assign(t,{progress:r,progressLoop:o,isBeginning:n,isEnd:a}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),n&&!l&&t.emit("reachBeginning toEdge"),a&&!d&&t.emit("reachEnd toEdge"),(l&&!n||d&&!a)&&t.emit("fromEdge"),t.emit("progress",r)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:i,activeIndex:r}=e,n=e.virtual&&s.virtual.enabled,a=e.grid&&s.grid&&s.grid.rows>1,o=e=>h(i,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let l,d,c;if(n)if(s.loop){let t=r-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),l=o(`[data-swiper-slide-index="${t}"]`)}else l=o(`[data-swiper-slide-index="${r}"]`);else a?(l=t.filter((e=>e.column===r))[0],c=t.filter((e=>e.column===r+1))[0],d=t.filter((e=>e.column===r-1))[0]):l=t[r];l&&(a||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const i=e.nextElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(l,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const i=e.previousElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(l,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{P(e,e===l,s.slideActiveClass),P(e,e===c,s.slideNextClass),P(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:i,params:r,activeIndex:n,realIndex:a,snapIndex:o}=t;let l,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,i=e.rtlTranslate?e.translate:-e.translate;let r;for(let e=0;e=t[e]&&i=t[e]&&i=t[e]&&(r=e);return s.normalizeSlideIndex&&(r<0||void 0===r)&&(r=0),r}(t)),i.indexOf(s)>=0)l=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,d);l=e+Math.floor((d-e)/r.slidesPerGroup)}if(l>=i.length&&(l=i.length-1),d===n&&!t.params.loop)return void(l!==o&&(t.snapIndex=l,t.emit("snapIndexChange")));if(d===n&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&r.grid&&r.grid.rows>1;let u;if(t.virtual&&r.virtual.enabled&&r.loop)u=c(d);else if(p){const e=t.slides.filter((e=>e.column===d))[0];let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/r.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:o,snapIndex:l,previousRealIndex:a,realIndex:u,previousIndex:n,activeIndex:d}),t.initialized&&z(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(a!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,i=s.params;let r=e.closest(`.${i.slideClass}, swiper-slide`);!r&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!r&&e.matches&&e.matches(`.${i.slideClass}, swiper-slide`)&&(r=e)}));let n,a=!1;if(r)for(let e=0;el?l:i&&ea?"next":n=l.length&&(g=l.length-1);const w=-l[g];if(o.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(a=e)}if(n.initialized&&a!==p){if(!n.allowSlideNext&&(h?w>n.translate&&w>n.minTranslate():wn.translate&&w>n.maxTranslate()&&(p||0)!==a)return!1}let b;if(a!==(c||0)&&s&&n.emit("beforeSlideChangeStart"),n.updateProgress(w),b=a>p?"next":a0?(n._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{f[e?"scrollLeft":"scrollTop"]=s}))):f[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{n.wrapperEl.style.scrollSnapType="",n._immediateVirtual=!1}))}else{if(!n.support.smoothScroll)return u({swiper:n,targetPosition:s,side:e?"left":"top"}),!0;f.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return n.setTransition(t),n.setTranslate(w),n.updateActiveIndex(a),n.updateSlidesClasses(),n.emit("beforeTransitionStart",t,i),n.transitionStart(s,b),0===t?n.transitionEnd(s,b):n.animating||(n.animating=!0,n.onSlideToWrapperTransitionEnd||(n.onSlideToWrapperTransitionEnd=function(e){n&&!n.destroyed&&e.target===this&&(n.wrapperEl.removeEventListener("transitionend",n.onSlideToWrapperTransitionEnd),n.onSlideToWrapperTransitionEnd=null,delete n.onSlideToWrapperTransitionEnd,n.transitionEnd(s,b))}),n.wrapperEl.addEventListener("transitionend",n.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,i){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const r=this;if(r.destroyed)return;void 0===t&&(t=r.params.speed);const n=r.grid&&r.params.grid&&r.params.grid.rows>1;let a=e;if(r.params.loop)if(r.virtual&&r.params.virtual.enabled)a+=r.virtual.slidesBefore;else{let e;if(n){const t=a*r.params.grid.rows;e=r.slides.filter((e=>1*e.getAttribute("data-swiper-slide-index")===t))[0].column}else e=r.getSlideIndexByData(a);const t=n?Math.ceil(r.slides.length/r.params.grid.rows):r.slides.length,{centeredSlides:s}=r.params;let o=r.params.slidesPerView;"auto"===o?o=r.slidesPerViewDynamic():(o=Math.ceil(parseFloat(r.params.slidesPerView,10)),s&&o%2==0&&(o+=1));let l=t-e1*t.getAttribute("data-swiper-slide-index")===e))[0].column}else a=r.getSlideIndexByData(a)}return requestAnimationFrame((()=>{r.slideTo(a,t,s,i)})),r},slideNext:function(e,t,s){void 0===t&&(t=!0);const i=this,{enabled:r,params:n,animating:a}=i;if(!r||i.destroyed)return i;void 0===e&&(e=i.params.speed);let o=n.slidesPerGroup;"auto"===n.slidesPerView&&1===n.slidesPerGroup&&n.slidesPerGroupAuto&&(o=Math.max(i.slidesPerViewDynamic("current",!0),1));const l=i.activeIndex{i.slideTo(i.activeIndex+l,e,t,s)})),!0}return n.rewind&&i.isEnd?i.slideTo(0,e,t,s):i.slideTo(i.activeIndex+l,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const i=this,{params:r,snapGrid:n,slidesGrid:a,rtlTranslate:o,enabled:l,animating:d}=i;if(!l||i.destroyed)return i;void 0===e&&(e=i.params.speed);const c=i.virtual&&r.virtual.enabled;if(r.loop){if(d&&!c&&r.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(o?i.translate:-i.translate),h=n.map((e=>p(e)));let f=n[h.indexOf(u)-1];if(void 0===f&&r.cssMode){let e;n.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(f=n[e>0?e-1:e])}let m=0;if(void 0!==f&&(m=a.indexOf(f),m<0&&(m=i.activeIndex-1),"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(m=m-i.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),r.rewind&&i.isBeginning){const r=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(r,e,t,s)}return r.loop&&0===i.activeIndex&&r.cssMode?(requestAnimationFrame((()=>{i.slideTo(m,e,t,s)})),!0):i.slideTo(m,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const i=this;if(!i.destroyed)return void 0===e&&(e=i.params.speed),i.slideTo(i.activeIndex,e,t,s)},slideToClosest:function(e,t,s,i){void 0===t&&(t=!0),void 0===i&&(i=.5);const r=this;if(r.destroyed)return;void 0===e&&(e=r.params.speed);let n=r.activeIndex;const a=Math.min(r.params.slidesPerGroupSkip,n),o=a+Math.floor((n-a)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[o]){const e=r.snapGrid[o];l-e>(r.snapGrid[o+1]-e)*i&&(n+=r.params.slidesPerGroup)}else{const e=r.snapGrid[o-1];l-e<=(r.snapGrid[o]-e)*i&&(n-=r.params.slidesPerGroup)}return n=Math.max(n,0),n=Math.min(n,r.slidesGrid.length-1),r.slideTo(n,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,i="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let r,n=e.clickedIndex;const o=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;r=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?ne.slides.length-e.loopedSlides+i/2?(e.loopFix(),n=e.getSlideIndex(h(s,`${o}[data-swiper-slide-index="${r}"]`)[0]),a((()=>{e.slideTo(n)}))):e.slideTo(n):n>e.slides.length-i?(e.loopFix(),n=e.getSlideIndex(h(s,`${o}[data-swiper-slide-index="${r}"]`)[0]),a((()=>{e.slideTo(n)}))):e.slideTo(n)}else e.slideTo(n)}};var G={loopCreate:function(e){const t=this,{params:s,slidesEl:i}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;const r=()=>{h(i,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},n=t.grid&&s.grid&&s.grid.rows>1,a=s.slidesPerGroup*(n?s.grid.rows:1),o=t.slides.length%a!=0,l=n&&t.slides.length%s.grid.rows!=0,d=e=>{for(let i=0;i1;d.lengthe.classList.contains(h.slideActiveClass)))[0]):y=n;const x="next"===i||!i,E="prev"===i||!i;let C=0,M=0;const P=b?Math.ceil(d.length/h.grid.rows):d.length,k=(b?d[n].column:n)+(m&&void 0===r?-v/2+.5:0);if(k=0;t-=1)d[t].column===e&&S.push(t)}else S.push(P-t-1)}}else if(k+v>P-w){M=Math.max(k-(P-2*w),g);for(let e=0;e{e.column===t&&T.push(s)})):T.push(t)}}if(l.__preventObserver__=!0,requestAnimationFrame((()=>{l.__preventObserver__=!1})),E&&S.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1})),x&&T.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1})),l.recalcSlides(),"auto"===h.slidesPerView?l.updateSlides():b&&(S.length>0&&E||T.length>0&&x)&&l.slides.forEach(((e,t)=>{l.grid.updateSlide(t,e,l.slides)})),h.watchSlidesProgress&&l.updateSlidesOffset(),s)if(S.length>0&&E){if(void 0===t){const e=l.slidesGrid[y],t=l.slidesGrid[y+C]-e;o?l.setTranslate(l.translate-t):(l.slideTo(y+Math.ceil(C),0,!1,!0),r&&(l.touchEventsData.startTranslate=l.touchEventsData.startTranslate-t,l.touchEventsData.currentTranslate=l.touchEventsData.currentTranslate-t))}else if(r){const e=b?S.length/h.grid.rows:S.length;l.slideTo(l.activeIndex+e,0,!1,!0),l.touchEventsData.currentTranslate=l.translate}}else if(T.length>0&&x)if(void 0===t){const e=l.slidesGrid[y],t=l.slidesGrid[y-M]-e;o?l.setTranslate(l.translate-t):(l.slideTo(y-M,0,!1,!0),r&&(l.touchEventsData.startTranslate=l.touchEventsData.startTranslate-t,l.touchEventsData.currentTranslate=l.touchEventsData.currentTranslate-t))}else{const e=b?T.length/h.grid.rows:T.length;l.slideTo(l.activeIndex-e,0,!1,!0)}if(l.allowSlidePrev=c,l.allowSlideNext=p,l.controller&&l.controller.control&&!a){const e={slideRealIndex:t,direction:i,setTranslate:r,activeSlideIndex:n,byController:!0};Array.isArray(l.controller.control)?l.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===h.slidesPerView&&s})})):l.controller.control instanceof l.constructor&&l.controller.control.params.loop&&l.controller.control.loopFix({...e,slideTo:l.controller.control.params.slidesPerView===h.slidesPerView&&s})}l.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const i=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;i[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),i.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function D(e,t,s){const i=n(),{params:r}=e,a=r.edgeSwipeDetection,o=r.edgeSwipeThreshold;return!a||!(s<=o||s>=i.innerWidth-o)||"prevent"===a&&(t.preventDefault(),!0)}function N(e){const t=this,s=i();let r=e;r.originalEvent&&(r=r.originalEvent);const a=t.touchEventsData;if("pointerdown"===r.type){if(null!==a.pointerId&&a.pointerId!==r.pointerId)return;a.pointerId=r.pointerId}else"touchstart"===r.type&&1===r.targetTouches.length&&(a.touchId=r.targetTouches[0].identifier);if("touchstart"===r.type)return void D(t,r,r.targetTouches[0].pageX);const{params:l,touches:d,enabled:c}=t;if(!c)return;if(!l.simulateTouch&&"mouse"===r.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=r.target;if("wrapper"===l.touchEventsTarget&&!t.wrapperEl.contains(p))return;if("which"in r&&3===r.which)return;if("button"in r&&r.button>0)return;if(a.isTouched&&a.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,h=r.composedPath?r.composedPath():r.path;u&&r.target&&r.target.shadowRoot&&h&&(p=h[0]);const f=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,m=!(!r.target||!r.target.shadowRoot);if(l.noSwiping&&(m?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===i()||s===n())return null;s.assignedSlot&&(s=s.assignedSlot);const r=s.closest(e);return r||s.getRootNode?r||t(s.getRootNode().host):null}(t)}(f,p):p.closest(f)))return void(t.allowClick=!0);if(l.swipeHandler&&!p.closest(l.swipeHandler))return;d.currentX=r.pageX,d.currentY=r.pageY;const v=d.currentX,g=d.currentY;if(!D(t,r,v))return;Object.assign(a,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=v,d.startY=g,a.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(a.allowThresholdMove=!1);let w=!0;p.matches(a.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(a.isTouched=!1)),s.activeElement&&s.activeElement.matches(a.focusableElements)&&s.activeElement!==p&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||p.isContentEditable||r.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",r)}function V(e){const t=i(),s=this,r=s.touchEventsData,{params:n,touches:a,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!n.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==r.touchId)return;if(p.pointerId!==r.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].filter((e=>e.identifier===r.touchId))[0],!c||c.identifier!==r.touchId)return}else c=p;if(!r.isTouched)return void(r.startMoving&&r.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,h=c.pageY;if(p.preventedByNestedSwiper)return a.startX=u,void(a.startY=h);if(!s.allowTouchMove)return p.target.matches(r.focusableElements)||(s.allowClick=!1),void(r.isTouched&&(Object.assign(a,{startX:u,startY:h,currentX:u,currentY:h}),r.touchStartTime=o()));if(n.touchReleaseOnEdges&&!n.loop)if(s.isVertical()){if(ha.startY&&s.translate>=s.minTranslate())return r.isTouched=!1,void(r.isMoved=!1)}else if(ua.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&p.target===t.activeElement&&p.target.matches(r.focusableElements))return r.isMoved=!0,void(s.allowClick=!1);r.allowTouchCallbacks&&s.emit("touchMove",p),a.previousX=a.currentX,a.previousY=a.currentY,a.currentX=u,a.currentY=h;const f=a.currentX-a.startX,m=a.currentY-a.startY;if(s.params.threshold&&Math.sqrt(f**2+m**2)=25&&(e=180*Math.atan2(Math.abs(m),Math.abs(f))/Math.PI,r.isScrolling=s.isHorizontal()?e>n.touchAngle:90-e>n.touchAngle)}if(r.isScrolling&&s.emit("touchMoveOpposite",p),void 0===r.startMoving&&(a.currentX===a.startX&&a.currentY===a.startY||(r.startMoving=!0)),r.isScrolling||"touchmove"===p.type&&r.preventTouchMoveFromPointerMove)return void(r.isTouched=!1);if(!r.startMoving)return;s.allowClick=!1,!n.cssMode&&p.cancelable&&p.preventDefault(),n.touchMoveStopPropagation&&!n.nested&&p.stopPropagation();let v=s.isHorizontal()?f:m,g=s.isHorizontal()?a.currentX-a.previousX:a.currentY-a.previousY;n.oneWayMovement&&(v=Math.abs(v)*(l?1:-1),g=Math.abs(g)*(l?1:-1)),a.diff=v,v*=n.touchRatio,l&&(v=-v,g=-g);const w=s.touchesDirection;s.swipeDirection=v>0?"prev":"next",s.touchesDirection=g>0?"prev":"next";const b=s.params.loop&&!n.cssMode,S="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!r.isMoved){if(b&&S&&s.loopFix({direction:s.swipeDirection}),r.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}r.allowMomentumBounce=!1,!n.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),r.isMoved&&r.allowThresholdMove&&w!==s.touchesDirection&&b&&S&&Math.abs(v)>=1)return Object.assign(a,{startX:u,startY:h,currentX:u,currentY:h,startTranslate:r.currentTranslate}),r.loopSwapReset=!0,void(r.startTranslate=r.currentTranslate);s.emit("sliderMove",p),r.isMoved=!0,r.currentTranslate=v+r.startTranslate;let T=!0,y=n.resistanceRatio;if(n.touchReleaseOnEdges&&(y=0),v>0?(b&&S&&r.allowThresholdMove&&r.currentTranslate>(n.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),r.currentTranslate>s.minTranslate()&&(T=!1,n.resistance&&(r.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+r.startTranslate+v)**y))):v<0&&(b&&S&&r.allowThresholdMove&&r.currentTranslate<(n.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]:s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===n.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(n.slidesPerView,10)))}),r.currentTranslater.startTranslate&&(r.currentTranslate=r.startTranslate),s.allowSlidePrev||s.allowSlideNext||(r.currentTranslate=r.startTranslate),n.threshold>0){if(!(Math.abs(v)>n.threshold||r.allowThresholdMove))return void(r.currentTranslate=r.startTranslate);if(!r.allowThresholdMove)return r.allowThresholdMove=!0,a.startX=a.currentX,a.startY=a.currentY,r.currentTranslate=r.startTranslate,void(a.diff=s.isHorizontal()?a.currentX-a.startX:a.currentY-a.startY)}n.followFinger&&!n.cssMode&&((n.freeMode&&n.freeMode.enabled&&s.freeMode||n.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),n.freeMode&&n.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(r.currentTranslate),s.setTranslate(r.currentTranslate))}function B(e){const t=this,s=t.touchEventsData;let i,r=e;r.originalEvent&&(r=r.originalEvent);if("touchend"===r.type||"touchcancel"===r.type){if(i=[...r.changedTouches].filter((e=>e.identifier===s.touchId))[0],!i||i.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(r.pointerId!==s.pointerId)return;i=r}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(r.type)){if(!(["pointercancel","contextmenu"].includes(r.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:n,touches:l,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!n.simulateTouch&&"mouse"===r.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",r),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&n.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);n.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),h=u-s.touchStartTime;if(t.allowClick){const e=r.path||r.composedPath&&r.composedPath();t.updateClickedSlide(e&&e[0]||r.target,e),t.emit("tap click",r),h<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",r)}if(s.lastClickTime=o(),a((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===l.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let f;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,f=n.followFinger?d?t.translate:-t.translate:-s.currentTranslate,n.cssMode)return;if(n.freeMode&&n.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:f});const m=f>=-t.maxTranslate()&&!t.params.loop;let v=0,g=t.slidesSizesGrid[0];for(let e=0;e=c[e]&&f=c[e])&&(v=e,g=c[c.length-1]-c[c.length-2])}let w=null,b=null;n.rewind&&(t.isBeginning?b=n.virtual&&n.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const S=(f-c[v])/g,T=vn.longSwipesMs){if(!n.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(S>=n.longSwipesRatio?t.slideTo(n.rewind&&t.isEnd?w:v+T):t.slideTo(v)),"prev"===t.swipeDirection&&(S>1-n.longSwipesRatio?t.slideTo(v+T):null!==b&&S<0&&Math.abs(S)>n.longSwipesRatio?t.slideTo(b):t.slideTo(v))}else{if(!n.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(r.target===t.navigation.nextEl||r.target===t.navigation.prevEl)?r.target===t.navigation.nextEl?t.slideTo(v+T):t.slideTo(v):("next"===t.swipeDirection&&t.slideTo(null!==w?w:v+T),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:v))}}function $(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:r,snapGrid:n}=e,a=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const o=a&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||o?e.params.loop&&!a?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=r,e.allowSlideNext=i,e.params.watchOverflow&&n!==e.snapGrid&&e.checkOverflow()}function F(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function j(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:i}=e;if(!i)return;let r;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const n=e.maxTranslate()-e.minTranslate();r=0===n?0:(e.translate-e.minTranslate())/n,r!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function R(e){const t=this;k(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function H(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const W=(e,t)=>{const s=i(),{params:r,el:n,wrapperEl:a,device:o}=e,l=!!r.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:l}),n[d]("touchstart",e.onTouchStart,{passive:!1}),n[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:l}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:l}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(r.preventClicks||r.preventClicksPropagation)&&n[d]("click",e.onClick,!0),r.cssMode&&a[d]("scroll",e.onScroll),r.updateOnWindowResize?e[c](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",$,!0):e[c]("observerUpdate",$,!0),n[d]("load",e.onLoad,{capture:!0})};const q=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var Y={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 X(e,t){return function(s){void 0===s&&(s={});const i=Object.keys(s)[0],r=s[i];"object"==typeof r&&null!==r?(!0===e[i]&&(e[i]={enabled:!0}),"navigation"===i&&e[i]&&e[i].enabled&&!e[i].prevEl&&!e[i].nextEl&&(e[i].auto=!0),["pagination","scrollbar"].indexOf(i)>=0&&e[i]&&e[i].enabled&&!e[i].el&&(e[i].auto=!0),i in e&&"enabled"in r?("object"!=typeof e[i]||"enabled"in e[i]||(e[i].enabled=!0),e[i]||(e[i]={enabled:!1}),c(t,s)):c(t,s)):c(t,s)}}const U={eventsEmitter:C,update:I,translate:O,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;i.cssMode||(i.autoHeight&&s.updateAutoHeight(),_({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;s.animating=!1,i.cssMode||(s.setTransition(0),_({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:A,loop:G,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=N.bind(e),e.onTouchMove=V.bind(e),e.onTouchEnd=B.bind(e),e.onDocumentTouchStart=H.bind(e),t.cssMode&&(e.onScroll=j.bind(e)),e.onClick=F.bind(e),e.onLoad=R.bind(e),W(e,"on")},detachEvents:function(){W(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:i,el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const a=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!a||e.currentBreakpoint===a)return;const o=(a in n?n[a]:void 0)||e.originalParams,l=q(e,i),d=q(e,o),p=e.params.grabCursor,u=o.grabCursor,h=i.enabled;l&&!d?(r.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!l&&d&&(r.classList.add(`${i.containerModifierClass}grid`),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===i.grid.fill)&&r.classList.add(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),p&&!u?e.unsetGrabCursor():!p&&u&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===o[t])return;const s=i[t]&&i[t].enabled,r=o[t]&&o[t].enabled;s&&!r&&e[t].disable(),!s&&r&&e[t].enable()}));const f=o.direction&&o.direction!==i.direction,m=i.loop&&(o.slidesPerView!==i.slidesPerView||f),v=i.loop;f&&s&&e.changeDirection(),c(e.params,o);const g=e.params.enabled,w=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),h&&!g?e.disable():!h&&g&&e.enable(),e.currentBreakpoint=a,e.emit("_beforeBreakpoint",o),s&&(m?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!v&&w?(e.loopCreate(t),e.updateSlides()):v&&!w&&e.loopDestroy()),e.emit("breakpoint",o)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let i=!1;const r=n(),a="window"===t?r.innerHeight:s.clientHeight,o=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:a*t,point:e}}return{value:e,point:e}}));o.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:i,el:r,device:n}=e,a=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((i=>{e[i]&&s.push(t+i)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.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&&"column"===s.grid.fill},{android:n.android},{ios:n.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...a),r.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}}},K={};class Z{constructor(){let e,t;for(var s=arguments.length,r=new Array(s),n=0;n1){const e=[];return a.querySelectorAll(t.el).forEach((s=>{const i=c({},t,{el:s});e.push(new Z(i))})),e}const o=this;o.__swiper__=!0,o.support=y(),o.device=x({userAgent:t.userAgent}),o.browser=E(),o.eventsListeners={},o.eventsAnyListeners=[],o.modules=[...o.__modules__],t.modules&&Array.isArray(t.modules)&&o.modules.push(...t.modules);const l={};o.modules.forEach((e=>{e({params:t,swiper:o,extendParams:X(t,l),on:o.on.bind(o),once:o.once.bind(o),off:o.off.bind(o),emit:o.emit.bind(o)})}));const d=c({},Y,l);return o.params=c({},d,K,t),o.originalParams=c({},o.params),o.passedParams=c({},t),o.params&&o.params.on&&Object.keys(o.params.on).forEach((e=>{o.on(e,o.params.on[e])})),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:()=>"horizontal"===o.params.direction,isVertical:()=>"vertical"===o.params.direction,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:t,params:s}=this,i=g(h(t,`.${s.slideClass}, swiper-slide`)[0]);return g(e)-i}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=h(e,`.${t.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,t){const s=this;e=Math.min(Math.max(e,0),1);const i=s.minTranslate(),r=(s.maxTranslate()-i)*e+i;s.translateTo(r,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const i=e.getSlideClasses(s);t.push({slideEl:s,classNames:i}),e.emit("_slideClass",s,i)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:i,slidesGrid:r,slidesSizesGrid:n,size:a,activeIndex:o}=this;let l=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=i[o]?Math.ceil(i[o].swiperSlideSize):0;for(let s=o+1;sa&&(e=!0));for(let s=o-1;s>=0;s-=1)i[s]&&!e&&(t+=i[s].swiperSlideSize,l+=1,t>a&&(e=!0))}else if("current"===e)for(let e=o+1;e=0;e-=1){r[o]-r[e]{t.complete&&k(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)i(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;r=e.slideTo(t.length-1,0,!1,!0)}else r=e.slideTo(e.activeIndex,0,!1,!0);r||i()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,i=s.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${i}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(i())}return h(s,i())[0]})();return!r&&t.params.createElements&&(r=m("div",t.params.wrapperClass),s.append(r),h(s,`.${t.params.slideClass}`).forEach((e=>{r.append(e)}))),Object.assign(t,{el:s,wrapperEl:r,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:r,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===v(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===v(s,"direction")),wrongRTL:"-webkit-box"===v(r,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?k(t,e):e.addEventListener("load",(e=>{k(t,e.target)}))})),z(t),t.initialized=!0,z(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:i,el:r,wrapperEl:n,slides:a}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),i.loop&&s.loopDestroy(),t&&(s.removeClasses(),r.removeAttribute("style"),n.removeAttribute("style"),a&&a.length&&a.forEach((e=>{e.classList.remove(i.slideVisibleClass,i.slideFullyVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){c(K,e)}static get extendedDefaults(){return K}static get defaults(){return Y}static installModule(e){Z.prototype.__modules__||(Z.prototype.__modules__=[]);const t=Z.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>Z.installModule(e))),Z):(Z.installModule(e),Z)}}Object.keys(U).forEach((e=>{Object.keys(U[e]).forEach((t=>{Z.prototype[t]=U[e][t]}))})),Z.use([function(e){let{swiper:t,on:s,emit:i}=e;const r=n();let a=null,o=null;const l=()=>{t&&!t.destroyed&&t.initialized&&(i("beforeResize"),i("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&i("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==r.ResizeObserver?t&&!t.destroyed&&t.initialized&&(a=new ResizeObserver((e=>{o=r.requestAnimationFrame((()=>{const{width:s,height:i}=t;let r=s,n=i;e.forEach((e=>{let{contentBoxSize:s,contentRect:i,target:a}=e;a&&a!==t.el||(r=i?i.width:(s[0]||s).inlineSize,n=i?i.height:(s[0]||s).blockSize)})),r===s&&n===i||l()}))})),a.observe(t.el)):(r.addEventListener("resize",l),r.addEventListener("orientationchange",d))})),s("destroy",(()=>{o&&r.cancelAnimationFrame(o),a&&a.unobserve&&t.el&&(a.unobserve(t.el),a=null),r.removeEventListener("resize",l),r.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const a=[],o=n(),l=function(e,s){void 0===s&&(s={});const i=new(o.MutationObserver||o.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void r("observerUpdate",e[0]);const s=function(){r("observerUpdate",e[0])};o.requestAnimationFrame?o.requestAnimationFrame(s):o.setTimeout(s,0)}));i.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),a.push(i)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),i("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=function(e,t){const s=[];let i=e.parentElement;for(;i;)t?i.matches(t)&&s.push(i):s.push(i),i=i.parentElement;return s}(t.hostEl);for(let t=0;t{a.forEach((e=>{e.disconnect()})),a.splice(0,a.length)}))}]);const J=["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 Q(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)&&!e.__swiper__}function ee(e,t){const s=["__proto__","constructor","prototype"];Object.keys(t).filter((e=>s.indexOf(e)<0)).forEach((s=>{void 0===e[s]?e[s]=t[s]:Q(t[s])&&Q(e[s])&&Object.keys(t[s]).length>0?t[s].__swiper__?e[s]=t[s]:ee(e[s],t[s]):e[s]=t[s]}))}function te(e){return void 0===e&&(e=""),e.replace(/-[a-z]/g,(e=>e.toUpperCase().replace("-","")))}const se=e=>{if(parseFloat(e)===Number(e))return Number(e);if("true"===e)return!0;if(""===e)return!0;if("false"===e)return!1;if("null"===e)return null;if("undefined"!==e){if("string"==typeof e&&e.includes("{")&&e.includes("}")&&e.includes('"')){let t;try{t=JSON.parse(e)}catch(s){t=e}return t}return e}},ie=["a11y","autoplay","controller","cards-effect","coverflow-effect","creative-effect","cube-effect","fade-effect","flip-effect","free-mode","grid","hash-navigation","history","keyboard","mousewheel","navigation","pagination","parallax","scrollbar","thumbs","virtual","zoom"];function re(e,t,s){const i={},r={};ee(i,Y);const n=[...J,"on"],a=n.map((e=>e.replace(/_/,"")));n.forEach((t=>{t=t.replace("_",""),void 0!==e[t]&&(r[t]=e[t])}));const o=[...e.attributes];return"string"==typeof t&&void 0!==s&&o.push({name:t,value:Q(s)?{...s}:s}),o.forEach((e=>{const t=ie.filter((t=>0===e.name.indexOf(`${t}-`)))[0];if(t){const s=te(t),i=te(e.name.split(`${t}-`)[1]);void 0===r[s]&&(r[s]={}),!0===r[s]&&(r[s]={enabled:!0}),r[s][i]=se(e.value)}else{const t=te(e.name);if(!a.includes(t))return;const s=se(e.value);r[t]&&ie.includes(e.name)&&!Q(s)?(r[t].constructor!==Object&&(r[t]={}),r[t].enabled=!!s):r[t]=s}})),ee(i,r),i.navigation?i.navigation={prevEl:".swiper-button-prev",nextEl:".swiper-button-next",...!0!==i.navigation?i.navigation:{}}:!1===i.navigation&&delete i.navigation,i.scrollbar?i.scrollbar={el:".swiper-scrollbar",...!0!==i.scrollbar?i.scrollbar:{}}:!1===i.scrollbar&&delete i.scrollbar,i.pagination?i.pagination={el:".swiper-pagination",...!0!==i.pagination?i.pagination:{}}:!1===i.pagination&&delete i.pagination,{params:i,passedParams:r}}const ne=":host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}";const ae="undefined"==typeof window||"undefined"==typeof HTMLElement?class{}:HTMLElement,oe='\n ',le=(e,t)=>{if("undefined"!=typeof CSSStyleSheet&&e.adoptedStyleSheets){const s=new CSSStyleSheet;s.replaceSync(t),e.adoptedStyleSheets=[s]}else{const s=document.createElement("style");s.rel="stylesheet",s.textContent=t,e.appendChild(s)}};class de extends ae{constructor(){super(),this.attachShadow({mode:"open"})}static get nextButtonSvg(){return oe}static get prevButtonSvg(){return oe.replace("/>",' transform-origin="center" transform="rotate(180)"/>')}cssStyles(){return[ne,...this.injectStyles&&Array.isArray(this.injectStyles)?this.injectStyles:[]].join("\n")}cssLinks(){return this.injectStylesUrls||[]}calcSlideSlots(){const e=this.slideSlots||0,t=[...this.querySelectorAll("[slot^=slide-]")].map((e=>parseInt(e.getAttribute("slot").split("slide-")[1],10)));if(this.slideSlots=t.length?Math.max(...t)+1:0,this.rendered)if(this.slideSlots>e)for(let t=e;t=0;t-=1)t>this.slideSlots&&e[t].remove()}}render(){if(this.rendered)return;this.calcSlideSlots();let e=this.cssStyles();this.slideSlots>0&&(e=e.replace(/::slotted\(([a-z-0-9.]*)\)/g,"$1")),e.length&&le(this.shadowRoot,e),this.cssLinks().forEach((e=>{if(this.shadowRoot.querySelector(`link[href="${e}"]`))return;const t=document.createElement("link");t.rel="stylesheet",t.href=e,this.shadowRoot.appendChild(t)}));const t=document.createElement("div");var s;t.classList.add("swiper"),t.part="container",t.innerHTML=`\n \n
\n \n ${Array.from({length:this.slideSlots}).map(((e,t)=>`\n \n \n \n `)).join("")}\n
\n \n ${s=this.passedParams,void 0===s&&(s={}),s.navigation&&void 0===s.navigation.nextEl&&void 0===s.navigation.prevEl?`\n
${this.constructor.prevButtonSvg}
\n
${this.constructor.nextButtonSvg}
\n `:""}\n ${function(e){return void 0===e&&(e={}),e.pagination&&void 0===e.pagination.el}(this.passedParams)?'\n
\n ':""}\n ${function(e){return void 0===e&&(e={}),e.scrollbar&&void 0===e.scrollbar.el}(this.passedParams)?'\n
\n ':""}\n `,this.shadowRoot.appendChild(t),this.rendered=!0}initialize(){var e=this;if(this.initialized)return;this.initialized=!0;const{params:t,passedParams:s}=re(this);this.swiperParams=t,this.passedParams=s,delete this.swiperParams.init,this.render(),this.swiper=new Z(this.shadowRoot.querySelector(".swiper"),{...t.virtual?{}:{observer:!0,observeSlideChildren:this.slideSlots>0},...t,touchEventsTarget:"container",onAny:function(s){"observerUpdate"===s&&e.calcSlideSlots();const i=t.eventsPrefix?`${t.eventsPrefix}${s.toLowerCase()}`:s.toLowerCase();for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a"children"!==e&&"direction"!==e&&"wrapperClass"!==e)),{params:c,pagination:p,navigation:u,scrollbar:h,virtual:f,thumbs:m}=t;let v,g,w,b,S,T,y,x;r.includes("thumbs")&&i.thumbs&&i.thumbs.swiper&&c.thumbs&&!c.thumbs.swiper&&(v=!0),r.includes("controller")&&i.controller&&i.controller.control&&c.controller&&!c.controller.control&&(g=!0),r.includes("pagination")&&i.pagination&&(i.pagination.el||l)&&(c.pagination||!1===c.pagination)&&p&&!p.el&&(w=!0),r.includes("scrollbar")&&i.scrollbar&&(i.scrollbar.el||o)&&(c.scrollbar||!1===c.scrollbar)&&h&&!h.el&&(b=!0),r.includes("navigation")&&i.navigation&&(i.navigation.prevEl||a)&&(i.navigation.nextEl||n)&&(c.navigation||!1===c.navigation)&&u&&!u.prevEl&&!u.nextEl&&(S=!0);const E=e=>{t[e]&&(t[e].destroy(),"navigation"===e?(t.isElement&&(t[e].prevEl.remove(),t[e].nextEl.remove()),c[e].prevEl=void 0,c[e].nextEl=void 0,t[e].prevEl=void 0,t[e].nextEl=void 0):(t.isElement&&t[e].el.remove(),c[e].el=void 0,t[e].el=void 0))};r.includes("loop")&&t.isElement&&(c.loop&&!i.loop?T=!0:!c.loop&&i.loop?y=!0:x=!0),d.forEach((e=>{if(Q(c[e])&&Q(i[e]))Object.assign(c[e],i[e]),"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e||!("enabled"in i[e])||i[e].enabled||E(e);else{const t=i[e];!0!==t&&!1!==t||"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e?c[e]=i[e]:!1===t&&E(e)}})),d.includes("controller")&&!g&&t.controller&&t.controller.control&&c.controller&&c.controller.control&&(t.controller.control=c.controller.control),r.includes("children")&&s&&f&&c.virtual.enabled?(f.slides=s,f.update(!0)):r.includes("virtual")&&f&&c.virtual.enabled&&(s&&(f.slides=s),f.update(!0)),r.includes("children")&&s&&c.loop&&(x=!0),v&&m.init()&&m.update(!0);g&&(t.controller.control=c.controller.control),w&&(!t.isElement||l&&"string"!=typeof l||(l=document.createElement("div"),l.classList.add("swiper-pagination"),l.part.add("pagination"),t.el.appendChild(l)),l&&(c.pagination.el=l),p.init(),p.render(),p.update()),b&&(!t.isElement||o&&"string"!=typeof o||(o=document.createElement("div"),o.classList.add("swiper-scrollbar"),o.part.add("scrollbar"),t.el.appendChild(o)),o&&(c.scrollbar.el=o),h.init(),h.updateSize(),h.setTranslate()),S&&(t.isElement&&(n&&"string"!=typeof n||(n=document.createElement("div"),n.classList.add("swiper-button-next"),n.innerHTML=t.hostEl.constructor.nextButtonSvg,n.part.add("button-next"),t.el.appendChild(n)),a&&"string"!=typeof a||(a=document.createElement("div"),a.classList.add("swiper-button-prev"),a.innerHTML=t.hostEl.constructor.prevButtonSvg,a.part.add("button-prev"),t.el.appendChild(a))),n&&(c.navigation.nextEl=n),a&&(c.navigation.prevEl=a),u.init(),u.update()),r.includes("allowSlideNext")&&(t.allowSlideNext=i.allowSlideNext),r.includes("allowSlidePrev")&&(t.allowSlidePrev=i.allowSlidePrev),r.includes("direction")&&t.changeDirection(i.direction,!1),(T||x)&&t.loopDestroy(),(y||x)&&t.loopCreate(),t.update()}({swiper:this.swiper,passedParams:this.passedParams,changedParams:[te(e)],..."navigation"===e&&i[e]?{prevEl:".swiper-button-prev",nextEl:".swiper-button-next"}:{},..."pagination"===e&&i[e]?{paginationEl:".swiper-pagination"}:{},..."scrollbar"===e&&i[e]?{scrollbarEl:".swiper-scrollbar"}:{}})}attributeChangedCallback(e,t,s){this.initialized&&("true"===t&&null===s&&(s=!1),this.updateSwiperOnPropChange(e,s))}static get observedAttributes(){return J.filter((e=>e.includes("_"))).map((e=>e.replace(/[A-Z]/g,(e=>`-${e}`)).replace("_","").toLowerCase()))}}J.forEach((e=>{"init"!==e&&(e=e.replace("_",""),Object.defineProperty(de.prototype,e,{configurable:!0,get(){return(this.passedParams||{})[e]},set(t){this.passedParams||(this.passedParams={}),this.passedParams[e]=t,this.initialized&&this.updateSwiperOnPropChange(e,t)}}))}));class ce extends ae{constructor(){super(),this.attachShadow({mode:"open"})}render(){const e=this.lazy||""===this.getAttribute("lazy")||"true"===this.getAttribute("lazy");if(le(this.shadowRoot,"::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}"),this.shadowRoot.appendChild(document.createElement("slot")),e){const e=document.createElement("div");e.classList.add("swiper-lazy-preloader"),e.part.add("preloader"),this.shadowRoot.appendChild(e)}}initialize(){this.render()}connectedCallback(){this.initialize()}}"undefined"!=typeof window&&(window.SwiperElementRegisterParams=e=>{J.push(...e)}),"undefined"!=typeof window&&(window.customElements.get("swiper-container")||window.customElements.define("swiper-container",de),window.customElements.get("swiper-slide")||window.customElements.define("swiper-slide",ce))}(); -//# sourceMappingURL=swiper-element.min.js.map \ No newline at end of file diff --git a/node_modules/swiper/swiper-element.min.js.map b/node_modules/swiper/swiper-element.min.js.map deleted file mode 100644 index 5c748ec..0000000 --- a/node_modules/swiper/swiper-element.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper-element.js.js","names":["isObject$2","obj","constructor","Object","extend$2","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","nextTick","delay","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","getComputedStyle$1","WebKitCSSMatrix","transform","webkitTransform","split","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","parseFloat","m42","isObject$1","o","prototype","call","slice","extend$1","to","arguments","undefined","noExtend","i","nextSource","node","HTMLElement","nodeType","keysArray","filter","indexOf","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","elementChildren","element","selector","matches","showWarning","text","console","warn","err","tag","classes","classList","add","Array","isArray","trim","c","classesToTokens","elementStyle","prop","elementIndex","child","previousSibling","elementOuterSize","size","includeMargins","offsetWidth","support","deviceCached","browser","getSupport","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","toLowerCase","String","includes","major","minor","num","Number","isWebView","test","isSafariBrowser","need3dFix","calcBrowser","eventsEmitter","on","events","handler","priority","self","eventsListeners","destroyed","method","event","once","onceHandler","off","__emitterProxy","_len","args","_key","apply","onAny","eventsAnyListeners","offAny","index","splice","eventHandler","emit","data","context","_len2","_key2","unshift","toggleSlideClasses$1","slideEl","condition","className","contains","remove","toggleSlideClasses","processLazyPreloader","imageEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","shadowRoot","unlazy","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","push","from","_","column","slideIndexLastInView","rewind","loop","realIndex","update","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","assign","updateSlides","getDirectionPropertyValue","label","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","getAttribute","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","e","transitionEmit","direction","step","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","t","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","append","loopAddBlankSlides","recalcSlides","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","originalEvent","type","pointerId","targetTouches","touchId","identifier","pageX","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","scrollLeft","scrollTop","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","swiperElementNodeName","resizeObserver","createElements","eventsPrefix","url","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","bind","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","value","sort","b","wasLocked","lastSlideRightEdge","addClasses","classNames","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","centered","removeClasses","extendedDefaults","Swiper","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","module","m","prototypeGroup","protoMethod","observer","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","parents","parent","parentElement","elementParents","disconnect","paramsList","isObject","extend","attrToProp","attrName","l","formatValue","JSON","parse","modulesParamsList","getParams","propName","propValue","localParamsList","allowedParams","paramName","attrsList","name","attr","moduleParam","mParam","parentObjName","subObjName","scrollbar","pagination","SwiperCSS","ClassToExtend","arrowSvg","addStyle","styles","CSSStyleSheet","adoptedStyleSheets","styleSheet","replaceSync","rel","textContent","appendChild","SwiperContainer","super","attachShadow","mode","nextButtonSvg","prevButtonSvg","cssStyles","injectStyles","cssLinks","injectStylesUrls","calcSlideSlots","currentSideSlots","slideSlotChildren","rendered","slotEl","render","localStyles","linkEl","part","innerHTML","needsPagination","needsScrollbar","initialize","_this","connectedCallback","disconnectedCallback","updateSwiperOnPropChange","changedParams","scrollbarEl","paginationEl","updateParams","currentParams","thumbs","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","loopNeedDestroy","loopNeedEnable","loopNeedReloop","destroyModule","newValue","updateSwiper","attributeChangedCallback","prevValue","observedAttributes","param","defineProperty","configurable","get","set","SwiperSlide","lazy","lazyDiv","SwiperElementRegisterParams","customElements","define"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/swiper-element.min.mjs b/node_modules/swiper/swiper-element.min.mjs deleted file mode 100644 index 4e889db..0000000 --- a/node_modules/swiper/swiper-element.min.mjs +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -import{S as Swiper}from"./shared/swiper-core.min.mjs";import{p as paramsList,n as needsNavigation,a as needsPagination,b as needsScrollbar,u as updateSwiper,c as attrToProp}from"./shared/update-swiper.min.mjs";import{g as getParams}from"./shared/get-element-params.min.mjs";const SwiperCSS=":host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}",SwiperSlideCSS="::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}";class DummyHTMLElement{}const ClassToExtend="undefined"==typeof window||"undefined"==typeof HTMLElement?DummyHTMLElement:HTMLElement,arrowSvg='\n ',addStyle=(e,s)=>{if("undefined"!=typeof CSSStyleSheet&&e.adoptedStyleSheets){const t=new CSSStyleSheet;t.replaceSync(s),e.adoptedStyleSheets=[t]}else{const t=document.createElement("style");t.rel="stylesheet",t.textContent=s,e.appendChild(t)}};class SwiperContainer extends ClassToExtend{constructor(){super(),this.attachShadow({mode:"open"})}static get nextButtonSvg(){return arrowSvg}static get prevButtonSvg(){return arrowSvg.replace("/>",' transform-origin="center" transform="rotate(180)"/>')}cssStyles(){return[SwiperCSS,...this.injectStyles&&Array.isArray(this.injectStyles)?this.injectStyles:[]].join("\n")}cssLinks(){return this.injectStylesUrls||[]}calcSlideSlots(){const e=this.slideSlots||0,s=[...this.querySelectorAll("[slot^=slide-]")].map((e=>parseInt(e.getAttribute("slot").split("slide-")[1],10)));if(this.slideSlots=s.length?Math.max(...s)+1:0,this.rendered)if(this.slideSlots>e)for(let s=e;s=0;s-=1)s>this.slideSlots&&e[s].remove()}}render(){if(this.rendered)return;this.calcSlideSlots();let e=this.cssStyles();this.slideSlots>0&&(e=e.replace(/::slotted\(([a-z-0-9.]*)\)/g,"$1")),e.length&&addStyle(this.shadowRoot,e),this.cssLinks().forEach((e=>{if(this.shadowRoot.querySelector(`link[href="${e}"]`))return;const s=document.createElement("link");s.rel="stylesheet",s.href=e,this.shadowRoot.appendChild(s)}));const s=document.createElement("div");s.classList.add("swiper"),s.part="container",s.innerHTML=`\n \n
\n \n ${Array.from({length:this.slideSlots}).map(((e,s)=>`\n \n \n \n `)).join("")}\n
\n \n ${needsNavigation(this.passedParams)?`\n
${this.constructor.prevButtonSvg}
\n
${this.constructor.nextButtonSvg}
\n `:""}\n ${needsPagination(this.passedParams)?'\n
\n ':""}\n ${needsScrollbar(this.passedParams)?'\n
\n ':""}\n `,this.shadowRoot.appendChild(s),this.rendered=!0}initialize(){var e=this;if(this.initialized)return;this.initialized=!0;const{params:s,passedParams:t}=getParams(this);this.swiperParams=s,this.passedParams=t,delete this.swiperParams.init,this.render(),this.swiper=new Swiper(this.shadowRoot.querySelector(".swiper"),{...s.virtual?{}:{observer:!0,observeSlideChildren:this.slideSlots>0},...s,touchEventsTarget:"container",onAny:function(t){"observerUpdate"===t&&e.calcSlideSlots();const i=s.eventsPrefix?`${s.eventsPrefix}${t.toLowerCase()}`:t.toLowerCase();for(var r=arguments.length,a=new Array(r>1?r-1:0),o=1;oe.includes("_"))).map((e=>e.replace(/[A-Z]/g,(e=>`-${e}`)).replace("_","").toLowerCase()))}}paramsList.forEach((e=>{"init"!==e&&(e=e.replace("_",""),Object.defineProperty(SwiperContainer.prototype,e,{configurable:!0,get(){return(this.passedParams||{})[e]},set(s){this.passedParams||(this.passedParams={}),this.passedParams[e]=s,this.initialized&&this.updateSwiperOnPropChange(e,s)}}))}));class SwiperSlide extends ClassToExtend{constructor(){super(),this.attachShadow({mode:"open"})}render(){const e=this.lazy||""===this.getAttribute("lazy")||"true"===this.getAttribute("lazy");if(addStyle(this.shadowRoot,SwiperSlideCSS),this.shadowRoot.appendChild(document.createElement("slot")),e){const e=document.createElement("div");e.classList.add("swiper-lazy-preloader"),e.part.add("preloader"),this.shadowRoot.appendChild(e)}}initialize(){this.render()}connectedCallback(){this.initialize()}}const register=()=>{"undefined"!=typeof window&&(window.customElements.get("swiper-container")||window.customElements.define("swiper-container",SwiperContainer),window.customElements.get("swiper-slide")||window.customElements.define("swiper-slide",SwiperSlide))};"undefined"!=typeof window&&(window.SwiperElementRegisterParams=e=>{paramsList.push(...e)});export{SwiperContainer,SwiperSlide,register}; -//# sourceMappingURL=swiper-element.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/swiper-element.min.mjs.map b/node_modules/swiper/swiper-element.min.mjs.map deleted file mode 100644 index b4913bc..0000000 --- a/node_modules/swiper/swiper-element.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper-element.mjs.mjs","names":["Swiper","paramsList","needsNavigation","needsPagination","needsScrollbar","updateSwiper","attrToProp","getParams","SwiperCSS","SwiperSlideCSS","DummyHTMLElement","ClassToExtend","window","HTMLElement","arrowSvg","addStyle","shadowRoot","styles","CSSStyleSheet","adoptedStyleSheets","styleSheet","replaceSync","style","document","createElement","rel","textContent","appendChild","SwiperContainer","constructor","super","this","attachShadow","mode","nextButtonSvg","prevButtonSvg","replace","cssStyles","injectStyles","Array","isArray","join","cssLinks","injectStylesUrls","calcSlideSlots","currentSideSlots","slideSlots","slideSlotChildren","querySelectorAll","map","child","parseInt","getAttribute","split","length","Math","max","rendered","i","slideEl","setAttribute","slotEl","querySelector","slides","swiper","remove","render","localStyles","forEach","url","linkEl","href","el","classList","add","part","innerHTML","from","_","index","passedParams","initialize","_this","initialized","params","swiperParams","init","virtual","observer","observeSlideChildren","touchEventsTarget","onAny","name","eventName","eventsPrefix","toLowerCase","_len","arguments","args","_key","event","CustomEvent","detail","bubbles","cancelable","dispatchEvent","connectedCallback","nested","closest","swiperLoopMoveDOM","disconnectedCallback","destroy","updateSwiperOnPropChange","propName","propValue","changedParams","prevEl","nextEl","paginationEl","scrollbarEl","attributeChangedCallback","attr","prevValue","newValue","observedAttributes","filter","param","includes","v","paramName","Object","defineProperty","prototype","configurable","get","set","value","SwiperSlide","lazy","lazyDiv","register","customElements","define","SwiperElementRegisterParams","push"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/swiper-element.mjs b/node_modules/swiper/swiper-element.mjs deleted file mode 100644 index c04693a..0000000 --- a/node_modules/swiper/swiper-element.mjs +++ /dev/null @@ -1,286 +0,0 @@ -/** - * Swiper Custom Element 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -import { S as Swiper } from './shared/swiper-core.mjs'; -import { p as paramsList, n as needsNavigation, a as needsPagination, b as needsScrollbar, u as updateSwiper, c as attrToProp } from './shared/update-swiper.mjs'; -import { g as getParams } from './shared/get-element-params.mjs'; - -/* eslint-disable spaced-comment */ - -const SwiperCSS = `:host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}` -const SwiperSlideCSS = `::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}` - -class DummyHTMLElement {} -const ClassToExtend = typeof window === 'undefined' || typeof HTMLElement === 'undefined' ? DummyHTMLElement : HTMLElement; -const arrowSvg = ` - `; -const addStyle = (shadowRoot, styles) => { - if (typeof CSSStyleSheet !== 'undefined' && shadowRoot.adoptedStyleSheets) { - const styleSheet = new CSSStyleSheet(); - styleSheet.replaceSync(styles); - shadowRoot.adoptedStyleSheets = [styleSheet]; - } else { - const style = document.createElement('style'); - style.rel = 'stylesheet'; - style.textContent = styles; - shadowRoot.appendChild(style); - } -}; -class SwiperContainer extends ClassToExtend { - constructor() { - super(); - this.attachShadow({ - mode: 'open' - }); - } - static get nextButtonSvg() { - return arrowSvg; - } - static get prevButtonSvg() { - return arrowSvg.replace('/>', ' transform-origin="center" transform="rotate(180)"/>'); - } - cssStyles() { - return [SwiperCSS, - // eslint-disable-line - ...(this.injectStyles && Array.isArray(this.injectStyles) ? this.injectStyles : [])].join('\n'); - } - cssLinks() { - return this.injectStylesUrls || []; - } - calcSlideSlots() { - const currentSideSlots = this.slideSlots || 0; - // slide slots - const slideSlotChildren = [...this.querySelectorAll(`[slot^=slide-]`)].map(child => { - return parseInt(child.getAttribute('slot').split('slide-')[1], 10); - }); - this.slideSlots = slideSlotChildren.length ? Math.max(...slideSlotChildren) + 1 : 0; - if (!this.rendered) return; - if (this.slideSlots > currentSideSlots) { - for (let i = currentSideSlots; i < this.slideSlots; i += 1) { - const slideEl = document.createElement('swiper-slide'); - slideEl.setAttribute('part', `slide slide-${i + 1}`); - const slotEl = document.createElement('slot'); - slotEl.setAttribute('name', `slide-${i + 1}`); - slideEl.appendChild(slotEl); - this.shadowRoot.querySelector('.swiper-wrapper').appendChild(slideEl); - } - } else if (this.slideSlots < currentSideSlots) { - const slides = this.swiper.slides; - for (let i = slides.length - 1; i >= 0; i -= 1) { - if (i > this.slideSlots) { - slides[i].remove(); - } - } - } - } - render() { - if (this.rendered) return; - this.calcSlideSlots(); - - // local styles - let localStyles = this.cssStyles(); - if (this.slideSlots > 0) { - localStyles = localStyles.replace(/::slotted\(([a-z-0-9.]*)\)/g, '$1'); - } - if (localStyles.length) { - addStyle(this.shadowRoot, localStyles); - } - this.cssLinks().forEach(url => { - const linkExists = this.shadowRoot.querySelector(`link[href="${url}"]`); - if (linkExists) return; - const linkEl = document.createElement('link'); - linkEl.rel = 'stylesheet'; - linkEl.href = url; - this.shadowRoot.appendChild(linkEl); - }); - // prettier-ignore - const el = document.createElement('div'); - el.classList.add('swiper'); - el.part = 'container'; - - // prettier-ignore - el.innerHTML = ` - -
- - ${Array.from({ - length: this.slideSlots - }).map((_, index) => ` - - - - `).join('')} -
- - ${needsNavigation(this.passedParams) ? ` -
${this.constructor.prevButtonSvg}
-
${this.constructor.nextButtonSvg}
- ` : ''} - ${needsPagination(this.passedParams) ? ` -
- ` : ''} - ${needsScrollbar(this.passedParams) ? ` -
- ` : ''} - `; - this.shadowRoot.appendChild(el); - this.rendered = true; - } - initialize() { - var _this = this; - if (this.initialized) return; - this.initialized = true; - const { - params: swiperParams, - passedParams - } = getParams(this); - this.swiperParams = swiperParams; - this.passedParams = passedParams; - delete this.swiperParams.init; - this.render(); - - // eslint-disable-next-line - this.swiper = new Swiper(this.shadowRoot.querySelector('.swiper'), { - ...(swiperParams.virtual ? {} : { - observer: true, - observeSlideChildren: this.slideSlots > 0 - }), - ...swiperParams, - touchEventsTarget: 'container', - onAny: function (name) { - if (name === 'observerUpdate') { - _this.calcSlideSlots(); - } - const eventName = swiperParams.eventsPrefix ? `${swiperParams.eventsPrefix}${name.toLowerCase()}` : name.toLowerCase(); - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - const event = new CustomEvent(eventName, { - detail: args, - bubbles: name !== 'hashChange', - cancelable: true - }); - _this.dispatchEvent(event); - } - }); - } - connectedCallback() { - if (this.initialized && this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) { - return; - } - if (this.init === false || this.getAttribute('init') === 'false') { - return; - } - this.initialize(); - } - disconnectedCallback() { - if (this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) { - return; - } - if (this.swiper && this.swiper.destroy) { - this.swiper.destroy(); - } - this.initialized = false; - } - updateSwiperOnPropChange(propName, propValue) { - const { - params: swiperParams, - passedParams - } = getParams(this, propName, propValue); - this.passedParams = passedParams; - this.swiperParams = swiperParams; - if (this.swiper && this.swiper.params[propName] === propValue) { - return; - } - updateSwiper({ - swiper: this.swiper, - passedParams: this.passedParams, - changedParams: [attrToProp(propName)], - ...(propName === 'navigation' && passedParams[propName] ? { - prevEl: '.swiper-button-prev', - nextEl: '.swiper-button-next' - } : {}), - ...(propName === 'pagination' && passedParams[propName] ? { - paginationEl: '.swiper-pagination' - } : {}), - ...(propName === 'scrollbar' && passedParams[propName] ? { - scrollbarEl: '.swiper-scrollbar' - } : {}) - }); - } - attributeChangedCallback(attr, prevValue, newValue) { - if (!this.initialized) return; - if (prevValue === 'true' && newValue === null) { - newValue = false; - } - this.updateSwiperOnPropChange(attr, newValue); - } - static get observedAttributes() { - const attrs = paramsList.filter(param => param.includes('_')).map(param => param.replace(/[A-Z]/g, v => `-${v}`).replace('_', '').toLowerCase()); - return attrs; - } -} -paramsList.forEach(paramName => { - if (paramName === 'init') return; - paramName = paramName.replace('_', ''); - Object.defineProperty(SwiperContainer.prototype, paramName, { - configurable: true, - get() { - return (this.passedParams || {})[paramName]; - }, - set(value) { - if (!this.passedParams) this.passedParams = {}; - this.passedParams[paramName] = value; - if (!this.initialized) return; - this.updateSwiperOnPropChange(paramName, value); - } - }); -}); -class SwiperSlide extends ClassToExtend { - constructor() { - super(); - this.attachShadow({ - mode: 'open' - }); - } - render() { - const lazy = this.lazy || this.getAttribute('lazy') === '' || this.getAttribute('lazy') === 'true'; - addStyle(this.shadowRoot, SwiperSlideCSS); - this.shadowRoot.appendChild(document.createElement('slot')); - if (lazy) { - const lazyDiv = document.createElement('div'); - lazyDiv.classList.add('swiper-lazy-preloader'); - lazyDiv.part.add('preloader'); - this.shadowRoot.appendChild(lazyDiv); - } - } - initialize() { - this.render(); - } - connectedCallback() { - this.initialize(); - } -} - -// eslint-disable-next-line -const register = () => { - if (typeof window === 'undefined') return; - if (!window.customElements.get('swiper-container')) window.customElements.define('swiper-container', SwiperContainer); - if (!window.customElements.get('swiper-slide')) window.customElements.define('swiper-slide', SwiperSlide); -}; -if (typeof window !== 'undefined') { - window.SwiperElementRegisterParams = params => { - paramsList.push(...params); - }; -} - -export { SwiperContainer, SwiperSlide, register }; diff --git a/node_modules/swiper/swiper-react.d.ts b/node_modules/swiper/swiper-react.d.ts deleted file mode 100644 index d7bb777..0000000 --- a/node_modules/swiper/swiper-react.d.ts +++ /dev/null @@ -1,501 +0,0 @@ -import * as React from 'react'; - -import type { SwiperOptions, Swiper as SwiperClass } from './types/index.d.ts'; - -type SwiperProps = Omit< - React.HTMLAttributes, - | 'onProgress' - | 'onClick' - | 'onTouchEnd' - | 'onTouchMove' - | 'onTouchStart' - | 'onTransitionEnd' - | 'onKeyPress' - | 'onDoubleClick' - | 'onScroll' - | 'onResize' -> & - SwiperOptions & { - /** - * Swiper container tag - * - * @default 'div' - */ - tag?: string; - - /** - * Swiper wrapper tag - * - * @default 'div' - */ - wrapperTag?: string; - - /** - * Get Swiper instance - */ - onSwiper?: (swiper: SwiperClass) => void; - - /** - * Event will be fired in when autoplay started - */ - onAutoplayStart?: (swiper: SwiperClass) => void; - /** - * Event will be fired when autoplay stopped - */ - onAutoplayStop?: (swiper: SwiperClass) => void; - /** - * Event will be fired on autoplay pause - */ - onAutoplayPause?: (swiper: SwiperClass) => void; - /** - * Event will be fired on autoplay resume - */ - onAutoplayResume?: (swiper: SwiperClass) => void; - /** - * Event triggers continuously while autoplay is enabled. It contains time left (in ms) before transition to next slide and percentage of that time related to autoplay delay - */ - onAutoplayTimeLeft?: (swiper: SwiperClass, timeLeft: number, percentage: number) => void; - /** - * Event will be fired when slide changed with autoplay - */ - onAutoplay?: (swiper: SwiperClass) => void;/** - * Event will be fired on key press - */ - onKeyPress?: (swiper: SwiperClass, keyCode: string) => void;/** - * Event will be fired on navigation hide - */ - onNavigationHide?: (swiper: SwiperClass) => void; - /** - * Event will be fired on navigation show - */ - onNavigationShow?: (swiper: SwiperClass) => void; - /** - * Event will be fired on navigation prev button click - */ - onNavigationPrev?: (swiper: SwiperClass) => void; - /** - * Event will be fired on navigation next button click - */ - onNavigationNext?: (swiper: SwiperClass) => void;/** - * Event will be fired on mousewheel scroll - */ - onScroll?: (swiper: SwiperClass, event: WheelEvent) => void;/** - * Event will be fired on window hash change - */ - onHashChange?: (swiper: SwiperClass) => void; - /** - * Event will be fired when swiper updates the hash - */ - onHashSet?: (swiper: SwiperClass) => void;/** - * Event will be fired after pagination rendered - */ - onPaginationRender?: (swiper: SwiperClass, paginationEl: HTMLElement) => void; - - /** - * Event will be fired when pagination updated - */ - onPaginationUpdate?: (swiper: SwiperClass, paginationEl: HTMLElement) => void; - - /** - * Event will be fired on pagination hide - */ - onPaginationHide?: (swiper: SwiperClass) => void; - - /** - * Event will be fired on pagination show - */ - onPaginationShow?: (swiper: SwiperClass) => void;/** - * Event will be fired on zoom change - */ - onZoomChange?: (swiper: SwiperClass, scale: number, imageEl: HTMLElement, slideEl: HTMLElement) => void;/** - * Event will be fired on draggable scrollbar drag start - */ - onScrollbarDragStart?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired on draggable scrollbar drag move - */ - onScrollbarDragMove?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired on draggable scrollbar drag end - */ - onScrollbarDragEnd?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Fired right after Swiper initialization. - * @note Note that with `swiper.on('init')` syntax it will - * work only in case you set `init: false` parameter. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * init: false, - * // other parameters - * }); - * swiper.on('init', function() { - * // do something - * }); - * // init Swiper - * swiper.init(); - * ``` - * - * @example - * ```js - * // Otherwise use it as the parameter: - * const swiper = new Swiper('.swiper', { - * // other parameters - * on: { - * init: function () { - * // do something - * }, - * } - * }); - * ``` - */ - onInit?: (swiper: SwiperClass) => any; - - /** - * Event will be fired right before Swiper destroyed - */ - onBeforeDestroy?: (swiper: SwiperClass) => void; - - /** - * Event will be fired after slides and their sizes are calculated and updated - */ - onSlidesUpdated?: (swiper: SwiperClass) => void; - /** - * Event will be fired when currently active slide is changed - */ - onSlideChange?: (swiper: SwiperClass) => void; - - /** - * Event will be fired in the beginning of animation to other slide (next or previous). - */ - onSlideChangeTransitionStart?: (swiper: SwiperClass) => void; - - /** - * Event will be fired after animation to other slide (next or previous). - */ - onSlideChangeTransitionEnd?: (swiper: SwiperClass) => void; - - /** - * Same as "slideChangeTransitionStart" but for "forward" direction only - */ - onSlideNextTransitionStart?: (swiper: SwiperClass) => void; - - /** - * Same as "slideChangeTransitionEnd" but for "forward" direction only - */ - onSlideNextTransitionEnd?: (swiper: SwiperClass) => void; - - /** - * Same as "slideChangeTransitionStart" but for "backward" direction only - */ - onSlidePrevTransitionStart?: (swiper: SwiperClass) => void; - - /** - * Same as "slideChangeTransitionEnd" but for "backward" direction only - */ - onSlidePrevTransitionEnd?: (swiper: SwiperClass) => void; - - /** - * Event will be fired in the beginning of transition. - */ - onTransitionStart?: (swiper: SwiperClass) => void; - - /** - * Event will be fired after transition. - */ - onTransitionEnd?: (swiper: SwiperClass) => void; - - /** - * Event will be fired when user touch Swiper. Receives `pointerdown` event as an arguments. - */ - onTouchStart?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user touch and move finger over Swiper. Receives `pointermove` event as an arguments. - */ - onTouchMove?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user touch and move finger over Swiper in direction opposite to direction parameter. Receives `pointermove` event as an arguments. - */ - onTouchMoveOpposite?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user touch and move finger over Swiper and move it. Receives `pointermove` event as an arguments. - */ - onSliderMove?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user release Swiper. Receives `pointerup` event as an arguments. - */ - onTouchEnd?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user click/tap on Swiper. Receives `pointerup` event as an arguments. - */ - onClick?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user click/tap on Swiper. Receives `pointerup` event as an arguments. - */ - onTap?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user double tap on Swiper's container. Receives `pointerup` event as an arguments - */ - onDoubleTap?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when Swiper progress is changed, as an arguments it receives progress that is always from 0 to 1 - */ - onProgress?: (swiper: SwiperClass, progress: number) => void; - - /** - * Event will be fired when Swiper reach its beginning (initial position) - */ - onReachBeginning?: (swiper: SwiperClass) => void; - - /** - * Event will be fired when Swiper reach last slide - */ - onReachEnd?: (swiper: SwiperClass) => void; - - /** - * Event will be fired when Swiper goes to beginning or end position - */ - onToEdge?: (swiper: SwiperClass) => void; - - /** - * Event will be fired when Swiper goes from beginning or end position - */ - onFromEdge?: (swiper: SwiperClass) => void; - - /** - * Event will be fired when swiper's wrapper change its position. Receives current translate value as an arguments - */ - onSetTranslate?: (swiper: SwiperClass, translate: number) => void; - - /** - * Event will be fired everytime when swiper starts animation. Receives current transition duration (in ms) as an arguments - */ - onSetTransition?: (swiper: SwiperClass, transition: number) => void; - - /** - * Event will be fired on window resize right before swiper's onresize manipulation - */ - onResize?: (swiper: SwiperClass) => void; - - /** - * Event will be fired if observer is enabled and it detects DOM mutations - */ - onObserverUpdate?: (swiper: SwiperClass) => void; - - /** - * Event will be fired right before "loop fix" - */ - onBeforeLoopFix?: (swiper: SwiperClass) => void; - - /** - * Event will be fired after "loop fix" - */ - onLoopFix?: (swiper: SwiperClass) => void; - - /** - * Event will be fired on breakpoint change - */ - onBreakpoint?: (swiper: SwiperClass, breakpointParams: SwiperOptions) => void; - - /** - * !INTERNAL: Event will fired right before breakpoint change - */ - _beforeBreakpoint?: (swiper: SwiperClass, breakpointParams: SwiperOptions) => void; - - /** - * !INTERNAL: Event will fired after setting CSS classes on swiper container element - */ - _containerClasses?: (swiper: SwiperClass, classNames: string) => void; - - /** - * !INTERNAL: Event will fired after setting CSS classes on swiper slide element - */ - _slideClass?: (swiper: SwiperClass, slideEl: HTMLElement, classNames: string) => void; - - /** - * !INTERNAL: Event will fired after setting CSS classes on all swiper slides - */ - _slideClasses?: ( - swiper: SwiperClass, - slides: { slideEl: HTMLElement; classNames: string; index: number }[], - ) => void; - - /** - * !INTERNAL: Event will fired as soon as swiper instance available (before init) - */ - _swiper?: (swiper: SwiperClass) => void; - - /** - * !INTERNAL: Event will be fired on free mode touch end (release) and there will no be momentum - */ - _freeModeNoMomentumRelease?: (swiper: SwiperClass) => void; - - /** - * Event will fired on active index change - */ - onActiveIndexChange?: (swiper: SwiperClass) => void; - /** - * Event will fired on snap index change - */ - onSnapIndexChange?: (swiper: SwiperClass) => void; - /** - * Event will fired on real index change - */ - onRealIndexChange?: (swiper: SwiperClass) => void; - /** - * Event will fired right after initialization - */ - onAfterInit?: (swiper: SwiperClass) => void; - /** - * Event will fired right before initialization - */ - onBeforeInit?: (swiper: SwiperClass) => void; - /** - * Event will fired before resize handler - */ - onBeforeResize?: (swiper: SwiperClass) => void; - /** - * Event will fired before slide change transition start - */ - onBeforeSlideChangeStart?: (swiper: SwiperClass) => void; - /** - * Event will fired before transition start - */ - onBeforeTransitionStart?: (swiper: SwiperClass, speed: number, internal: any) => void; // what is internal? - /** - * Event will fired on direction change - */ - onChangeDirection?: (swiper: SwiperClass) => void; - /** - * Event will be fired when user double click/tap on Swiper - */ - onDoubleClick?: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - /** - * Event will be fired on swiper destroy - */ - onDestroy?: (swiper: SwiperClass) => void; - /** - * Event will be fired on momentum bounce - */ - onMomentumBounce?: (swiper: SwiperClass) => void; - /** - * Event will be fired on orientation change (e.g. landscape -> portrait) - */ - onOrientationchange?: (swiper: SwiperClass) => void; - /** - * Event will be fired in the beginning of animation of resetting slide to current one - */ - onSlideResetTransitionStart?: (swiper: SwiperClass) => void; - /** - * Event will be fired in the end of animation of resetting slide to current one - */ - onSlideResetTransitionEnd?: (swiper: SwiperClass) => void; - /** - * Event will be fired with first touch/drag move - */ - onSliderFirstMove?: (swiper: SwiperClass, event: TouchEvent) => void; - /** - * Event will be fired when number of slides has changed - */ - onSlidesLengthChange?: (swiper: SwiperClass) => void; - /** - * Event will be fired when slides grid has changed - */ - onSlidesGridLengthChange?: (swiper: SwiperClass) => void; - /** - * Event will be fired when snap grid has changed - */ - onSnapGridLengthChange?: (swiper: SwiperClass) => void; - /** - * Event will be fired after swiper.update() call - */ - onUpdate?: (swiper: SwiperClass) => void; - /** - * Event will be fired when swiper is locked (when `watchOverflow` enabled) - */ - onLock?: (swiper: SwiperClass) => void; - /** - * Event will be fired when swiper is unlocked (when `watchOverflow` enabled) - */ - onUnlock?: (swiper: SwiperClass) => void; - - }; - -interface SlideData { - isActive: boolean; - isVisible: boolean; - isPrev: boolean; - isNext: boolean; -} - -type SwiperSlideProps = Omit, 'children'> & { - /** - * Slide tag - * - * @default 'div' - */ - tag?: string; - - /** - * Enables additional wrapper required for zoom mode - * - * @default false - */ - zoom?: boolean; - - /** - * Adds lazy preloader to the slide - * - * @default false - */ - lazy?: boolean; - - /** - * Slide's index in slides array/collection - * - * @default false - */ - virtualIndex?: number; - - /** - * Slide's child element or render function - * - * @default undefined - */ - children?: React.ReactNode | ((slideData: SlideData) => React.ReactNode); -}; - -interface SwiperRef extends React.HTMLAttributes { - swiper: SwiperClass; -} - -declare const Swiper: React.FunctionComponent< - React.RefAttributes & React.PropsWithChildren ->; -declare const SwiperSlide: React.FunctionComponent; - -declare const useSwiper: () => SwiperClass; -declare const useSwiperSlide: () => SlideData; - -export { - Swiper, - SwiperSlide, - SwiperProps, - SwiperSlideProps, - SwiperRef, - useSwiper, - useSwiperSlide, - SwiperClass, -}; diff --git a/node_modules/swiper/swiper-react.mjs b/node_modules/swiper/swiper-react.mjs deleted file mode 100644 index b7d7c00..0000000 --- a/node_modules/swiper/swiper-react.mjs +++ /dev/null @@ -1,394 +0,0 @@ -/** - * Swiper React 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -import React, { useEffect, useLayoutEffect, useContext, createContext, forwardRef, useState, useRef } from 'react'; -import { S as Swiper$1 } from './shared/swiper-core.mjs'; -import { g as getParams, m as mountSwiper, a as getChangedParams, u as updateOnVirtualData } from './shared/update-on-virtual-data.mjs'; -import { d as uniqueClasses, w as wrapperClass, n as needsNavigation, b as needsScrollbar, a as needsPagination, e as extend, u as updateSwiper } from './shared/update-swiper.mjs'; - -function _extends() { - _extends = Object.assign ? Object.assign.bind() : function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - return target; - }; - return _extends.apply(this, arguments); -} - -function isChildSwiperSlide(child) { - return child.type && child.type.displayName && child.type.displayName.includes('SwiperSlide'); -} -function processChildren(c) { - const slides = []; - React.Children.toArray(c).forEach(child => { - if (isChildSwiperSlide(child)) { - slides.push(child); - } else if (child.props && child.props.children) { - processChildren(child.props.children).forEach(slide => slides.push(slide)); - } - }); - return slides; -} -function getChildren(c) { - const slides = []; - const slots = { - 'container-start': [], - 'container-end': [], - 'wrapper-start': [], - 'wrapper-end': [] - }; - React.Children.toArray(c).forEach(child => { - if (isChildSwiperSlide(child)) { - slides.push(child); - } else if (child.props && child.props.slot && slots[child.props.slot]) { - slots[child.props.slot].push(child); - } else if (child.props && child.props.children) { - const foundSlides = processChildren(child.props.children); - if (foundSlides.length > 0) { - foundSlides.forEach(slide => slides.push(slide)); - } else { - slots['container-end'].push(child); - } - } else { - slots['container-end'].push(child); - } - }); - return { - slides, - slots - }; -} - -function renderVirtual(swiper, slides, virtualData) { - if (!virtualData) return null; - const getSlideIndex = index => { - let slideIndex = index; - if (index < 0) { - slideIndex = slides.length + index; - } else if (slideIndex >= slides.length) { - // eslint-disable-next-line - slideIndex = slideIndex - slides.length; - } - return slideIndex; - }; - const style = swiper.isHorizontal() ? { - [swiper.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px` - } : { - top: `${virtualData.offset}px` - }; - const { - from, - to - } = virtualData; - const loopFrom = swiper.params.loop ? -slides.length : 0; - const loopTo = swiper.params.loop ? slides.length * 2 : slides.length; - const slidesToRender = []; - for (let i = loopFrom; i < loopTo; i += 1) { - if (i >= from && i <= to) { - slidesToRender.push(slides[getSlideIndex(i)]); - } - } - return slidesToRender.map((child, index) => { - return /*#__PURE__*/React.cloneElement(child, { - swiper, - style, - key: child.props.virtualIndex || child.key || `slide-${index}` - }); - }); -} - -function useIsomorphicLayoutEffect(callback, deps) { - // eslint-disable-next-line - if (typeof window === 'undefined') return useEffect(callback, deps); - return useLayoutEffect(callback, deps); -} - -const SwiperSlideContext = /*#__PURE__*/createContext(null); -const useSwiperSlide = () => { - return useContext(SwiperSlideContext); -}; -const SwiperContext = /*#__PURE__*/createContext(null); -const useSwiper = () => { - return useContext(SwiperContext); -}; - -const Swiper = /*#__PURE__*/forwardRef(function (_temp, externalElRef) { - let { - className, - tag: Tag = 'div', - wrapperTag: WrapperTag = 'div', - children, - onSwiper, - ...rest - } = _temp === void 0 ? {} : _temp; - let eventsAssigned = false; - const [containerClasses, setContainerClasses] = useState('swiper'); - const [virtualData, setVirtualData] = useState(null); - const [breakpointChanged, setBreakpointChanged] = useState(false); - const initializedRef = useRef(false); - const swiperElRef = useRef(null); - const swiperRef = useRef(null); - const oldPassedParamsRef = useRef(null); - const oldSlides = useRef(null); - const nextElRef = useRef(null); - const prevElRef = useRef(null); - const paginationElRef = useRef(null); - const scrollbarElRef = useRef(null); - const { - params: swiperParams, - passedParams, - rest: restProps, - events - } = getParams(rest); - const { - slides, - slots - } = getChildren(children); - const onBeforeBreakpoint = () => { - setBreakpointChanged(!breakpointChanged); - }; - Object.assign(swiperParams.on, { - _containerClasses(swiper, classes) { - setContainerClasses(classes); - } - }); - const initSwiper = () => { - // init swiper - Object.assign(swiperParams.on, events); - eventsAssigned = true; - const passParams = { - ...swiperParams - }; - delete passParams.wrapperClass; - swiperRef.current = new Swiper$1(passParams); - if (swiperRef.current.virtual && swiperRef.current.params.virtual.enabled) { - swiperRef.current.virtual.slides = slides; - const extendWith = { - cache: false, - slides, - renderExternal: setVirtualData, - renderExternalUpdate: false - }; - extend(swiperRef.current.params.virtual, extendWith); - extend(swiperRef.current.originalParams.virtual, extendWith); - } - }; - if (!swiperElRef.current) { - initSwiper(); - } - - // Listen for breakpoints change - if (swiperRef.current) { - swiperRef.current.on('_beforeBreakpoint', onBeforeBreakpoint); - } - const attachEvents = () => { - if (eventsAssigned || !events || !swiperRef.current) return; - Object.keys(events).forEach(eventName => { - swiperRef.current.on(eventName, events[eventName]); - }); - }; - const detachEvents = () => { - if (!events || !swiperRef.current) return; - Object.keys(events).forEach(eventName => { - swiperRef.current.off(eventName, events[eventName]); - }); - }; - useEffect(() => { - return () => { - if (swiperRef.current) swiperRef.current.off('_beforeBreakpoint', onBeforeBreakpoint); - }; - }); - - // set initialized flag - useEffect(() => { - if (!initializedRef.current && swiperRef.current) { - swiperRef.current.emitSlidesClasses(); - initializedRef.current = true; - } - }); - - // mount swiper - useIsomorphicLayoutEffect(() => { - if (externalElRef) { - externalElRef.current = swiperElRef.current; - } - if (!swiperElRef.current) return; - if (swiperRef.current.destroyed) { - initSwiper(); - } - mountSwiper({ - el: swiperElRef.current, - nextEl: nextElRef.current, - prevEl: prevElRef.current, - paginationEl: paginationElRef.current, - scrollbarEl: scrollbarElRef.current, - swiper: swiperRef.current - }, swiperParams); - if (onSwiper && !swiperRef.current.destroyed) onSwiper(swiperRef.current); - // eslint-disable-next-line - return () => { - if (swiperRef.current && !swiperRef.current.destroyed) { - swiperRef.current.destroy(true, false); - } - }; - }, []); - - // watch for params change - useIsomorphicLayoutEffect(() => { - attachEvents(); - const changedParams = getChangedParams(passedParams, oldPassedParamsRef.current, slides, oldSlides.current, c => c.key); - oldPassedParamsRef.current = passedParams; - oldSlides.current = slides; - if (changedParams.length && swiperRef.current && !swiperRef.current.destroyed) { - updateSwiper({ - swiper: swiperRef.current, - slides, - passedParams, - changedParams, - nextEl: nextElRef.current, - prevEl: prevElRef.current, - scrollbarEl: scrollbarElRef.current, - paginationEl: paginationElRef.current - }); - } - return () => { - detachEvents(); - }; - }); - - // update on virtual update - useIsomorphicLayoutEffect(() => { - updateOnVirtualData(swiperRef.current); - }, [virtualData]); - - // bypass swiper instance to slides - function renderSlides() { - if (swiperParams.virtual) { - return renderVirtual(swiperRef.current, slides, virtualData); - } - return slides.map((child, index) => { - return /*#__PURE__*/React.cloneElement(child, { - swiper: swiperRef.current, - swiperSlideIndex: index - }); - }); - } - return /*#__PURE__*/React.createElement(Tag, _extends({ - ref: swiperElRef, - className: uniqueClasses(`${containerClasses}${className ? ` ${className}` : ''}`) - }, restProps), /*#__PURE__*/React.createElement(SwiperContext.Provider, { - value: swiperRef.current - }, slots['container-start'], /*#__PURE__*/React.createElement(WrapperTag, { - className: wrapperClass(swiperParams.wrapperClass) - }, slots['wrapper-start'], renderSlides(), slots['wrapper-end']), needsNavigation(swiperParams) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { - ref: prevElRef, - className: "swiper-button-prev" - }), /*#__PURE__*/React.createElement("div", { - ref: nextElRef, - className: "swiper-button-next" - })), needsScrollbar(swiperParams) && /*#__PURE__*/React.createElement("div", { - ref: scrollbarElRef, - className: "swiper-scrollbar" - }), needsPagination(swiperParams) && /*#__PURE__*/React.createElement("div", { - ref: paginationElRef, - className: "swiper-pagination" - }), slots['container-end'])); -}); -Swiper.displayName = 'Swiper'; - -const SwiperSlide = /*#__PURE__*/forwardRef(function (_temp, externalRef) { - let { - tag: Tag = 'div', - children, - className = '', - swiper, - zoom, - lazy, - virtualIndex, - swiperSlideIndex, - ...rest - } = _temp === void 0 ? {} : _temp; - const slideElRef = useRef(null); - const [slideClasses, setSlideClasses] = useState('swiper-slide'); - const [lazyLoaded, setLazyLoaded] = useState(false); - function updateClasses(_s, el, classNames) { - if (el === slideElRef.current) { - setSlideClasses(classNames); - } - } - useIsomorphicLayoutEffect(() => { - if (typeof swiperSlideIndex !== 'undefined') { - slideElRef.current.swiperSlideIndex = swiperSlideIndex; - } - if (externalRef) { - externalRef.current = slideElRef.current; - } - if (!slideElRef.current || !swiper) { - return; - } - if (swiper.destroyed) { - if (slideClasses !== 'swiper-slide') { - setSlideClasses('swiper-slide'); - } - return; - } - swiper.on('_slideClass', updateClasses); - // eslint-disable-next-line - return () => { - if (!swiper) return; - swiper.off('_slideClass', updateClasses); - }; - }); - useIsomorphicLayoutEffect(() => { - if (swiper && slideElRef.current && !swiper.destroyed) { - setSlideClasses(swiper.getSlideClasses(slideElRef.current)); - } - }, [swiper]); - const slideData = { - isActive: slideClasses.indexOf('swiper-slide-active') >= 0, - isVisible: slideClasses.indexOf('swiper-slide-visible') >= 0, - isPrev: slideClasses.indexOf('swiper-slide-prev') >= 0, - isNext: slideClasses.indexOf('swiper-slide-next') >= 0 - }; - const renderChildren = () => { - return typeof children === 'function' ? children(slideData) : children; - }; - const onLoad = () => { - setLazyLoaded(true); - }; - return /*#__PURE__*/React.createElement(Tag, _extends({ - ref: slideElRef, - className: uniqueClasses(`${slideClasses}${className ? ` ${className}` : ''}`), - "data-swiper-slide-index": virtualIndex, - onLoad: onLoad - }, rest), zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, { - value: slideData - }, /*#__PURE__*/React.createElement("div", { - className: "swiper-zoom-container", - "data-swiper-zoom": typeof zoom === 'number' ? zoom : undefined - }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement("div", { - className: "swiper-lazy-preloader" - }))), !zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, { - value: slideData - }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement("div", { - className: "swiper-lazy-preloader" - }))); -}); -SwiperSlide.displayName = 'SwiperSlide'; - -export { Swiper, SwiperSlide, useSwiper, useSwiperSlide }; diff --git a/node_modules/swiper/swiper-vars.less b/node_modules/swiper/swiper-vars.less deleted file mode 100644 index a068f6d..0000000 --- a/node_modules/swiper/swiper-vars.less +++ /dev/null @@ -1 +0,0 @@ -@themeColor: #007aff; diff --git a/node_modules/swiper/swiper-vars.scss b/node_modules/swiper/swiper-vars.scss deleted file mode 100644 index 819dec4..0000000 --- a/node_modules/swiper/swiper-vars.scss +++ /dev/null @@ -1 +0,0 @@ -$themeColor: #007aff !default; diff --git a/node_modules/swiper/swiper-vue.d.ts b/node_modules/swiper/swiper-vue.d.ts deleted file mode 100644 index 1bdb5f7..0000000 --- a/node_modules/swiper/swiper-vue.d.ts +++ /dev/null @@ -1,866 +0,0 @@ -import type { - A11yOptions, - AutoplayOptions, - ControllerOptions, - CoverflowEffectOptions, - CubeEffectOptions, - FadeEffectOptions, - FlipEffectOptions, - CreativeEffectOptions, - CardsEffectOptions, - HashNavigationOptions, - HistoryOptions, - KeyboardOptions, - MousewheelOptions, - NavigationOptions, - PaginationOptions, - ParallaxOptions, - ScrollbarOptions, - ThumbsOptions, - VirtualOptions, - ZoomOptions, - FreeModeOptions, - GridOptions, -} from './types/index.d.ts'; -import { ComponentOptionsMixin, DefineComponent, PropType, Ref } from 'vue'; -import type { SwiperOptions, Swiper as SwiperClass } from './types/index.d.ts'; - -declare const Swiper: DefineComponent< - { - tag: { - type: StringConstructor; - default: string; - }; - wrapperTag: { - type: StringConstructor; - default: string; - }; - modules: { - type: ArrayConstructor; - default: undefined; - }; - init: { - type: BooleanConstructor; - default: undefined; - }; - direction: { - type: PropType; - default: SwiperOptions['direction']; - }; - oneWayMovement: { - type: PropType; - default: SwiperOptions['oneWayMovement']; - }; - swiperElementNodeName: { - type: PropType; - default: SwiperOptions['swiperElementNodeName']; - }; - touchEventsTarget: { - type: PropType; - default: undefined; - }; - initialSlide: { - type: NumberConstructor; - default: undefined; - }; - speed: { type: NumberConstructor; default: undefined }; - cssMode: { type: BooleanConstructor; default: undefined }; - updateOnWindowResize: { - type: BooleanConstructor; - default: undefined; - }; - resizeObserver: { - type: BooleanConstructor; - default: undefined; - }; - nested: { type: BooleanConstructor; default: undefined }; - focusableElements: { - type: StringConstructor; - default: undefined; - }; - width: { type: NumberConstructor; default: undefined }; - height: { type: NumberConstructor; default: undefined }; - preventInteractionOnTransition: { - type: BooleanConstructor; - default: undefined; - }; - userAgent: { type: StringConstructor; default: undefined }; - url: { type: StringConstructor; default: undefined }; - edgeSwipeDetection: { - type: BooleanConstructor | StringConstructor; - default: undefined; - }; - edgeSwipeThreshold: { - type: NumberConstructor; - default: undefined; - }; - autoHeight: { - type: BooleanConstructor; - default: undefined; - }; - setWrapperSize: { - type: BooleanConstructor; - default: undefined; - }; - virtualTranslate: { - type: BooleanConstructor; - default: undefined; - }; - effect: { - type: PropType; - default: undefined; - }; - breakpoints: { - type: PropType; - default: undefined; - }; - spaceBetween: { - type: PropType; - default: undefined; - }; - slidesPerView: { - type: PropType; - default: undefined; - }; - maxBackfaceHiddenSlides: { - type: NumberConstructor; - default: undefined; - }; - slidesPerGroup: { - type: NumberConstructor; - default: undefined; - }; - slidesPerGroupSkip: { - type: NumberConstructor; - default: undefined; - }; - slidesPerGroupAuto: { - type: BooleanConstructor; - default: undefined; - }; - centeredSlides: { - type: BooleanConstructor; - default: undefined; - }; - centeredSlidesBounds: { - type: BooleanConstructor; - default: undefined; - }; - slidesOffsetBefore: { - type: NumberConstructor; - default: undefined; - }; - slidesOffsetAfter: { - type: NumberConstructor; - default: undefined; - }; - normalizeSlideIndex: { - type: BooleanConstructor; - default: undefined; - }; - centerInsufficientSlides: { - type: BooleanConstructor; - default: undefined; - }; - watchOverflow: { - type: BooleanConstructor; - default: undefined; - }; - roundLengths: { - type: BooleanConstructor; - default: undefined; - }; - touchRatio: { - type: NumberConstructor; - default: undefined; - }; - touchAngle: { - type: NumberConstructor; - default: undefined; - }; - simulateTouch: { - type: BooleanConstructor; - default: undefined; - }; - shortSwipes: { - type: BooleanConstructor; - default: undefined; - }; - longSwipes: { - type: BooleanConstructor; - default: undefined; - }; - longSwipesRatio: { - type: NumberConstructor; - default: undefined; - }; - longSwipesMs: { - type: NumberConstructor; - default: undefined; - }; - followFinger: { - type: BooleanConstructor; - default: undefined; - }; - allowTouchMove: { - type: BooleanConstructor; - default: undefined; - }; - threshold: { type: NumberConstructor; default: undefined }; - touchMoveStopPropagation: { - type: BooleanConstructor; - default: undefined; - }; - touchStartPreventDefault: { - type: BooleanConstructor; - default: undefined; - }; - touchStartForcePreventDefault: { - type: BooleanConstructor; - default: undefined; - }; - touchReleaseOnEdges: { - type: BooleanConstructor; - default: undefined; - }; - uniqueNavElements: { - type: BooleanConstructor; - default: undefined; - }; - resistance: { - type: BooleanConstructor; - default: undefined; - }; - resistanceRatio: { - type: NumberConstructor; - default: undefined; - }; - watchSlidesProgress: { - type: BooleanConstructor; - default: undefined; - }; - grabCursor: { - type: BooleanConstructor; - default: undefined; - }; - preventClicks: { - type: BooleanConstructor; - default: undefined; - }; - preventClicksPropagation: { - type: BooleanConstructor; - default: undefined; - }; - slideToClickedSlide: { - type: BooleanConstructor; - default: undefined; - }; - loop: { type: BooleanConstructor; default: undefined }; - loopAddBlankSlides: { type: BooleanConstructor; default: undefined }; - loopAdditionalSlides: { - type: NumberConstructor; - default: undefined; - }; - loopPreventsSliding: { type: BooleanConstructor; default: undefined }; - rewind: { type: BooleanConstructor; default: undefined }; - allowSlidePrev: { - type: BooleanConstructor; - default: undefined; - }; - allowSlideNext: { - type: BooleanConstructor; - default: undefined; - }; - swipeHandler: { - type: BooleanConstructor; - default: undefined; - }; - noSwiping: { - type: BooleanConstructor; - default: undefined; - }; - noSwipingClass: { - type: StringConstructor; - default: undefined; - }; - noSwipingSelector: { - type: StringConstructor; - default: undefined; - }; - passiveListeners: { - type: BooleanConstructor; - default: undefined; - }; - containerModifierClass: { - type: StringConstructor; - default: undefined; - }; - slideClass: { - type: StringConstructor; - default: undefined; - }; - slideActiveClass: { - type: StringConstructor; - default: undefined; - }; - slideVisibleClass: { - type: StringConstructor; - default: undefined; - }; - slideFullyVisibleClass: { - type: StringConstructor; - default: undefined; - }; - slideBlankClass: { - type: StringConstructor; - default: undefined; - }; - slideNextClass: { - type: StringConstructor; - default: undefined; - }; - slidePrevClass: { - type: StringConstructor; - default: undefined; - }; - wrapperClass: { - type: StringConstructor; - default: undefined; - }; - lazyPreloaderClass: { - type: StringConstructor; - default: undefined; - }; - lazyPreloadPrevNext: { - type: NumberConstructor; - default: undefined; - }; - runCallbacksOnInit: { - type: BooleanConstructor; - default: undefined; - }; - observer: { type: BooleanConstructor; default: undefined }; - observeParents: { - type: BooleanConstructor; - default: undefined; - }; - observeSlideChildren: { - type: BooleanConstructor; - default: undefined; - }; - a11y: { - type: PropType; - default: undefined; - }; - autoplay: { - type: PropType; - default: undefined; - }; - controller: { - type: PropType; - default: undefined; - }; - coverflowEffect: { - type: PropType; - default: undefined; - }; - cubeEffect: { - type: PropType; - default: undefined; - }; - fadeEffect: { - type: PropType; - default: undefined; - }; - flipEffect: { - type: PropType; - default: undefined; - }; - creativeEffect: { - type: PropType; - default: undefined; - }; - cardsEffect: { - type: PropType; - default: undefined; - }; - hashNavigation: { - type: PropType; - default: undefined; - }; - history: { - type: PropType; - default: undefined; - }; - keyboard: { - type: PropType; - default: undefined; - }; - mousewheel: { - type: PropType; - default: undefined; - }; - navigation: { - type: PropType; - default: undefined; - }; - pagination: { - type: PropType; - default: undefined; - }; - parallax: { - type: PropType; - default: undefined; - }; - scrollbar: { - type: PropType; - default: undefined; - }; - thumbs: { type: PropType; default: undefined }; - virtual: { - type: PropType; - default: undefined; - }; - zoom: { - type: PropType; - default: undefined; - }; - freeMode: { - type: PropType; - default: undefined; - }; - grid: { - type: PropType; - default: undefined; - }; - }, - () => JSX.Element, - unknown, - {}, - {}, - ComponentOptionsMixin, - ComponentOptionsMixin, - { - swiper: (swiper: SwiperClass) => void; - /** - * Event will be fired in when autoplay started - */ - autoplayStart: (swiper: SwiperClass) => void; - /** - * Event will be fired when autoplay stopped - */ - autoplayStop: (swiper: SwiperClass) => void; - /** - * Event will be fired on autoplay pause - */ - autoplayPause: (swiper: SwiperClass) => void; - /** - * Event will be fired on autoplay resume - */ - autoplayResume: (swiper: SwiperClass) => void; - /** - * Event triggers continuously while autoplay is enabled. It contains time left (in ms) before transition to next slide and percentage of that time related to autoplay delay - */ - autoplayTimeLeft: (swiper: SwiperClass, timeLeft: number, percentage: number) => void; - /** - * Event will be fired when slide changed with autoplay - */ - autoplay: (swiper: SwiperClass) => void;/** - * Event will be fired on key press - */ - keyPress: (swiper: SwiperClass, keyCode: string) => void;/** - * Event will be fired on navigation hide - */ - navigationHide: (swiper: SwiperClass) => void; - /** - * Event will be fired on navigation show - */ - navigationShow: (swiper: SwiperClass) => void; - /** - * Event will be fired on navigation prev button click - */ - navigationPrev: (swiper: SwiperClass) => void; - /** - * Event will be fired on navigation next button click - */ - navigationNext: (swiper: SwiperClass) => void;/** - * Event will be fired on mousewheel scroll - */ - scroll: (swiper: SwiperClass, event: WheelEvent) => void;/** - * Event will be fired on window hash change - */ - hashChange: (swiper: SwiperClass) => void; - /** - * Event will be fired when swiper updates the hash - */ - hashSet: (swiper: SwiperClass) => void;/** - * Event will be fired after pagination rendered - */ - paginationRender: (swiper: SwiperClass, paginationEl: HTMLElement) => void; - - /** - * Event will be fired when pagination updated - */ - paginationUpdate: (swiper: SwiperClass, paginationEl: HTMLElement) => void; - - /** - * Event will be fired on pagination hide - */ - paginationHide: (swiper: SwiperClass) => void; - - /** - * Event will be fired on pagination show - */ - paginationShow: (swiper: SwiperClass) => void;/** - * Event will be fired on zoom change - */ - zoomChange: (swiper: SwiperClass, scale: number, imageEl: HTMLElement, slideEl: HTMLElement) => void;/** - * Event will be fired on draggable scrollbar drag start - */ - scrollbarDragStart: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired on draggable scrollbar drag move - */ - scrollbarDragMove: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired on draggable scrollbar drag end - */ - scrollbarDragEnd: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Fired right after Swiper initialization. - * @note Note that with `swiper.on('init')` syntax it will - * work only in case you set `init: false` parameter. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * init: false, - * // other parameters - * }); - * swiper.on('init', function() { - * // do something - * }); - * // init Swiper - * swiper.init(); - * ``` - * - * @example - * ```js - * // Otherwise use it as the parameter: - * const swiper = new Swiper('.swiper', { - * // other parameters - * on: { - * init: function () { - * // do something - * }, - * } - * }); - * ``` - */ - init: (swiper: SwiperClass) => any; - - /** - * Event will be fired right before Swiper destroyed - */ - beforeDestroy: (swiper: SwiperClass) => void; - - /** - * Event will be fired after slides and their sizes are calculated and updated - */ - slidesUpdated: (swiper: SwiperClass) => void; - /** - * Event will be fired when currently active slide is changed - */ - slideChange: (swiper: SwiperClass) => void; - - /** - * Event will be fired in the beginning of animation to other slide (next or previous). - */ - slideChangeTransitionStart: (swiper: SwiperClass) => void; - - /** - * Event will be fired after animation to other slide (next or previous). - */ - slideChangeTransitionEnd: (swiper: SwiperClass) => void; - - /** - * Same as "slideChangeTransitionStart" but for "forward" direction only - */ - slideNextTransitionStart: (swiper: SwiperClass) => void; - - /** - * Same as "slideChangeTransitionEnd" but for "forward" direction only - */ - slideNextTransitionEnd: (swiper: SwiperClass) => void; - - /** - * Same as "slideChangeTransitionStart" but for "backward" direction only - */ - slidePrevTransitionStart: (swiper: SwiperClass) => void; - - /** - * Same as "slideChangeTransitionEnd" but for "backward" direction only - */ - slidePrevTransitionEnd: (swiper: SwiperClass) => void; - - /** - * Event will be fired in the beginning of transition. - */ - transitionStart: (swiper: SwiperClass) => void; - - /** - * Event will be fired after transition. - */ - transitionEnd: (swiper: SwiperClass) => void; - - /** - * Event will be fired when user touch Swiper. Receives `pointerdown` event as an arguments. - */ - touchStart: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user touch and move finger over Swiper. Receives `pointermove` event as an arguments. - */ - touchMove: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user touch and move finger over Swiper in direction opposite to direction parameter. Receives `pointermove` event as an arguments. - */ - touchMoveOpposite: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user touch and move finger over Swiper and move it. Receives `pointermove` event as an arguments. - */ - sliderMove: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user release Swiper. Receives `pointerup` event as an arguments. - */ - touchEnd: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user click/tap on Swiper. Receives `pointerup` event as an arguments. - */ - click: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user click/tap on Swiper. Receives `pointerup` event as an arguments. - */ - tap: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user double tap on Swiper's container. Receives `pointerup` event as an arguments - */ - doubleTap: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when Swiper progress is changed, as an arguments it receives progress that is always from 0 to 1 - */ - progress: (swiper: SwiperClass, progress: number) => void; - - /** - * Event will be fired when Swiper reach its beginning (initial position) - */ - reachBeginning: (swiper: SwiperClass) => void; - - /** - * Event will be fired when Swiper reach last slide - */ - reachEnd: (swiper: SwiperClass) => void; - - /** - * Event will be fired when Swiper goes to beginning or end position - */ - toEdge: (swiper: SwiperClass) => void; - - /** - * Event will be fired when Swiper goes from beginning or end position - */ - fromEdge: (swiper: SwiperClass) => void; - - /** - * Event will be fired when swiper's wrapper change its position. Receives current translate value as an arguments - */ - setTranslate: (swiper: SwiperClass, translate: number) => void; - - /** - * Event will be fired everytime when swiper starts animation. Receives current transition duration (in ms) as an arguments - */ - setTransition: (swiper: SwiperClass, transition: number) => void; - - /** - * Event will be fired on window resize right before swiper's onresize manipulation - */ - resize: (swiper: SwiperClass) => void; - - /** - * Event will be fired if observer is enabled and it detects DOM mutations - */ - observerUpdate: (swiper: SwiperClass) => void; - - /** - * Event will be fired right before "loop fix" - */ - beforeLoopFix: (swiper: SwiperClass) => void; - - /** - * Event will be fired after "loop fix" - */ - loopFix: (swiper: SwiperClass) => void; - - /** - * Event will be fired on breakpoint change - */ - breakpoint: (swiper: SwiperClass, breakpointParams: SwiperOptions) => void; - - /** - * !INTERNAL: Event will fired right before breakpoint change - */ - _beforeBreakpoint: (swiper: SwiperClass, breakpointParams: SwiperOptions) => void; - - /** - * !INTERNAL: Event will fired after setting CSS classes on swiper container element - */ - _containerClasses: (swiper: SwiperClass, classNames: string) => void; - - /** - * !INTERNAL: Event will fired after setting CSS classes on swiper slide element - */ - _slideClass: (swiper: SwiperClass, slideEl: HTMLElement, classNames: string) => void; - - /** - * !INTERNAL: Event will fired after setting CSS classes on all swiper slides - */ - _slideClasses: ( - swiper: SwiperClass, - slides: { slideEl: HTMLElement; classNames: string; index: number }[], - ) => void; - - /** - * !INTERNAL: Event will fired as soon as swiper instance available (before init) - */ - _swiper: (swiper: SwiperClass) => void; - - /** - * !INTERNAL: Event will be fired on free mode touch end (release) and there will no be momentum - */ - _freeModeNoMomentumRelease: (swiper: SwiperClass) => void; - - /** - * Event will fired on active index change - */ - activeIndexChange: (swiper: SwiperClass) => void; - /** - * Event will fired on snap index change - */ - snapIndexChange: (swiper: SwiperClass) => void; - /** - * Event will fired on real index change - */ - realIndexChange: (swiper: SwiperClass) => void; - /** - * Event will fired right after initialization - */ - afterInit: (swiper: SwiperClass) => void; - /** - * Event will fired right before initialization - */ - beforeInit: (swiper: SwiperClass) => void; - /** - * Event will fired before resize handler - */ - beforeResize: (swiper: SwiperClass) => void; - /** - * Event will fired before slide change transition start - */ - beforeSlideChangeStart: (swiper: SwiperClass) => void; - /** - * Event will fired before transition start - */ - beforeTransitionStart: (swiper: SwiperClass, speed: number, internal: any) => void; // what is internal? - /** - * Event will fired on direction change - */ - changeDirection: (swiper: SwiperClass) => void; - /** - * Event will be fired when user double click/tap on Swiper - */ - doubleClick: (swiper: SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void; - /** - * Event will be fired on swiper destroy - */ - destroy: (swiper: SwiperClass) => void; - /** - * Event will be fired on momentum bounce - */ - momentumBounce: (swiper: SwiperClass) => void; - /** - * Event will be fired on orientation change (e.g. landscape -> portrait) - */ - orientationchange: (swiper: SwiperClass) => void; - /** - * Event will be fired in the beginning of animation of resetting slide to current one - */ - slideResetTransitionStart: (swiper: SwiperClass) => void; - /** - * Event will be fired in the end of animation of resetting slide to current one - */ - slideResetTransitionEnd: (swiper: SwiperClass) => void; - /** - * Event will be fired with first touch/drag move - */ - sliderFirstMove: (swiper: SwiperClass, event: TouchEvent) => void; - /** - * Event will be fired when number of slides has changed - */ - slidesLengthChange: (swiper: SwiperClass) => void; - /** - * Event will be fired when slides grid has changed - */ - slidesGridLengthChange: (swiper: SwiperClass) => void; - /** - * Event will be fired when snap grid has changed - */ - snapGridLengthChange: (swiper: SwiperClass) => void; - /** - * Event will be fired after swiper.update() call - */ - update: (swiper: SwiperClass) => void; - /** - * Event will be fired when swiper is locked (when `watchOverflow` enabled) - */ - lock: (swiper: SwiperClass) => void; - /** - * Event will be fired when swiper is unlocked (when `watchOverflow` enabled) - */ - unlock: (swiper: SwiperClass) => void; - - } ->; - -declare const SwiperSlide: DefineComponent<{ - tag: { - type: StringConstructor; - default: string; - }; - swiperRef: { type: PropType; required: false }; - lazy: { type: BooleanConstructor; default: false }; - zoom: { type: BooleanConstructor; default: undefined }; - virtualIndex: { - type: StringConstructor | NumberConstructor; - default: undefined; - }; -}>; - -declare const useSwiper: () => Ref; -declare const useSwiperSlide: () => Ref<{ - isActive: boolean; - isVisible: boolean; - isPrev: boolean; - isNext: boolean; -}>; - -export { Swiper, SwiperSlide, useSwiper, useSwiperSlide }; diff --git a/node_modules/swiper/swiper-vue.mjs b/node_modules/swiper/swiper-vue.mjs deleted file mode 100644 index 398d958..0000000 --- a/node_modules/swiper/swiper-vue.mjs +++ /dev/null @@ -1,826 +0,0 @@ -/** - * Swiper Vue 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -import { h, ref, onUpdated, provide, watch, nextTick, onMounted, onBeforeUnmount, onBeforeUpdate, computed, inject } from 'vue'; -import { S as Swiper$1 } from './shared/swiper-core.mjs'; -import { g as getParams, a as getChangedParams, u as updateOnVirtualData, m as mountSwiper } from './shared/update-on-virtual-data.mjs'; -import { e as extend, u as updateSwiper, d as uniqueClasses, w as wrapperClass, n as needsNavigation, b as needsScrollbar, a as needsPagination } from './shared/update-swiper.mjs'; - -function getChildren(originalSlots, slidesRef, oldSlidesRef) { - if (originalSlots === void 0) { - originalSlots = {}; - } - const slides = []; - const slots = { - 'container-start': [], - 'container-end': [], - 'wrapper-start': [], - 'wrapper-end': [] - }; - const getSlidesFromElements = (els, slotName) => { - if (!Array.isArray(els)) { - return; - } - els.forEach(vnode => { - const isFragment = typeof vnode.type === 'symbol'; - if (slotName === 'default') slotName = 'container-end'; - if (isFragment && vnode.children) { - getSlidesFromElements(vnode.children, slotName); - } else if (vnode.type && (vnode.type.name === 'SwiperSlide' || vnode.type.name === 'AsyncComponentWrapper') || vnode.componentOptions && vnode.componentOptions.tag === 'SwiperSlide') { - slides.push(vnode); - } else if (slots[slotName]) { - slots[slotName].push(vnode); - } - }); - }; - Object.keys(originalSlots).forEach(slotName => { - if (typeof originalSlots[slotName] !== 'function') return; - const els = originalSlots[slotName](); - getSlidesFromElements(els, slotName); - }); - oldSlidesRef.value = slidesRef.value; - slidesRef.value = slides; - return { - slides, - slots - }; -} - -function renderVirtual(swiperRef, slides, virtualData) { - if (!virtualData) return null; - const getSlideIndex = index => { - let slideIndex = index; - if (index < 0) { - slideIndex = slides.length + index; - } else if (slideIndex >= slides.length) { - // eslint-disable-next-line - slideIndex = slideIndex - slides.length; - } - return slideIndex; - }; - const style = swiperRef.value.isHorizontal() ? { - [swiperRef.value.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px` - } : { - top: `${virtualData.offset}px` - }; - const { - from, - to - } = virtualData; - const loopFrom = swiperRef.value.params.loop ? -slides.length : 0; - const loopTo = swiperRef.value.params.loop ? slides.length * 2 : slides.length; - const slidesToRender = []; - for (let i = loopFrom; i < loopTo; i += 1) { - if (i >= from && i <= to) { - slidesToRender.push(slides[getSlideIndex(i)]); - } - } - return slidesToRender.map(slide => { - if (!slide.props) slide.props = {}; - if (!slide.props.style) slide.props.style = {}; - slide.props.swiperRef = swiperRef; - slide.props.style = style; - if (slide.type) { - return h(slide.type, { - ...slide.props - }, slide.children); - } else if (slide.componentOptions) { - return h(slide.componentOptions.Ctor, { - ...slide.props - }, slide.componentOptions.children); - } - }); -} - -const Swiper = { - name: 'Swiper', - props: { - tag: { - type: String, - default: 'div' - }, - wrapperTag: { - type: String, - default: 'div' - }, - modules: { - type: Array, - default: undefined - }, - init: { - type: Boolean, - default: undefined - }, - direction: { - type: String, - default: undefined - }, - oneWayMovement: { - type: Boolean, - default: undefined - }, - swiperElementNodeName: { - type: String, - default: 'SWIPER-CONTAINER' - }, - touchEventsTarget: { - type: String, - default: undefined - }, - initialSlide: { - type: Number, - default: undefined - }, - speed: { - type: Number, - default: undefined - }, - cssMode: { - type: Boolean, - default: undefined - }, - updateOnWindowResize: { - type: Boolean, - default: undefined - }, - resizeObserver: { - type: Boolean, - default: undefined - }, - nested: { - type: Boolean, - default: undefined - }, - focusableElements: { - type: String, - default: undefined - }, - width: { - type: Number, - default: undefined - }, - height: { - type: Number, - default: undefined - }, - preventInteractionOnTransition: { - type: Boolean, - default: undefined - }, - userAgent: { - type: String, - default: undefined - }, - url: { - type: String, - default: undefined - }, - edgeSwipeDetection: { - type: [Boolean, String], - default: undefined - }, - edgeSwipeThreshold: { - type: Number, - default: undefined - }, - autoHeight: { - type: Boolean, - default: undefined - }, - setWrapperSize: { - type: Boolean, - default: undefined - }, - virtualTranslate: { - type: Boolean, - default: undefined - }, - effect: { - type: String, - default: undefined - }, - breakpoints: { - type: Object, - default: undefined - }, - spaceBetween: { - type: [Number, String], - default: undefined - }, - slidesPerView: { - type: [Number, String], - default: undefined - }, - maxBackfaceHiddenSlides: { - type: Number, - default: undefined - }, - slidesPerGroup: { - type: Number, - default: undefined - }, - slidesPerGroupSkip: { - type: Number, - default: undefined - }, - slidesPerGroupAuto: { - type: Boolean, - default: undefined - }, - centeredSlides: { - type: Boolean, - default: undefined - }, - centeredSlidesBounds: { - type: Boolean, - default: undefined - }, - slidesOffsetBefore: { - type: Number, - default: undefined - }, - slidesOffsetAfter: { - type: Number, - default: undefined - }, - normalizeSlideIndex: { - type: Boolean, - default: undefined - }, - centerInsufficientSlides: { - type: Boolean, - default: undefined - }, - watchOverflow: { - type: Boolean, - default: undefined - }, - roundLengths: { - type: Boolean, - default: undefined - }, - touchRatio: { - type: Number, - default: undefined - }, - touchAngle: { - type: Number, - default: undefined - }, - simulateTouch: { - type: Boolean, - default: undefined - }, - shortSwipes: { - type: Boolean, - default: undefined - }, - longSwipes: { - type: Boolean, - default: undefined - }, - longSwipesRatio: { - type: Number, - default: undefined - }, - longSwipesMs: { - type: Number, - default: undefined - }, - followFinger: { - type: Boolean, - default: undefined - }, - allowTouchMove: { - type: Boolean, - default: undefined - }, - threshold: { - type: Number, - default: undefined - }, - touchMoveStopPropagation: { - type: Boolean, - default: undefined - }, - touchStartPreventDefault: { - type: Boolean, - default: undefined - }, - touchStartForcePreventDefault: { - type: Boolean, - default: undefined - }, - touchReleaseOnEdges: { - type: Boolean, - default: undefined - }, - uniqueNavElements: { - type: Boolean, - default: undefined - }, - resistance: { - type: Boolean, - default: undefined - }, - resistanceRatio: { - type: Number, - default: undefined - }, - watchSlidesProgress: { - type: Boolean, - default: undefined - }, - grabCursor: { - type: Boolean, - default: undefined - }, - preventClicks: { - type: Boolean, - default: undefined - }, - preventClicksPropagation: { - type: Boolean, - default: undefined - }, - slideToClickedSlide: { - type: Boolean, - default: undefined - }, - loop: { - type: Boolean, - default: undefined - }, - loopedSlides: { - type: Number, - default: undefined - }, - loopPreventsSliding: { - type: Boolean, - default: undefined - }, - rewind: { - type: Boolean, - default: undefined - }, - allowSlidePrev: { - type: Boolean, - default: undefined - }, - allowSlideNext: { - type: Boolean, - default: undefined - }, - swipeHandler: { - type: Boolean, - default: undefined - }, - noSwiping: { - type: Boolean, - default: undefined - }, - noSwipingClass: { - type: String, - default: undefined - }, - noSwipingSelector: { - type: String, - default: undefined - }, - passiveListeners: { - type: Boolean, - default: undefined - }, - containerModifierClass: { - type: String, - default: undefined - }, - slideClass: { - type: String, - default: undefined - }, - slideActiveClass: { - type: String, - default: undefined - }, - slideVisibleClass: { - type: String, - default: undefined - }, - slideFullyVisibleClass: { - type: String, - default: undefined - }, - slideBlankClass: { - type: String, - default: undefined - }, - slideNextClass: { - type: String, - default: undefined - }, - slidePrevClass: { - type: String, - default: undefined - }, - wrapperClass: { - type: String, - default: undefined - }, - lazyPreloaderClass: { - type: String, - default: undefined - }, - lazyPreloadPrevNext: { - type: Number, - default: undefined - }, - runCallbacksOnInit: { - type: Boolean, - default: undefined - }, - observer: { - type: Boolean, - default: undefined - }, - observeParents: { - type: Boolean, - default: undefined - }, - observeSlideChildren: { - type: Boolean, - default: undefined - }, - a11y: { - type: [Boolean, Object], - default: undefined - }, - autoplay: { - type: [Boolean, Object], - default: undefined - }, - controller: { - type: Object, - default: undefined - }, - coverflowEffect: { - type: Object, - default: undefined - }, - cubeEffect: { - type: Object, - default: undefined - }, - fadeEffect: { - type: Object, - default: undefined - }, - flipEffect: { - type: Object, - default: undefined - }, - creativeEffect: { - type: Object, - default: undefined - }, - cardsEffect: { - type: Object, - default: undefined - }, - hashNavigation: { - type: [Boolean, Object], - default: undefined - }, - history: { - type: [Boolean, Object], - default: undefined - }, - keyboard: { - type: [Boolean, Object], - default: undefined - }, - mousewheel: { - type: [Boolean, Object], - default: undefined - }, - navigation: { - type: [Boolean, Object], - default: undefined - }, - pagination: { - type: [Boolean, Object], - default: undefined - }, - parallax: { - type: [Boolean, Object], - default: undefined - }, - scrollbar: { - type: [Boolean, Object], - default: undefined - }, - thumbs: { - type: Object, - default: undefined - }, - virtual: { - type: [Boolean, Object], - default: undefined - }, - zoom: { - type: [Boolean, Object], - default: undefined - }, - grid: { - type: [Object], - default: undefined - }, - freeMode: { - type: [Boolean, Object], - default: undefined - }, - enabled: { - type: Boolean, - default: undefined - } - }, - 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(props, _ref) { - let { - slots: originalSlots, - emit - } = _ref; - const { - tag: Tag, - wrapperTag: WrapperTag - } = props; - const containerClasses = ref('swiper'); - const virtualData = ref(null); - const breakpointChanged = ref(false); - const initializedRef = ref(false); - const swiperElRef = ref(null); - const swiperRef = ref(null); - const oldPassedParamsRef = ref(null); - const slidesRef = { - value: [] - }; - const oldSlidesRef = { - value: [] - }; - const nextElRef = ref(null); - const prevElRef = ref(null); - const paginationElRef = ref(null); - const scrollbarElRef = ref(null); - const { - params: swiperParams, - passedParams - } = getParams(props, false); - getChildren(originalSlots, slidesRef, oldSlidesRef); - oldPassedParamsRef.value = passedParams; - oldSlidesRef.value = slidesRef.value; - const onBeforeBreakpoint = () => { - getChildren(originalSlots, slidesRef, oldSlidesRef); - breakpointChanged.value = true; - }; - swiperParams.onAny = function (event) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - emit(event, ...args); - }; - Object.assign(swiperParams.on, { - _beforeBreakpoint: onBeforeBreakpoint, - _containerClasses(swiper, classes) { - containerClasses.value = classes; - } - }); - - // init Swiper - const passParams = { - ...swiperParams - }; - delete passParams.wrapperClass; - swiperRef.value = new Swiper$1(passParams); - if (swiperRef.value.virtual && swiperRef.value.params.virtual.enabled) { - swiperRef.value.virtual.slides = slidesRef.value; - const extendWith = { - cache: false, - slides: slidesRef.value, - renderExternal: data => { - virtualData.value = data; - }, - renderExternalUpdate: false - }; - extend(swiperRef.value.params.virtual, extendWith); - extend(swiperRef.value.originalParams.virtual, extendWith); - } - onUpdated(() => { - // set initialized flag - if (!initializedRef.value && swiperRef.value) { - swiperRef.value.emitSlidesClasses(); - initializedRef.value = true; - } - // watch for params change - const { - passedParams: newPassedParams - } = getParams(props, false); - const changedParams = getChangedParams(newPassedParams, oldPassedParamsRef.value, slidesRef.value, oldSlidesRef.value, c => c.props && c.props.key); - oldPassedParamsRef.value = newPassedParams; - if ((changedParams.length || breakpointChanged.value) && swiperRef.value && !swiperRef.value.destroyed) { - updateSwiper({ - swiper: swiperRef.value, - slides: slidesRef.value, - passedParams: newPassedParams, - changedParams, - nextEl: nextElRef.value, - prevEl: prevElRef.value, - scrollbarEl: scrollbarElRef.value, - paginationEl: paginationElRef.value - }); - } - breakpointChanged.value = false; - }); - provide('swiper', swiperRef); - - // update on virtual update - watch(virtualData, () => { - nextTick(() => { - updateOnVirtualData(swiperRef.value); - }); - }); - - // mount swiper - onMounted(() => { - if (!swiperElRef.value) return; - mountSwiper({ - el: swiperElRef.value, - nextEl: nextElRef.value, - prevEl: prevElRef.value, - paginationEl: paginationElRef.value, - scrollbarEl: scrollbarElRef.value, - swiper: swiperRef.value - }, swiperParams); - emit('swiper', swiperRef.value); - }); - onBeforeUnmount(() => { - if (swiperRef.value && !swiperRef.value.destroyed) { - swiperRef.value.destroy(true, false); - } - }); - - // bypass swiper instance to slides - function renderSlides(slides) { - if (swiperParams.virtual) { - return renderVirtual(swiperRef, slides, virtualData.value); - } - slides.forEach((slide, index) => { - if (!slide.props) slide.props = {}; - slide.props.swiperRef = swiperRef; - slide.props.swiperSlideIndex = index; - }); - return slides; - } - return () => { - const { - slides, - slots - } = getChildren(originalSlots, slidesRef, oldSlidesRef); - return h(Tag, { - ref: swiperElRef, - class: uniqueClasses(containerClasses.value) - }, [slots['container-start'], h(WrapperTag, { - class: wrapperClass(swiperParams.wrapperClass) - }, [slots['wrapper-start'], renderSlides(slides), slots['wrapper-end']]), needsNavigation(props) && [h('div', { - ref: prevElRef, - class: 'swiper-button-prev' - }), h('div', { - ref: nextElRef, - class: 'swiper-button-next' - })], needsScrollbar(props) && h('div', { - ref: scrollbarElRef, - class: 'swiper-scrollbar' - }), needsPagination(props) && h('div', { - ref: paginationElRef, - class: 'swiper-pagination' - }), slots['container-end']]); - }; - } -}; - -const SwiperSlide = { - name: 'SwiperSlide', - props: { - tag: { - type: String, - default: 'div' - }, - swiperRef: { - type: Object, - required: false - }, - swiperSlideIndex: { - type: Number, - default: undefined, - required: false - }, - zoom: { - type: Boolean, - default: undefined, - required: false - }, - lazy: { - type: Boolean, - default: false, - required: false - }, - virtualIndex: { - type: [String, Number], - default: undefined - } - }, - setup(props, _ref) { - let { - slots - } = _ref; - let eventAttached = false; - const { - swiperRef - } = props; - const slideElRef = ref(null); - const slideClasses = ref('swiper-slide'); - const lazyLoaded = ref(false); - function updateClasses(swiper, el, classNames) { - if (el === slideElRef.value) { - slideClasses.value = classNames; - } - } - onMounted(() => { - if (!swiperRef || !swiperRef.value) return; - swiperRef.value.on('_slideClass', updateClasses); - eventAttached = true; - }); - onBeforeUpdate(() => { - if (eventAttached || !swiperRef || !swiperRef.value) return; - swiperRef.value.on('_slideClass', updateClasses); - eventAttached = true; - }); - onUpdated(() => { - if (!slideElRef.value || !swiperRef || !swiperRef.value) return; - if (typeof props.swiperSlideIndex !== 'undefined') { - slideElRef.value.swiperSlideIndex = props.swiperSlideIndex; - } - if (swiperRef.value.destroyed) { - if (slideClasses.value !== 'swiper-slide') { - slideClasses.value = 'swiper-slide'; - } - } - }); - onBeforeUnmount(() => { - if (!swiperRef || !swiperRef.value) return; - swiperRef.value.off('_slideClass', updateClasses); - }); - const slideData = computed(() => ({ - isActive: slideClasses.value.indexOf('swiper-slide-active') >= 0, - isVisible: slideClasses.value.indexOf('swiper-slide-visible') >= 0, - isPrev: slideClasses.value.indexOf('swiper-slide-prev') >= 0, - isNext: slideClasses.value.indexOf('swiper-slide-next') >= 0 - })); - provide('swiperSlide', slideData); - const onLoad = () => { - lazyLoaded.value = true; - }; - return () => { - return h(props.tag, { - class: uniqueClasses(`${slideClasses.value}`), - ref: slideElRef, - 'data-swiper-slide-index': typeof props.virtualIndex === 'undefined' && swiperRef && swiperRef.value && swiperRef.value.params.loop ? props.swiperSlideIndex : props.virtualIndex, - onLoadCapture: onLoad - }, props.zoom ? h('div', { - class: 'swiper-zoom-container', - 'data-swiper-zoom': typeof props.zoom === 'number' ? props.zoom : undefined - }, [slots.default && slots.default(slideData.value), props.lazy && !lazyLoaded.value && h('div', { - class: 'swiper-lazy-preloader' - })]) : [slots.default && slots.default(slideData.value), props.lazy && !lazyLoaded.value && h('div', { - class: 'swiper-lazy-preloader' - })]); - }; - } -}; - -const useSwiperSlide = () => { - return inject('swiperSlide'); -}; -const useSwiper = () => { - return inject('swiper'); -}; - -export { Swiper, SwiperSlide, useSwiper, useSwiperSlide }; diff --git a/node_modules/swiper/swiper.css b/node_modules/swiper/swiper.css deleted file mode 100644 index 3db9f3e..0000000 --- a/node_modules/swiper/swiper.css +++ /dev/null @@ -1,228 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -/* FONT_START */ -@font-face { - font-family: 'swiper-icons'; - src: url('data:application/font-woff;charset=utf-8;base64, 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'); - font-weight: 400; - font-style: normal; -} -/* FONT_END */ -:root { - --swiper-theme-color: #007aff; - /* - --swiper-preloader-color: var(--swiper-theme-color); - --swiper-wrapper-transition-timing-function: initial; - */ -} -:host { - position: relative; - display: block; - margin-left: auto; - margin-right: auto; - z-index: 1; -} -.swiper { - margin-left: auto; - margin-right: auto; - position: relative; - overflow: hidden; - list-style: none; - padding: 0; - /* Fix of Webkit flickering */ - z-index: 1; - display: block; -} -.swiper-vertical > .swiper-wrapper { - flex-direction: column; -} -.swiper-wrapper { - position: relative; - width: 100%; - height: 100%; - z-index: 1; - display: flex; - transition-property: transform; - transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial); - box-sizing: content-box; -} -.swiper-android .swiper-slide, -.swiper-ios .swiper-slide, -.swiper-wrapper { - transform: translate3d(0px, 0, 0); -} -.swiper-horizontal { - touch-action: pan-y; -} -.swiper-vertical { - touch-action: pan-x; -} -.swiper-slide { - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; - transition-property: transform; - display: block; -} -.swiper-slide-invisible-blank { - visibility: hidden; -} -/* Auto Height */ -.swiper-autoheight, -.swiper-autoheight .swiper-slide { - height: auto; -} -.swiper-autoheight .swiper-wrapper { - align-items: flex-start; - transition-property: transform, height; -} -.swiper-backface-hidden .swiper-slide { - transform: translateZ(0); - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -/* 3D Effects */ -.swiper-3d.swiper-css-mode .swiper-wrapper { - perspective: 1200px; -} -.swiper-3d .swiper-wrapper { - transform-style: preserve-3d; -} -.swiper-3d { - perspective: 1200px; -} -.swiper-3d .swiper-slide, -.swiper-3d .swiper-cube-shadow { - transform-style: preserve-3d; -} -/* CSS Mode */ -.swiper-css-mode > .swiper-wrapper { - overflow: auto; - scrollbar-width: none; - /* For Firefox */ - -ms-overflow-style: none; - /* For Internet Explorer and Edge */ -} -.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar { - display: none; -} -.swiper-css-mode > .swiper-wrapper > .swiper-slide { - scroll-snap-align: start start; -} -.swiper-css-mode.swiper-horizontal > .swiper-wrapper { - scroll-snap-type: x mandatory; -} -.swiper-css-mode.swiper-vertical > .swiper-wrapper { - scroll-snap-type: y mandatory; -} -.swiper-css-mode.swiper-free-mode > .swiper-wrapper { - scroll-snap-type: none; -} -.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide { - scroll-snap-align: none; -} -.swiper-css-mode.swiper-centered > .swiper-wrapper::before { - content: ''; - flex-shrink: 0; - order: 9999; -} -.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide { - scroll-snap-align: center center; - scroll-snap-stop: always; -} -.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child { - margin-inline-start: var(--swiper-centered-offset-before); -} -.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before { - height: 100%; - min-height: 1px; - width: var(--swiper-centered-offset-after); -} -.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child { - margin-block-start: var(--swiper-centered-offset-before); -} -.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before { - width: 100%; - min-width: 1px; - height: var(--swiper-centered-offset-after); -} -/* Slide styles start */ -/* 3D Shadows */ -.swiper-3d .swiper-slide-shadow, -.swiper-3d .swiper-slide-shadow-left, -.swiper-3d .swiper-slide-shadow-right, -.swiper-3d .swiper-slide-shadow-top, -.swiper-3d .swiper-slide-shadow-bottom, -.swiper-3d .swiper-slide-shadow, -.swiper-3d .swiper-slide-shadow-left, -.swiper-3d .swiper-slide-shadow-right, -.swiper-3d .swiper-slide-shadow-top, -.swiper-3d .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; -} -.swiper-3d .swiper-slide-shadow { - background: rgba(0, 0, 0, 0.15); -} -.swiper-3d .swiper-slide-shadow-left { - background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); -} -.swiper-3d .swiper-slide-shadow-right { - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); -} -.swiper-3d .swiper-slide-shadow-top { - background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); -} -.swiper-3d .swiper-slide-shadow-bottom { - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); -} -.swiper-lazy-preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; - transform-origin: 50%; - box-sizing: border-box; - border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color)); - border-radius: 50%; - border-top-color: transparent; -} -.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, -.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader { - animation: swiper-preloader-spin 1s infinite linear; -} -.swiper-lazy-preloader-white { - --swiper-preloader-color: #fff; -} -.swiper-lazy-preloader-black { - --swiper-preloader-color: #000; -} -@keyframes swiper-preloader-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -/* Slide styles end */ diff --git a/node_modules/swiper/swiper.d.ts b/node_modules/swiper/swiper.d.ts deleted file mode 100644 index 07e4e50..0000000 --- a/node_modules/swiper/swiper.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -// @ts-ignore -import Swiper from './types/swiper-class.d.ts'; - -export default Swiper; -export { Swiper }; diff --git a/node_modules/swiper/swiper.js b/node_modules/swiper/swiper.js deleted file mode 100644 index 3f276d7..0000000 --- a/node_modules/swiper/swiper.js +++ /dev/null @@ -1,4316 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -var Swiper = (function () { - 'use strict'; - - /** - * SSR Window 4.0.2 - * Better handling for window object in SSR environment - * https://github.com/nolimits4web/ssr-window - * - * Copyright 2021, Vladimir Kharlampidi - * - * Licensed under MIT - * - * Released on: December 13, 2021 - */ - /* eslint-disable no-param-reassign */ - function isObject$1(obj) { - return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object; - } - function extend$1(target, src) { - if (target === void 0) { - target = {}; - } - if (src === void 0) { - src = {}; - } - Object.keys(src).forEach(key => { - if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject$1(src[key]) && isObject$1(target[key]) && Object.keys(src[key]).length > 0) { - extend$1(target[key], src[key]); - } - }); - } - const ssrDocument = { - 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 getDocument() { - const doc = typeof document !== 'undefined' ? document : {}; - extend$1(doc, ssrDocument); - return doc; - } - const ssrWindow = { - document: ssrDocument, - navigator: { - userAgent: '' - }, - location: { - hash: '', - host: '', - hostname: '', - href: '', - origin: '', - pathname: '', - protocol: '', - search: '' - }, - history: { - replaceState() {}, - pushState() {}, - go() {}, - back() {} - }, - CustomEvent: function CustomEvent() { - return this; - }, - addEventListener() {}, - removeEventListener() {}, - getComputedStyle() { - return { - getPropertyValue() { - return ''; - } - }; - }, - Image() {}, - Date() {}, - screen: {}, - setTimeout() {}, - clearTimeout() {}, - matchMedia() { - return {}; - }, - requestAnimationFrame(callback) { - if (typeof setTimeout === 'undefined') { - callback(); - return null; - } - return setTimeout(callback, 0); - }, - cancelAnimationFrame(id) { - if (typeof setTimeout === 'undefined') { - return; - } - clearTimeout(id); - } - }; - function getWindow() { - const win = typeof window !== 'undefined' ? window : {}; - extend$1(win, ssrWindow); - return win; - } - - function classesToTokens(classes) { - if (classes === void 0) { - classes = ''; - } - return classes.trim().split(' ').filter(c => !!c.trim()); - } - - function deleteProps(obj) { - const object = obj; - Object.keys(object).forEach(key => { - try { - object[key] = null; - } catch (e) { - // no getter for object - } - try { - delete object[key]; - } catch (e) { - // something got wrong - } - }); - } - function nextTick(callback, delay) { - if (delay === void 0) { - delay = 0; - } - return setTimeout(callback, delay); - } - function now() { - return Date.now(); - } - function getComputedStyle$1(el) { - const window = getWindow(); - let style; - if (window.getComputedStyle) { - style = window.getComputedStyle(el, null); - } - if (!style && el.currentStyle) { - style = el.currentStyle; - } - if (!style) { - style = el.style; - } - return style; - } - function getTranslate(el, axis) { - if (axis === void 0) { - axis = 'x'; - } - const window = getWindow(); - let matrix; - let curTransform; - let transformMatrix; - const curStyle = getComputedStyle$1(el); - if (window.WebKitCSSMatrix) { - curTransform = curStyle.transform || curStyle.webkitTransform; - if (curTransform.split(',').length > 6) { - curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', '); - } - // Some old versions of Webkit choke when 'none' is passed; pass - // empty string instead in this case - transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); - } else { - transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); - matrix = transformMatrix.toString().split(','); - } - if (axis === 'x') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); - // Normal Browsers - else curTransform = parseFloat(matrix[4]); - } - if (axis === 'y') { - // Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; - // Crazy IE10 Matrix - else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); - // Normal Browsers - else curTransform = parseFloat(matrix[5]); - } - return curTransform || 0; - } - function isObject(o) { - return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object'; - } - function isNode(node) { - // eslint-disable-next-line - if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') { - return node instanceof HTMLElement; - } - return node && (node.nodeType === 1 || node.nodeType === 11); - } - function extend() { - const to = Object(arguments.length <= 0 ? undefined : arguments[0]); - const noExtend = ['__proto__', 'constructor', 'prototype']; - for (let i = 1; i < arguments.length; i += 1) { - const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i]; - if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) { - const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0); - for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { - const nextKey = keysArray[nextIndex]; - const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); - if (desc !== undefined && desc.enumerable) { - if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) { - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend(to[nextKey], nextSource[nextKey]); - } - } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) { - to[nextKey] = {}; - if (nextSource[nextKey].__swiper__) { - to[nextKey] = nextSource[nextKey]; - } else { - extend(to[nextKey], nextSource[nextKey]); - } - } else { - to[nextKey] = nextSource[nextKey]; - } - } - } - } - } - return to; - } - function setCSSProperty(el, varName, varValue) { - el.style.setProperty(varName, varValue); - } - function animateCSSModeScroll(_ref) { - let { - swiper, - targetPosition, - side - } = _ref; - const window = getWindow(); - const startPosition = -swiper.translate; - let startTime = null; - let time; - const duration = swiper.params.speed; - swiper.wrapperEl.style.scrollSnapType = 'none'; - window.cancelAnimationFrame(swiper.cssModeFrameID); - const dir = targetPosition > startPosition ? 'next' : 'prev'; - const isOutOfBound = (current, target) => { - return dir === 'next' && current >= target || dir === 'prev' && current <= target; - }; - const animate = () => { - time = new Date().getTime(); - if (startTime === null) { - startTime = time; - } - const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); - const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2; - let currentPosition = startPosition + easeProgress * (targetPosition - startPosition); - if (isOutOfBound(currentPosition, targetPosition)) { - currentPosition = targetPosition; - } - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - if (isOutOfBound(currentPosition, targetPosition)) { - swiper.wrapperEl.style.overflow = 'hidden'; - swiper.wrapperEl.style.scrollSnapType = ''; - setTimeout(() => { - swiper.wrapperEl.style.overflow = ''; - swiper.wrapperEl.scrollTo({ - [side]: currentPosition - }); - }); - window.cancelAnimationFrame(swiper.cssModeFrameID); - return; - } - swiper.cssModeFrameID = window.requestAnimationFrame(animate); - }; - animate(); - } - function elementChildren(element, selector) { - if (selector === void 0) { - selector = ''; - } - return [...element.children].filter(el => el.matches(selector)); - } - function showWarning(text) { - try { - console.warn(text); - return; - } catch (err) { - // err - } - } - function createElement(tag, classes) { - if (classes === void 0) { - classes = []; - } - const el = document.createElement(tag); - el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes))); - return el; - } - function elementPrevAll(el, selector) { - const prevEls = []; - while (el.previousElementSibling) { - const prev = el.previousElementSibling; // eslint-disable-line - if (selector) { - if (prev.matches(selector)) prevEls.push(prev); - } else prevEls.push(prev); - el = prev; - } - return prevEls; - } - function elementNextAll(el, selector) { - const nextEls = []; - while (el.nextElementSibling) { - const next = el.nextElementSibling; // eslint-disable-line - if (selector) { - if (next.matches(selector)) nextEls.push(next); - } else nextEls.push(next); - el = next; - } - return nextEls; - } - function elementStyle(el, prop) { - const window = getWindow(); - return window.getComputedStyle(el, null).getPropertyValue(prop); - } - function elementIndex(el) { - let child = el; - let i; - if (child) { - i = 0; - // eslint-disable-next-line - while ((child = child.previousSibling) !== null) { - if (child.nodeType === 1) i += 1; - } - return i; - } - return undefined; - } - function elementParents(el, selector) { - const parents = []; // eslint-disable-line - let parent = el.parentElement; // eslint-disable-line - while (parent) { - if (selector) { - if (parent.matches(selector)) parents.push(parent); - } else { - parents.push(parent); - } - parent = parent.parentElement; - } - return parents; - } - function elementOuterSize(el, size, includeMargins) { - const window = getWindow(); - if (includeMargins) { - return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom')); - } - return el.offsetWidth; - } - - let support; - function calcSupport() { - const window = getWindow(); - const document = getDocument(); - return { - smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style, - touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch) - }; - } - function getSupport() { - if (!support) { - support = calcSupport(); - } - return support; - } - - let deviceCached; - function calcDevice(_temp) { - let { - userAgent - } = _temp === void 0 ? {} : _temp; - const support = getSupport(); - const window = getWindow(); - const platform = window.navigator.platform; - const ua = userAgent || window.navigator.userAgent; - const device = { - ios: false, - android: false - }; - const screenWidth = window.screen.width; - const screenHeight = window.screen.height; - const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line - let ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); - const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); - const windows = platform === 'Win32'; - let macos = platform === 'MacIntel'; - - // iPadOs 13 fix - const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810']; - if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) { - ipad = ua.match(/(Version)\/([\d.]+)/); - if (!ipad) ipad = [0, 1, '13_0_0']; - macos = false; - } - - // Android - if (android && !windows) { - device.os = 'android'; - device.android = true; - } - if (ipad || iphone || ipod) { - device.os = 'ios'; - device.ios = true; - } - - // Export object - return device; - } - function getDevice(overrides) { - if (overrides === void 0) { - overrides = {}; - } - if (!deviceCached) { - deviceCached = calcDevice(overrides); - } - return deviceCached; - } - - let browser; - function calcBrowser() { - const window = getWindow(); - const device = getDevice(); - let needPerspectiveFix = false; - function isSafari() { - const ua = window.navigator.userAgent.toLowerCase(); - return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; - } - if (isSafari()) { - const ua = String(window.navigator.userAgent); - if (ua.includes('Version/')) { - const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num)); - needPerspectiveFix = major < 16 || major === 16 && minor < 2; - } - } - const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent); - const isSafariBrowser = isSafari(); - const need3dFix = isSafariBrowser || isWebView && device.ios; - return { - isSafari: needPerspectiveFix || isSafariBrowser, - needPerspectiveFix, - need3dFix, - isWebView - }; - } - function getBrowser() { - if (!browser) { - browser = calcBrowser(); - } - return browser; - } - - function Resize(_ref) { - let { - swiper, - on, - emit - } = _ref; - const window = getWindow(); - let observer = null; - let animationFrame = null; - const resizeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('beforeResize'); - emit('resize'); - }; - const createObserver = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - observer = new ResizeObserver(entries => { - animationFrame = window.requestAnimationFrame(() => { - const { - width, - height - } = swiper; - let newWidth = width; - let newHeight = height; - entries.forEach(_ref2 => { - let { - contentBoxSize, - contentRect, - target - } = _ref2; - if (target && target !== swiper.el) return; - newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize; - newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize; - }); - if (newWidth !== width || newHeight !== height) { - resizeHandler(); - } - }); - }); - observer.observe(swiper.el); - }; - const removeObserver = () => { - if (animationFrame) { - window.cancelAnimationFrame(animationFrame); - } - if (observer && observer.unobserve && swiper.el) { - observer.unobserve(swiper.el); - observer = null; - } - }; - const orientationChangeHandler = () => { - if (!swiper || swiper.destroyed || !swiper.initialized) return; - emit('orientationchange'); - }; - on('init', () => { - if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') { - createObserver(); - return; - } - window.addEventListener('resize', resizeHandler); - window.addEventListener('orientationchange', orientationChangeHandler); - }); - on('destroy', () => { - removeObserver(); - window.removeEventListener('resize', resizeHandler); - window.removeEventListener('orientationchange', orientationChangeHandler); - }); - } - - function Observer(_ref) { - let { - swiper, - extendParams, - on, - emit - } = _ref; - const observers = []; - const window = getWindow(); - const attach = function (target, options) { - if (options === void 0) { - options = {}; - } - const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; - const observer = new ObserverFunc(mutations => { - // The observerUpdate event should only be triggered - // once despite the number of mutations. Additional - // triggers are redundant and are very costly - if (swiper.__preventObserver__) return; - if (mutations.length === 1) { - emit('observerUpdate', mutations[0]); - return; - } - const observerUpdate = function observerUpdate() { - emit('observerUpdate', mutations[0]); - }; - if (window.requestAnimationFrame) { - window.requestAnimationFrame(observerUpdate); - } else { - window.setTimeout(observerUpdate, 0); - } - }); - observer.observe(target, { - attributes: typeof options.attributes === 'undefined' ? true : options.attributes, - childList: typeof options.childList === 'undefined' ? true : options.childList, - characterData: typeof options.characterData === 'undefined' ? true : options.characterData - }); - observers.push(observer); - }; - const init = () => { - if (!swiper.params.observer) return; - if (swiper.params.observeParents) { - const containerParents = elementParents(swiper.hostEl); - for (let i = 0; i < containerParents.length; i += 1) { - attach(containerParents[i]); - } - } - // Observe container - attach(swiper.hostEl, { - childList: swiper.params.observeSlideChildren - }); - - // Observe wrapper - attach(swiper.wrapperEl, { - attributes: false - }); - }; - const destroy = () => { - observers.forEach(observer => { - observer.disconnect(); - }); - observers.splice(0, observers.length); - }; - extendParams({ - observer: false, - observeParents: false, - observeSlideChildren: false - }); - on('init', init); - on('destroy', destroy); - } - - /* eslint-disable no-underscore-dangle */ - - var eventsEmitter = { - on(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - events.split(' ').forEach(event => { - if (!self.eventsListeners[event]) self.eventsListeners[event] = []; - self.eventsListeners[event][method](handler); - }); - return self; - }, - once(events, handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - function onceHandler() { - self.off(events, onceHandler); - if (onceHandler.__emitterProxy) { - delete onceHandler.__emitterProxy; - } - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - handler.apply(self, args); - } - onceHandler.__emitterProxy = handler; - return self.on(events, onceHandler, priority); - }, - onAny(handler, priority) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (typeof handler !== 'function') return self; - const method = priority ? 'unshift' : 'push'; - if (self.eventsAnyListeners.indexOf(handler) < 0) { - self.eventsAnyListeners[method](handler); - } - return self; - }, - offAny(handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsAnyListeners) return self; - const index = self.eventsAnyListeners.indexOf(handler); - if (index >= 0) { - self.eventsAnyListeners.splice(index, 1); - } - return self; - }, - off(events, handler) { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - events.split(' ').forEach(event => { - if (typeof handler === 'undefined') { - self.eventsListeners[event] = []; - } else if (self.eventsListeners[event]) { - self.eventsListeners[event].forEach((eventHandler, index) => { - if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) { - self.eventsListeners[event].splice(index, 1); - } - }); - } - }); - return self; - }, - emit() { - const self = this; - if (!self.eventsListeners || self.destroyed) return self; - if (!self.eventsListeners) return self; - let events; - let data; - let context; - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - if (typeof args[0] === 'string' || Array.isArray(args[0])) { - events = args[0]; - data = args.slice(1, args.length); - context = self; - } else { - events = args[0].events; - data = args[0].data; - context = args[0].context || self; - } - data.unshift(context); - const eventsArray = Array.isArray(events) ? events : events.split(' '); - eventsArray.forEach(event => { - if (self.eventsAnyListeners && self.eventsAnyListeners.length) { - self.eventsAnyListeners.forEach(eventHandler => { - eventHandler.apply(context, [event, ...data]); - }); - } - if (self.eventsListeners && self.eventsListeners[event]) { - self.eventsListeners[event].forEach(eventHandler => { - eventHandler.apply(context, data); - }); - } - }); - return self; - } - }; - - function updateSize() { - const swiper = this; - let width; - let height; - const el = swiper.el; - if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) { - width = swiper.params.width; - } else { - width = el.clientWidth; - } - if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) { - height = swiper.params.height; - } else { - height = el.clientHeight; - } - if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) { - return; - } - - // Subtract paddings - width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10); - height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10); - if (Number.isNaN(width)) width = 0; - if (Number.isNaN(height)) height = 0; - Object.assign(swiper, { - width, - height, - size: swiper.isHorizontal() ? width : height - }); - } - - function updateSlides() { - const swiper = this; - function getDirectionPropertyValue(node, label) { - return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0); - } - const params = swiper.params; - const { - wrapperEl, - slidesEl, - size: swiperSize, - rtlTranslate: rtl, - wrongRTL - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; - const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`); - const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; - let snapGrid = []; - const slidesGrid = []; - const slidesSizesGrid = []; - let offsetBefore = params.slidesOffsetBefore; - if (typeof offsetBefore === 'function') { - offsetBefore = params.slidesOffsetBefore.call(swiper); - } - let offsetAfter = params.slidesOffsetAfter; - if (typeof offsetAfter === 'function') { - offsetAfter = params.slidesOffsetAfter.call(swiper); - } - const previousSnapGridLength = swiper.snapGrid.length; - const previousSlidesGridLength = swiper.slidesGrid.length; - let spaceBetween = params.spaceBetween; - let slidePosition = -offsetBefore; - let prevSlideSize = 0; - let index = 0; - if (typeof swiperSize === 'undefined') { - return; - } - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - swiper.virtualSize = -spaceBetween; - - // reset margins - slides.forEach(slideEl => { - if (rtl) { - slideEl.style.marginLeft = ''; - } else { - slideEl.style.marginRight = ''; - } - slideEl.style.marginBottom = ''; - slideEl.style.marginTop = ''; - }); - - // reset cssMode offsets - if (params.centeredSlides && params.cssMode) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', ''); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', ''); - } - const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid; - if (gridEnabled) { - swiper.grid.initSlides(slides); - } else if (swiper.grid) { - swiper.grid.unsetSlides(); - } - - // Calc slides - let slideSize; - const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => { - return typeof params.breakpoints[key].slidesPerView !== 'undefined'; - }).length > 0; - for (let i = 0; i < slidesLength; i += 1) { - slideSize = 0; - let slide; - if (slides[i]) slide = slides[i]; - if (gridEnabled) { - swiper.grid.updateSlide(i, slide, slides); - } - if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line - - if (params.slidesPerView === 'auto') { - if (shouldResetSlideSize) { - slides[i].style[swiper.getDirectionLabel('width')] = ``; - } - const slideStyles = getComputedStyle(slide); - const currentTransform = slide.style.transform; - const currentWebKitTransform = slide.style.webkitTransform; - if (currentTransform) { - slide.style.transform = 'none'; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = 'none'; - } - if (params.roundLengths) { - slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true); - } else { - // eslint-disable-next-line - const width = getDirectionPropertyValue(slideStyles, 'width'); - const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left'); - const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right'); - const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left'); - const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right'); - const boxSizing = slideStyles.getPropertyValue('box-sizing'); - if (boxSizing && boxSizing === 'border-box') { - slideSize = width + marginLeft + marginRight; - } else { - const { - clientWidth, - offsetWidth - } = slide; - slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth); - } - } - if (currentTransform) { - slide.style.transform = currentTransform; - } - if (currentWebKitTransform) { - slide.style.webkitTransform = currentWebKitTransform; - } - if (params.roundLengths) slideSize = Math.floor(slideSize); - } else { - slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView; - if (params.roundLengths) slideSize = Math.floor(slideSize); - if (slides[i]) { - slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`; - } - } - if (slides[i]) { - slides[i].swiperSlideSize = slideSize; - } - slidesSizesGrid.push(slideSize); - if (params.centeredSlides) { - slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; - if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; - if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - } else { - if (params.roundLengths) slidePosition = Math.floor(slidePosition); - if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition); - slidesGrid.push(slidePosition); - slidePosition = slidePosition + slideSize + spaceBetween; - } - swiper.virtualSize += slideSize + spaceBetween; - prevSlideSize = slideSize; - index += 1; - } - swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; - if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { - wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`; - } - if (params.setWrapperSize) { - wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; - } - if (gridEnabled) { - swiper.grid.updateWrapperSize(slideSize, snapGrid); - } - - // Remove last grid elements depending on width - if (!params.centeredSlides) { - const newSlidesGrid = []; - for (let i = 0; i < snapGrid.length; i += 1) { - let slidesGridItem = snapGrid[i]; - if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem); - if (snapGrid[i] <= swiper.virtualSize - swiperSize) { - newSlidesGrid.push(slidesGridItem); - } - } - snapGrid = newSlidesGrid; - if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { - snapGrid.push(swiper.virtualSize - swiperSize); - } - } - if (isVirtual && params.loop) { - const size = slidesSizesGrid[0] + spaceBetween; - if (params.slidesPerGroup > 1) { - const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup); - const groupSize = size * params.slidesPerGroup; - for (let i = 0; i < groups; i += 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize); - } - } - for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) { - if (params.slidesPerGroup === 1) { - snapGrid.push(snapGrid[snapGrid.length - 1] + size); - } - slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size); - swiper.virtualSize += size; - } - } - if (snapGrid.length === 0) snapGrid = [0]; - if (spaceBetween !== 0) { - const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight'); - slides.filter((_, slideIndex) => { - if (!params.cssMode || params.loop) return true; - if (slideIndex === slides.length - 1) { - return false; - } - return true; - }).forEach(slideEl => { - slideEl.style[key] = `${spaceBetween}px`; - }); - } - if (params.centeredSlides && params.centeredSlidesBounds) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const maxSnap = allSlidesSize - swiperSize; - snapGrid = snapGrid.map(snap => { - if (snap <= 0) return -offsetBefore; - if (snap > maxSnap) return maxSnap + offsetAfter; - return snap; - }); - } - if (params.centerInsufficientSlides) { - let allSlidesSize = 0; - slidesSizesGrid.forEach(slideSizeValue => { - allSlidesSize += slideSizeValue + (spaceBetween || 0); - }); - allSlidesSize -= spaceBetween; - const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0); - if (allSlidesSize + offsetSize < swiperSize) { - const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2; - snapGrid.forEach((snap, snapIndex) => { - snapGrid[snapIndex] = snap - allSlidesOffset; - }); - slidesGrid.forEach((snap, snapIndex) => { - slidesGrid[snapIndex] = snap + allSlidesOffset; - }); - } - } - Object.assign(swiper, { - slides, - snapGrid, - slidesGrid, - slidesSizesGrid - }); - if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) { - setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`); - setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`); - const addToSnapGrid = -swiper.snapGrid[0]; - const addToSlidesGrid = -swiper.slidesGrid[0]; - swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid); - swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid); - } - if (slidesLength !== previousSlidesLength) { - swiper.emit('slidesLengthChange'); - } - if (snapGrid.length !== previousSnapGridLength) { - if (swiper.params.watchOverflow) swiper.checkOverflow(); - swiper.emit('snapGridLengthChange'); - } - if (slidesGrid.length !== previousSlidesGridLength) { - swiper.emit('slidesGridLengthChange'); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - swiper.emit('slidesUpdated'); - if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) { - const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`; - const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass); - if (slidesLength <= params.maxBackfaceHiddenSlides) { - if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass); - } else if (hasClassBackfaceClassAdded) { - swiper.el.classList.remove(backFaceHiddenClass); - } - } - } - - function updateAutoHeight(speed) { - const swiper = this; - const activeSlides = []; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - let newHeight = 0; - let i; - if (typeof speed === 'number') { - swiper.setTransition(speed); - } else if (speed === true) { - swiper.setTransition(swiper.params.speed); - } - const getSlideByIndex = index => { - if (isVirtual) { - return swiper.slides[swiper.getSlideIndexByData(index)]; - } - return swiper.slides[index]; - }; - // Find slides currently in view - if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { - if (swiper.params.centeredSlides) { - (swiper.visibleSlides || []).forEach(slide => { - activeSlides.push(slide); - }); - } else { - for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { - const index = swiper.activeIndex + i; - if (index > swiper.slides.length && !isVirtual) break; - activeSlides.push(getSlideByIndex(index)); - } - } - } else { - activeSlides.push(getSlideByIndex(swiper.activeIndex)); - } - - // Find new height from highest slide in view - for (i = 0; i < activeSlides.length; i += 1) { - if (typeof activeSlides[i] !== 'undefined') { - const height = activeSlides[i].offsetHeight; - newHeight = height > newHeight ? height : newHeight; - } - } - - // Update Height - if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`; - } - - function updateSlidesOffset() { - const swiper = this; - const slides = swiper.slides; - // eslint-disable-next-line - const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0; - for (let i = 0; i < slides.length; i += 1) { - slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment(); - } - } - - const toggleSlideClasses$1 = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } - }; - function updateSlidesProgress(translate) { - if (translate === void 0) { - translate = this && this.translate || 0; - } - const swiper = this; - const params = swiper.params; - const { - slides, - rtlTranslate: rtl, - snapGrid - } = swiper; - if (slides.length === 0) return; - if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); - let offsetCenter = -translate; - if (rtl) offsetCenter = translate; - swiper.visibleSlidesIndexes = []; - swiper.visibleSlides = []; - let spaceBetween = params.spaceBetween; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; - } else if (typeof spaceBetween === 'string') { - spaceBetween = parseFloat(spaceBetween); - } - for (let i = 0; i < slides.length; i += 1) { - const slide = slides[i]; - let slideOffset = slide.swiperSlideOffset; - if (params.cssMode && params.centeredSlides) { - slideOffset -= slides[0].swiperSlideOffset; - } - const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); - const slideBefore = -(offsetCenter - slideOffset); - const slideAfter = slideBefore + swiper.slidesSizesGrid[i]; - const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i]; - const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size; - if (isVisible) { - swiper.visibleSlides.push(slide); - swiper.visibleSlidesIndexes.push(i); - } - toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass); - toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass); - slide.progress = rtl ? -slideProgress : slideProgress; - slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; - } - } - - function updateProgress(translate) { - const swiper = this; - if (typeof translate === 'undefined') { - const multiplier = swiper.rtlTranslate ? -1 : 1; - // eslint-disable-next-line - translate = swiper && swiper.translate && swiper.translate * multiplier || 0; - } - const params = swiper.params; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - let { - progress, - isBeginning, - isEnd, - progressLoop - } = swiper; - const wasBeginning = isBeginning; - const wasEnd = isEnd; - if (translatesDiff === 0) { - progress = 0; - isBeginning = true; - isEnd = true; - } else { - progress = (translate - swiper.minTranslate()) / translatesDiff; - const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1; - const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1; - isBeginning = isBeginningRounded || progress <= 0; - isEnd = isEndRounded || progress >= 1; - if (isBeginningRounded) progress = 0; - if (isEndRounded) progress = 1; - } - if (params.loop) { - const firstSlideIndex = swiper.getSlideIndexByData(0); - const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1); - const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex]; - const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex]; - const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1]; - const translateAbs = Math.abs(translate); - if (translateAbs >= firstSlideTranslate) { - progressLoop = (translateAbs - firstSlideTranslate) / translateMax; - } else { - progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax; - } - if (progressLoop > 1) progressLoop -= 1; - } - Object.assign(swiper, { - progress, - progressLoop, - isBeginning, - isEnd - }); - if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate); - if (isBeginning && !wasBeginning) { - swiper.emit('reachBeginning toEdge'); - } - if (isEnd && !wasEnd) { - swiper.emit('reachEnd toEdge'); - } - if (wasBeginning && !isBeginning || wasEnd && !isEnd) { - swiper.emit('fromEdge'); - } - swiper.emit('progress', progress); - } - - const toggleSlideClasses = (slideEl, condition, className) => { - if (condition && !slideEl.classList.contains(className)) { - slideEl.classList.add(className); - } else if (!condition && slideEl.classList.contains(className)) { - slideEl.classList.remove(className); - } - }; - function updateSlidesClasses() { - const swiper = this; - const { - slides, - params, - slidesEl, - activeIndex - } = swiper; - const isVirtual = swiper.virtual && params.virtual.enabled; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const getFilteredSlide = selector => { - return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0]; - }; - let activeSlide; - let prevSlide; - let nextSlide; - if (isVirtual) { - if (params.loop) { - let slideIndex = activeIndex - swiper.virtual.slidesBefore; - if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex; - if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length; - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`); - } else { - activeSlide = getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`); - } - } else { - if (gridEnabled) { - activeSlide = slides.filter(slideEl => slideEl.column === activeIndex)[0]; - nextSlide = slides.filter(slideEl => slideEl.column === activeIndex + 1)[0]; - prevSlide = slides.filter(slideEl => slideEl.column === activeIndex - 1)[0]; - } else { - activeSlide = slides[activeIndex]; - } - } - if (activeSlide) { - if (!gridEnabled) { - // Next Slide - nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !nextSlide) { - nextSlide = slides[0]; - } - - // Prev Slide - prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; - if (params.loop && !prevSlide === 0) { - prevSlide = slides[slides.length - 1]; - } - } - } - slides.forEach(slideEl => { - toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass); - toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass); - toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass); - }); - swiper.emitSlidesClasses(); - } - - const processLazyPreloader = (swiper, imageEl) => { - if (!swiper || swiper.destroyed || !swiper.params) return; - const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; - const slideEl = imageEl.closest(slideSelector()); - if (slideEl) { - let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (!lazyEl && swiper.isElement) { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - } else { - // init later - requestAnimationFrame(() => { - if (slideEl.shadowRoot) { - lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); - if (lazyEl) lazyEl.remove(); - } - }); - } - } - if (lazyEl) lazyEl.remove(); - } - }; - const unlazy = (swiper, index) => { - if (!swiper.slides[index]) return; - const imageEl = swiper.slides[index].querySelector('[loading="lazy"]'); - if (imageEl) imageEl.removeAttribute('loading'); - }; - const preload = swiper => { - if (!swiper || swiper.destroyed || !swiper.params) return; - let amount = swiper.params.lazyPreloadPrevNext; - const len = swiper.slides.length; - if (!len || !amount || amount < 0) return; - amount = Math.min(amount, len); - const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView); - const activeIndex = swiper.activeIndex; - if (swiper.params.grid && swiper.params.grid.rows > 1) { - const activeColumn = activeIndex; - const preloadColumns = [activeColumn - amount]; - preloadColumns.push(...Array.from({ - length: amount - }).map((_, i) => { - return activeColumn + slidesPerView + i; - })); - swiper.slides.forEach((slideEl, i) => { - if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i); - }); - return; - } - const slideIndexLastInView = activeIndex + slidesPerView - 1; - if (swiper.params.rewind || swiper.params.loop) { - for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) { - const realIndex = (i % len + len) % len; - if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex); - } - } else { - for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) { - if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) { - unlazy(swiper, i); - } - } - } - }; - - function getActiveIndexByTranslate(swiper) { - const { - slidesGrid, - params - } = swiper; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - let activeIndex; - for (let i = 0; i < slidesGrid.length; i += 1) { - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) { - activeIndex = i; - } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { - activeIndex = i + 1; - } - } else if (translate >= slidesGrid[i]) { - activeIndex = i; - } - } - // Normalize slideIndex - if (params.normalizeSlideIndex) { - if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0; - } - return activeIndex; - } - function updateActiveIndex(newActiveIndex) { - const swiper = this; - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - const { - snapGrid, - params, - activeIndex: previousIndex, - realIndex: previousRealIndex, - snapIndex: previousSnapIndex - } = swiper; - let activeIndex = newActiveIndex; - let snapIndex; - const getVirtualRealIndex = aIndex => { - let realIndex = aIndex - swiper.virtual.slidesBefore; - if (realIndex < 0) { - realIndex = swiper.virtual.slides.length + realIndex; - } - if (realIndex >= swiper.virtual.slides.length) { - realIndex -= swiper.virtual.slides.length; - } - return realIndex; - }; - if (typeof activeIndex === 'undefined') { - activeIndex = getActiveIndexByTranslate(swiper); - } - if (snapGrid.indexOf(translate) >= 0) { - snapIndex = snapGrid.indexOf(translate); - } else { - const skip = Math.min(params.slidesPerGroupSkip, activeIndex); - snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup); - } - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - if (activeIndex === previousIndex && !swiper.params.loop) { - if (snapIndex !== previousSnapIndex) { - swiper.snapIndex = snapIndex; - swiper.emit('snapIndexChange'); - } - return; - } - if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.realIndex = getVirtualRealIndex(activeIndex); - return; - } - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - - // Get real index - let realIndex; - if (swiper.virtual && params.virtual.enabled && params.loop) { - realIndex = getVirtualRealIndex(activeIndex); - } else if (gridEnabled) { - const firstSlideInColumn = swiper.slides.filter(slideEl => slideEl.column === activeIndex)[0]; - let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10); - if (Number.isNaN(activeSlideIndex)) { - activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0); - } - realIndex = Math.floor(activeSlideIndex / params.grid.rows); - } else if (swiper.slides[activeIndex]) { - const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index'); - if (slideIndex) { - realIndex = parseInt(slideIndex, 10); - } else { - realIndex = activeIndex; - } - } else { - realIndex = activeIndex; - } - Object.assign(swiper, { - previousSnapIndex, - snapIndex, - previousRealIndex, - realIndex, - previousIndex, - activeIndex - }); - if (swiper.initialized) { - preload(swiper); - } - swiper.emit('activeIndexChange'); - swiper.emit('snapIndexChange'); - if (swiper.initialized || swiper.params.runCallbacksOnInit) { - if (previousRealIndex !== realIndex) { - swiper.emit('realIndexChange'); - } - swiper.emit('slideChange'); - } - } - - function updateClickedSlide(el, path) { - const swiper = this; - const params = swiper.params; - let slide = el.closest(`.${params.slideClass}, swiper-slide`); - if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) { - [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => { - if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) { - slide = pathEl; - } - }); - } - let slideFound = false; - let slideIndex; - if (slide) { - for (let i = 0; i < swiper.slides.length; i += 1) { - if (swiper.slides[i] === slide) { - slideFound = true; - slideIndex = i; - break; - } - } - } - if (slide && slideFound) { - swiper.clickedSlide = slide; - if (swiper.virtual && swiper.params.virtual.enabled) { - swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10); - } else { - swiper.clickedIndex = slideIndex; - } - } else { - swiper.clickedSlide = undefined; - swiper.clickedIndex = undefined; - return; - } - if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { - swiper.slideToClickedSlide(); - } - } - - var update = { - updateSize, - updateSlides, - updateAutoHeight, - updateSlidesOffset, - updateSlidesProgress, - updateProgress, - updateSlidesClasses, - updateActiveIndex, - updateClickedSlide - }; - - function getSwiperTranslate(axis) { - if (axis === void 0) { - axis = this.isHorizontal() ? 'x' : 'y'; - } - const swiper = this; - const { - params, - rtlTranslate: rtl, - translate, - wrapperEl - } = swiper; - if (params.virtualTranslate) { - return rtl ? -translate : translate; - } - if (params.cssMode) { - return translate; - } - let currentTranslate = getTranslate(wrapperEl, axis); - currentTranslate += swiper.cssOverflowAdjustment(); - if (rtl) currentTranslate = -currentTranslate; - return currentTranslate || 0; - } - - function setTranslate(translate, byController) { - const swiper = this; - const { - rtlTranslate: rtl, - params, - wrapperEl, - progress - } = swiper; - let x = 0; - let y = 0; - const z = 0; - if (swiper.isHorizontal()) { - x = rtl ? -translate : translate; - } else { - y = translate; - } - if (params.roundLengths) { - x = Math.floor(x); - y = Math.floor(y); - } - swiper.previousTranslate = swiper.translate; - swiper.translate = swiper.isHorizontal() ? x : y; - if (params.cssMode) { - wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y; - } else if (!params.virtualTranslate) { - if (swiper.isHorizontal()) { - x -= swiper.cssOverflowAdjustment(); - } else { - y -= swiper.cssOverflowAdjustment(); - } - wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`; - } - - // Check if we need to update progress - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== progress) { - swiper.updateProgress(translate); - } - swiper.emit('setTranslate', swiper.translate, byController); - } - - function minTranslate() { - return -this.snapGrid[0]; - } - - function maxTranslate() { - return -this.snapGrid[this.snapGrid.length - 1]; - } - - function translateTo(translate, speed, runCallbacks, translateBounds, internal) { - if (translate === void 0) { - translate = 0; - } - if (speed === void 0) { - speed = this.params.speed; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (translateBounds === void 0) { - translateBounds = true; - } - const swiper = this; - const { - params, - wrapperEl - } = swiper; - if (swiper.animating && params.preventInteractionOnTransition) { - return false; - } - const minTranslate = swiper.minTranslate(); - const maxTranslate = swiper.maxTranslate(); - let newTranslate; - if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; - - // Update progress - swiper.updateProgress(newTranslate); - if (params.cssMode) { - const isH = swiper.isHorizontal(); - if (speed === 0) { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: -newTranslate, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: -newTranslate, - behavior: 'smooth' - }); - } - return true; - } - if (speed === 0) { - swiper.setTransition(0); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionEnd'); - } - } else { - swiper.setTransition(speed); - swiper.setTranslate(newTranslate); - if (runCallbacks) { - swiper.emit('beforeTransitionStart', speed, internal); - swiper.emit('transitionStart'); - } - if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onTranslateToWrapperTransitionEnd) { - swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - swiper.onTranslateToWrapperTransitionEnd = null; - delete swiper.onTranslateToWrapperTransitionEnd; - swiper.animating = false; - if (runCallbacks) { - swiper.emit('transitionEnd'); - } - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); - } - } - return true; - } - - var translate = { - getTranslate: getSwiperTranslate, - setTranslate, - minTranslate, - maxTranslate, - translateTo - }; - - function setTransition(duration, byController) { - const swiper = this; - if (!swiper.params.cssMode) { - swiper.wrapperEl.style.transitionDuration = `${duration}ms`; - swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : ''; - } - swiper.emit('setTransition', duration, byController); - } - - function transitionEmit(_ref) { - let { - swiper, - runCallbacks, - direction, - step - } = _ref; - const { - activeIndex, - previousIndex - } = swiper; - let dir = direction; - if (!dir) { - if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; - } - swiper.emit(`transition${step}`); - if (runCallbacks && activeIndex !== previousIndex) { - if (dir === 'reset') { - swiper.emit(`slideResetTransition${step}`); - return; - } - swiper.emit(`slideChangeTransition${step}`); - if (dir === 'next') { - swiper.emit(`slideNextTransition${step}`); - } else { - swiper.emit(`slidePrevTransition${step}`); - } - } - } - - function transitionStart(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - if (params.cssMode) return; - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'Start' - }); - } - - function transitionEnd(runCallbacks, direction) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params - } = swiper; - swiper.animating = false; - if (params.cssMode) return; - swiper.setTransition(0); - transitionEmit({ - swiper, - runCallbacks, - direction, - step: 'End' - }); - } - - var transition = { - setTransition, - transitionStart, - transitionEnd - }; - - function slideTo(index, speed, runCallbacks, internal, initial) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - index = parseInt(index, 10); - } - const swiper = this; - let slideIndex = index; - if (slideIndex < 0) slideIndex = 0; - const { - params, - snapGrid, - slidesGrid, - previousIndex, - activeIndex, - rtlTranslate: rtl, - wrapperEl, - enabled - } = swiper; - if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) { - return false; - } - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex); - let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup); - if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; - const translate = -snapGrid[snapIndex]; - // Normalize slideIndex - if (params.normalizeSlideIndex) { - for (let i = 0; i < slidesGrid.length; i += 1) { - const normalizedTranslate = -Math.floor(translate * 100); - const normalizedGrid = Math.floor(slidesGrid[i] * 100); - const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100); - if (typeof slidesGrid[i + 1] !== 'undefined') { - if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) { - slideIndex = i; - } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) { - slideIndex = i + 1; - } - } else if (normalizedTranslate >= normalizedGrid) { - slideIndex = i; - } - } - } - // Directions locks - if (swiper.initialized && slideIndex !== activeIndex) { - if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) { - return false; - } - if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { - if ((activeIndex || 0) !== slideIndex) { - return false; - } - } - } - if (slideIndex !== (previousIndex || 0) && runCallbacks) { - swiper.emit('beforeSlideChangeStart'); - } - - // Update progress - swiper.updateProgress(translate); - let direction; - if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; - - // Update Index - if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) { - swiper.updateActiveIndex(slideIndex); - // Update Height - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - swiper.updateSlidesClasses(); - if (params.effect !== 'slide') { - swiper.setTranslate(translate); - } - if (direction !== 'reset') { - swiper.transitionStart(runCallbacks, direction); - swiper.transitionEnd(runCallbacks, direction); - } - return false; - } - if (params.cssMode) { - const isH = swiper.isHorizontal(); - const t = rtl ? translate : -translate; - if (speed === 0) { - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - if (isVirtual) { - swiper.wrapperEl.style.scrollSnapType = 'none'; - swiper._immediateVirtual = true; - } - if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) { - swiper._cssModeVirtualInitialSet = true; - requestAnimationFrame(() => { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - }); - } else { - wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; - } - if (isVirtual) { - requestAnimationFrame(() => { - swiper.wrapperEl.style.scrollSnapType = ''; - swiper._immediateVirtual = false; - }); - } - } else { - if (!swiper.support.smoothScroll) { - animateCSSModeScroll({ - swiper, - targetPosition: t, - side: isH ? 'left' : 'top' - }); - return true; - } - wrapperEl.scrollTo({ - [isH ? 'left' : 'top']: t, - behavior: 'smooth' - }); - } - return true; - } - swiper.setTransition(speed); - swiper.setTranslate(translate); - swiper.updateActiveIndex(slideIndex); - swiper.updateSlidesClasses(); - swiper.emit('beforeTransitionStart', speed, internal); - swiper.transitionStart(runCallbacks, direction); - if (speed === 0) { - swiper.transitionEnd(runCallbacks, direction); - } else if (!swiper.animating) { - swiper.animating = true; - if (!swiper.onSlideToWrapperTransitionEnd) { - swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { - if (!swiper || swiper.destroyed) return; - if (e.target !== this) return; - swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - swiper.onSlideToWrapperTransitionEnd = null; - delete swiper.onSlideToWrapperTransitionEnd; - swiper.transitionEnd(runCallbacks, direction); - }; - } - swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); - } - return true; - } - - function slideToLoop(index, speed, runCallbacks, internal) { - if (index === void 0) { - index = 0; - } - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (typeof index === 'string') { - const indexAsNumber = parseInt(index, 10); - index = indexAsNumber; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1; - let newIndex = index; - if (swiper.params.loop) { - if (swiper.virtual && swiper.params.virtual.enabled) { - // eslint-disable-next-line - newIndex = newIndex + swiper.virtual.slidesBefore; - } else { - let targetSlideIndex; - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - targetSlideIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - targetSlideIndex = swiper.getSlideIndexByData(newIndex); - } - const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length; - const { - centeredSlides - } = swiper.params; - let slidesPerView = swiper.params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - let needLoopFix = cols - targetSlideIndex < slidesPerView; - if (centeredSlides) { - needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2); - } - if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) { - needLoopFix = false; - } - if (needLoopFix) { - const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev'; - swiper.loopFix({ - direction, - slideTo: true, - activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1, - slideRealIndex: direction === 'next' ? swiper.realIndex : undefined - }); - } - if (gridEnabled) { - const slideIndex = newIndex * swiper.params.grid.rows; - newIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column; - } else { - newIndex = swiper.getSlideIndexByData(newIndex); - } - } - } - requestAnimationFrame(() => { - swiper.slideTo(newIndex, speed, runCallbacks, internal); - }); - return swiper; - } - - /* eslint no-unused-vars: "off" */ - function slideNext(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - enabled, - params, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let perGroup = params.slidesPerGroup; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1); - } - const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup; - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'next' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); - }); - return true; - } - } - if (params.rewind && swiper.isEnd) { - return swiper.slideTo(0, speed, runCallbacks, internal); - } - return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slidePrev(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - const { - params, - snapGrid, - slidesGrid, - rtlTranslate, - enabled, - animating - } = swiper; - if (!enabled || swiper.destroyed) return swiper; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - const isVirtual = swiper.virtual && params.virtual.enabled; - if (params.loop) { - if (animating && !isVirtual && params.loopPreventsSliding) return false; - swiper.loopFix({ - direction: 'prev' - }); - // eslint-disable-next-line - swiper._clientLeft = swiper.wrapperEl.clientLeft; - } - const translate = rtlTranslate ? swiper.translate : -swiper.translate; - function normalize(val) { - if (val < 0) return -Math.floor(Math.abs(val)); - return Math.floor(val); - } - const normalizedTranslate = normalize(translate); - const normalizedSnapGrid = snapGrid.map(val => normalize(val)); - let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; - if (typeof prevSnap === 'undefined' && params.cssMode) { - let prevSnapIndex; - snapGrid.forEach((snap, snapIndex) => { - if (normalizedTranslate >= snap) { - // prevSnap = snap; - prevSnapIndex = snapIndex; - } - }); - if (typeof prevSnapIndex !== 'undefined') { - prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex]; - } - } - let prevIndex = 0; - if (typeof prevSnap !== 'undefined') { - prevIndex = slidesGrid.indexOf(prevSnap); - if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; - if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { - prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; - prevIndex = Math.max(prevIndex, 0); - } - } - if (params.rewind && swiper.isBeginning) { - const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - return swiper.slideTo(lastIndex, speed, runCallbacks, internal); - } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) { - requestAnimationFrame(() => { - swiper.slideTo(prevIndex, speed, runCallbacks, internal); - }); - return true; - } - return swiper.slideTo(prevIndex, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slideReset(speed, runCallbacks, internal) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); - } - - /* eslint no-unused-vars: "off" */ - function slideToClosest(speed, runCallbacks, internal, threshold) { - if (runCallbacks === void 0) { - runCallbacks = true; - } - if (threshold === void 0) { - threshold = 0.5; - } - const swiper = this; - if (swiper.destroyed) return; - if (typeof speed === 'undefined') { - speed = swiper.params.speed; - } - let index = swiper.activeIndex; - const skip = Math.min(swiper.params.slidesPerGroupSkip, index); - const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); - const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; - if (translate >= swiper.snapGrid[snapIndex]) { - // The current translate is on or after the current snap index, so the choice - // is between the current index and the one after it. - const currentSnap = swiper.snapGrid[snapIndex]; - const nextSnap = swiper.snapGrid[snapIndex + 1]; - if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { - index += swiper.params.slidesPerGroup; - } - } else { - // The current translate is before the current snap index, so the choice - // is between the current index and the one before it. - const prevSnap = swiper.snapGrid[snapIndex - 1]; - const currentSnap = swiper.snapGrid[snapIndex]; - if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { - index -= swiper.params.slidesPerGroup; - } - } - index = Math.max(index, 0); - index = Math.min(index, swiper.slidesGrid.length - 1); - return swiper.slideTo(index, speed, runCallbacks, internal); - } - - function slideToClickedSlide() { - const swiper = this; - if (swiper.destroyed) return; - const { - params, - slidesEl - } = swiper; - const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; - let slideToIndex = swiper.clickedIndex; - let realIndex; - const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`; - if (params.loop) { - if (swiper.animating) return; - realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); - if (params.centeredSlides) { - if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else if (slideToIndex > swiper.slides.length - slidesPerView) { - swiper.loopFix(); - slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); - nextTick(() => { - swiper.slideTo(slideToIndex); - }); - } else { - swiper.slideTo(slideToIndex); - } - } else { - swiper.slideTo(slideToIndex); - } - } - - var slide = { - slideTo, - slideToLoop, - slideNext, - slidePrev, - slideReset, - slideToClosest, - slideToClickedSlide - }; - - function loopCreate(slideRealIndex) { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - const initSlides = () => { - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - slides.forEach((el, index) => { - el.setAttribute('data-swiper-slide-index', index); - }); - }; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1); - const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0; - const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0; - const addBlankSlides = amountOfSlides => { - for (let i = 0; i < amountOfSlides; i += 1) { - const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]); - swiper.slidesEl.append(slideEl); - } - }; - if (shouldFillGroup) { - if (params.loopAddBlankSlides) { - const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else if (shouldFillGrid) { - if (params.loopAddBlankSlides) { - const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows; - addBlankSlides(slidesToAdd); - swiper.recalcSlides(); - swiper.updateSlides(); - } else { - showWarning('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)'); - } - initSlides(); - } else { - initSlides(); - } - swiper.loopFix({ - slideRealIndex, - direction: params.centeredSlides ? undefined : 'next' - }); - } - - function loopFix(_temp) { - let { - slideRealIndex, - slideTo = true, - direction, - setTranslate, - activeSlideIndex, - byController, - byMousewheel - } = _temp === void 0 ? {} : _temp; - const swiper = this; - if (!swiper.params.loop) return; - swiper.emit('beforeLoopFix'); - const { - slides, - allowSlidePrev, - allowSlideNext, - slidesEl, - params - } = swiper; - const { - centeredSlides - } = params; - swiper.allowSlidePrev = true; - swiper.allowSlideNext = true; - if (swiper.virtual && params.virtual.enabled) { - if (slideTo) { - if (!params.centeredSlides && swiper.snapIndex === 0) { - swiper.slideTo(swiper.virtual.slides.length, 0, false, true); - } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) { - swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true); - } else if (swiper.snapIndex === swiper.snapGrid.length - 1) { - swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true); - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - swiper.emit('loopFix'); - return; - } - let slidesPerView = params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = swiper.slidesPerViewDynamic(); - } else { - slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10)); - if (centeredSlides && slidesPerView % 2 === 0) { - slidesPerView = slidesPerView + 1; - } - } - const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup; - let loopedSlides = slidesPerGroup; - if (loopedSlides % slidesPerGroup !== 0) { - loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup; - } - loopedSlides += params.loopAdditionalSlides; - swiper.loopedSlides = loopedSlides; - const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; - if (slides.length < slidesPerView + loopedSlides) { - showWarning('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'); - } else if (gridEnabled && params.grid.fill === 'row') { - showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`'); - } - const prependSlidesIndexes = []; - const appendSlidesIndexes = []; - let activeIndex = swiper.activeIndex; - if (typeof activeSlideIndex === 'undefined') { - activeSlideIndex = swiper.getSlideIndex(slides.filter(el => el.classList.contains(params.slideActiveClass))[0]); - } else { - activeIndex = activeSlideIndex; - } - const isNext = direction === 'next' || !direction; - const isPrev = direction === 'prev' || !direction; - let slidesPrepended = 0; - let slidesAppended = 0; - const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length; - const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex; - const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0); - // prepend last slides before start - if (activeColIndexWithShift < loopedSlides) { - slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup); - for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - const colIndexToPrepend = cols - index - 1; - for (let i = slides.length - 1; i >= 0; i -= 1) { - if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i); - } - // slides.forEach((slide, slideIndex) => { - // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex); - // }); - } else { - prependSlidesIndexes.push(cols - index - 1); - } - } - } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) { - slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup); - for (let i = 0; i < slidesAppended; i += 1) { - const index = i - Math.floor(i / cols) * cols; - if (gridEnabled) { - slides.forEach((slide, slideIndex) => { - if (slide.column === index) appendSlidesIndexes.push(slideIndex); - }); - } else { - appendSlidesIndexes.push(index); - } - } - } - swiper.__preventObserver__ = true; - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - if (isPrev) { - prependSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.prepend(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - if (isNext) { - appendSlidesIndexes.forEach(index => { - slides[index].swiperLoopMoveDOM = true; - slidesEl.append(slides[index]); - slides[index].swiperLoopMoveDOM = false; - }); - } - swiper.recalcSlides(); - if (params.slidesPerView === 'auto') { - swiper.updateSlides(); - } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) { - swiper.slides.forEach((slide, slideIndex) => { - swiper.grid.updateSlide(slideIndex, slide, swiper.slides); - }); - } - if (params.watchSlidesProgress) { - swiper.updateSlidesOffset(); - } - if (slideTo) { - if (prependSlidesIndexes.length > 0 && isPrev) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - if (setTranslate) { - const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex + shift, 0, false, true); - swiper.touchEventsData.currentTranslate = swiper.translate; - } - } - } else if (appendSlidesIndexes.length > 0 && isNext) { - if (typeof slideRealIndex === 'undefined') { - const currentSlideTranslate = swiper.slidesGrid[activeIndex]; - const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended]; - const diff = newSlideTranslate - currentSlideTranslate; - if (byMousewheel) { - swiper.setTranslate(swiper.translate - diff); - } else { - swiper.slideTo(activeIndex - slidesAppended, 0, false, true); - if (setTranslate) { - swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; - swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; - } - } - } else { - const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length; - swiper.slideTo(swiper.activeIndex - shift, 0, false, true); - } - } - } - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.controller && swiper.controller.control && !byController) { - const loopParams = { - slideRealIndex, - direction, - setTranslate, - activeSlideIndex, - byController: true - }; - if (Array.isArray(swiper.controller.control)) { - swiper.controller.control.forEach(c => { - if (!c.destroyed && c.params.loop) c.loopFix({ - ...loopParams, - slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - }); - } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) { - swiper.controller.control.loopFix({ - ...loopParams, - slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false - }); - } - } - swiper.emit('loopFix'); - } - - function loopDestroy() { - const swiper = this; - const { - params, - slidesEl - } = swiper; - if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; - swiper.recalcSlides(); - const newSlidesOrder = []; - swiper.slides.forEach(slideEl => { - const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex; - newSlidesOrder[index] = slideEl; - }); - swiper.slides.forEach(slideEl => { - slideEl.removeAttribute('data-swiper-slide-index'); - }); - newSlidesOrder.forEach(slideEl => { - slidesEl.append(slideEl); - }); - swiper.recalcSlides(); - swiper.slideTo(swiper.realIndex, 0); - } - - var loop = { - loopCreate, - loopFix, - loopDestroy - }; - - function setGrabCursor(moving) { - const swiper = this; - if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return; - const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl; - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - el.style.cursor = 'move'; - el.style.cursor = moving ? 'grabbing' : 'grab'; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } - } - - function unsetGrabCursor() { - const swiper = this; - if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) { - return; - } - if (swiper.isElement) { - swiper.__preventObserver__ = true; - } - swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = ''; - if (swiper.isElement) { - requestAnimationFrame(() => { - swiper.__preventObserver__ = false; - }); - } - } - - var grabCursor = { - setGrabCursor, - unsetGrabCursor - }; - - // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd - function closestElement(selector, base) { - if (base === void 0) { - base = this; - } - function __closestFrom(el) { - if (!el || el === getDocument() || el === getWindow()) return null; - if (el.assignedSlot) el = el.assignedSlot; - const found = el.closest(selector); - if (!found && !el.getRootNode) { - return null; - } - return found || __closestFrom(el.getRootNode().host); - } - return __closestFrom(base); - } - function preventEdgeSwipe(swiper, event, startX) { - const window = getWindow(); - const { - params - } = swiper; - const edgeSwipeDetection = params.edgeSwipeDetection; - const edgeSwipeThreshold = params.edgeSwipeThreshold; - if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) { - if (edgeSwipeDetection === 'prevent') { - event.preventDefault(); - return true; - } - return false; - } - return true; - } - function onTouchStart(event) { - const swiper = this; - const document = getDocument(); - let e = event; - if (e.originalEvent) e = e.originalEvent; - const data = swiper.touchEventsData; - if (e.type === 'pointerdown') { - if (data.pointerId !== null && data.pointerId !== e.pointerId) { - return; - } - data.pointerId = e.pointerId; - } else if (e.type === 'touchstart' && e.targetTouches.length === 1) { - data.touchId = e.targetTouches[0].identifier; - } - if (e.type === 'touchstart') { - // don't proceed touch event - preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX); - return; - } - const { - params, - touches, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (swiper.animating && params.preventInteractionOnTransition) { - return; - } - if (!swiper.animating && params.cssMode && params.loop) { - swiper.loopFix(); - } - let targetEl = e.target; - if (params.touchEventsTarget === 'wrapper') { - if (!swiper.wrapperEl.contains(targetEl)) return; - } - if ('which' in e && e.which === 3) return; - if ('button' in e && e.button > 0) return; - if (data.isTouched && data.isMoved) return; - - // change target el for shadow root component - const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; - // eslint-disable-next-line - const eventPath = e.composedPath ? e.composedPath() : e.path; - if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) { - targetEl = eventPath[0]; - } - const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`; - const isTargetShadow = !!(e.target && e.target.shadowRoot); - - // use closestElement for shadow root element to get the actual closest for nested shadow root element - if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) { - swiper.allowClick = true; - return; - } - if (params.swipeHandler) { - if (!targetEl.closest(params.swipeHandler)) return; - } - touches.currentX = e.pageX; - touches.currentY = e.pageY; - const startX = touches.currentX; - const startY = touches.currentY; - - // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore - - if (!preventEdgeSwipe(swiper, e, startX)) { - return; - } - Object.assign(data, { - isTouched: true, - isMoved: false, - allowTouchCallbacks: true, - isScrolling: undefined, - startMoving: undefined - }); - touches.startX = startX; - touches.startY = startY; - data.touchStartTime = now(); - swiper.allowClick = true; - swiper.updateSize(); - swiper.swipeDirection = undefined; - if (params.threshold > 0) data.allowThresholdMove = false; - let preventDefault = true; - if (targetEl.matches(data.focusableElements)) { - preventDefault = false; - if (targetEl.nodeName === 'SELECT') { - data.isTouched = false; - } - } - if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) { - document.activeElement.blur(); - } - const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; - if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) { - e.preventDefault(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) { - swiper.freeMode.onTouchStart(); - } - swiper.emit('touchStart', e); - } - - function onTouchMove(event) { - const document = getDocument(); - const swiper = this; - const data = swiper.touchEventsData; - const { - params, - touches, - rtlTranslate: rtl, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && event.pointerType === 'mouse') return; - let e = event; - if (e.originalEvent) e = e.originalEvent; - if (e.type === 'pointermove') { - if (data.touchId !== null) return; // return from pointer if we use touch - const id = e.pointerId; - if (id !== data.pointerId) return; - } - let targetTouch; - if (e.type === 'touchmove') { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } else { - targetTouch = e; - } - if (!data.isTouched) { - if (data.startMoving && data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - return; - } - const pageX = targetTouch.pageX; - const pageY = targetTouch.pageY; - if (e.preventedByNestedSwiper) { - touches.startX = pageX; - touches.startY = pageY; - return; - } - if (!swiper.allowTouchMove) { - if (!e.target.matches(data.focusableElements)) { - swiper.allowClick = false; - } - if (data.isTouched) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY - }); - data.touchStartTime = now(); - } - return; - } - if (params.touchReleaseOnEdges && !params.loop) { - if (swiper.isVertical()) { - // Vertical - if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) { - data.isTouched = false; - data.isMoved = false; - return; - } - } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) { - return; - } - } - if (document.activeElement) { - if (e.target === document.activeElement && e.target.matches(data.focusableElements)) { - data.isMoved = true; - swiper.allowClick = false; - return; - } - } - if (data.allowTouchCallbacks) { - swiper.emit('touchMove', e); - } - touches.previousX = touches.currentX; - touches.previousY = touches.currentY; - touches.currentX = pageX; - touches.currentY = pageY; - const diffX = touches.currentX - touches.startX; - const diffY = touches.currentY - touches.startY; - if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return; - if (typeof data.isScrolling === 'undefined') { - let touchAngle; - if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) { - data.isScrolling = false; - } else { - // eslint-disable-next-line - if (diffX * diffX + diffY * diffY >= 25) { - touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI; - data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle; - } - } - } - if (data.isScrolling) { - swiper.emit('touchMoveOpposite', e); - } - if (typeof data.startMoving === 'undefined') { - if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { - data.startMoving = true; - } - } - if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) { - data.isTouched = false; - return; - } - if (!data.startMoving) { - return; - } - swiper.allowClick = false; - if (!params.cssMode && e.cancelable) { - e.preventDefault(); - } - if (params.touchMoveStopPropagation && !params.nested) { - e.stopPropagation(); - } - let diff = swiper.isHorizontal() ? diffX : diffY; - let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY; - if (params.oneWayMovement) { - diff = Math.abs(diff) * (rtl ? 1 : -1); - touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1); - } - touches.diff = diff; - diff *= params.touchRatio; - if (rtl) { - diff = -diff; - touchesDiff = -touchesDiff; - } - const prevTouchesDirection = swiper.touchesDirection; - swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; - swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next'; - const isLoop = swiper.params.loop && !params.cssMode; - const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev; - if (!data.isMoved) { - if (isLoop && allowLoopFix) { - swiper.loopFix({ - direction: swiper.swipeDirection - }); - } - data.startTranslate = swiper.getTranslate(); - swiper.setTransition(0); - if (swiper.animating) { - const evt = new window.CustomEvent('transitionend', { - bubbles: true, - cancelable: true, - detail: { - bySwiperTouchMove: true - } - }); - swiper.wrapperEl.dispatchEvent(evt); - } - data.allowMomentumBounce = false; - // Grab Cursor - if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(true); - } - swiper.emit('sliderFirstMove', e); - } - let loopFixed; - new Date().getTime(); - if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) { - Object.assign(touches, { - startX: pageX, - startY: pageY, - currentX: pageX, - currentY: pageY, - startTranslate: data.currentTranslate - }); - data.loopSwapReset = true; - data.startTranslate = data.currentTranslate; - return; - } - swiper.emit('sliderMove', e); - data.isMoved = true; - data.currentTranslate = diff + data.startTranslate; - let disableParentSwiper = true; - let resistanceRatio = params.resistanceRatio; - if (params.touchReleaseOnEdges) { - resistanceRatio = 0; - } - if (diff > 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] : swiper.minTranslate())) { - swiper.loopFix({ - direction: 'prev', - setTranslate: true, - activeSlideIndex: 0 - }); - } - if (data.currentTranslate > swiper.minTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio; - } - } - } else if (diff < 0) { - if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] : swiper.maxTranslate())) { - swiper.loopFix({ - direction: 'next', - setTranslate: true, - activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10))) - }); - } - if (data.currentTranslate < swiper.maxTranslate()) { - disableParentSwiper = false; - if (params.resistance) { - data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio; - } - } - } - if (disableParentSwiper) { - e.preventedByNestedSwiper = true; - } - - // Directions locks - if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { - data.currentTranslate = data.startTranslate; - } - if (!swiper.allowSlidePrev && !swiper.allowSlideNext) { - data.currentTranslate = data.startTranslate; - } - - // Threshold - if (params.threshold > 0) { - if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { - if (!data.allowThresholdMove) { - data.allowThresholdMove = true; - touches.startX = touches.currentX; - touches.startY = touches.currentY; - data.currentTranslate = data.startTranslate; - touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; - return; - } - } else { - data.currentTranslate = data.startTranslate; - return; - } - } - if (!params.followFinger || params.cssMode) return; - - // Update active index in free mode - if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) { - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - if (params.freeMode && params.freeMode.enabled && swiper.freeMode) { - swiper.freeMode.onTouchMove(); - } - // Update progress - swiper.updateProgress(data.currentTranslate); - // Update translate - swiper.setTranslate(data.currentTranslate); - } - - function onTouchEnd(event) { - const swiper = this; - const data = swiper.touchEventsData; - let e = event; - if (e.originalEvent) e = e.originalEvent; - let targetTouch; - const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel'; - if (!isTouchEvent) { - if (data.touchId !== null) return; // return from pointer if we use touch - if (e.pointerId !== data.pointerId) return; - targetTouch = e; - } else { - targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0]; - if (!targetTouch || targetTouch.identifier !== data.touchId) return; - } - if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) { - const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView); - if (!proceed) { - return; - } - } - data.pointerId = null; - data.touchId = null; - const { - params, - touches, - rtlTranslate: rtl, - slidesGrid, - enabled - } = swiper; - if (!enabled) return; - if (!params.simulateTouch && e.pointerType === 'mouse') return; - if (data.allowTouchCallbacks) { - swiper.emit('touchEnd', e); - } - data.allowTouchCallbacks = false; - if (!data.isTouched) { - if (data.isMoved && params.grabCursor) { - swiper.setGrabCursor(false); - } - data.isMoved = false; - data.startMoving = false; - return; - } - - // Return Grab Cursor - if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { - swiper.setGrabCursor(false); - } - - // Time diff - const touchEndTime = now(); - const timeDiff = touchEndTime - data.touchStartTime; - - // Tap, doubleTap, Click - if (swiper.allowClick) { - const pathTree = e.path || e.composedPath && e.composedPath(); - swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree); - swiper.emit('tap click', e); - if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) { - swiper.emit('doubleTap doubleClick', e); - } - } - data.lastClickTime = now(); - nextTick(() => { - if (!swiper.destroyed) swiper.allowClick = true; - }); - if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) { - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - return; - } - data.isTouched = false; - data.isMoved = false; - data.startMoving = false; - let currentPos; - if (params.followFinger) { - currentPos = rtl ? swiper.translate : -swiper.translate; - } else { - currentPos = -data.currentTranslate; - } - if (params.cssMode) { - return; - } - if (params.freeMode && params.freeMode.enabled) { - swiper.freeMode.onTouchEnd({ - currentPos - }); - return; - } - - // Find current slide - const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop; - let stopIndex = 0; - let groupSize = swiper.slidesSizesGrid[0]; - for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) { - const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (typeof slidesGrid[i + increment] !== 'undefined') { - if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) { - stopIndex = i; - groupSize = slidesGrid[i + increment] - slidesGrid[i]; - } - } else if (swipeToLast || currentPos >= slidesGrid[i]) { - stopIndex = i; - groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; - } - } - let rewindFirstIndex = null; - let rewindLastIndex = null; - if (params.rewind) { - if (swiper.isBeginning) { - rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; - } else if (swiper.isEnd) { - rewindFirstIndex = 0; - } - } - // Find current slide size - const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; - const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; - if (timeDiff > params.longSwipesMs) { - // Long touches - if (!params.longSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - if (swiper.swipeDirection === 'next') { - if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex); - } - if (swiper.swipeDirection === 'prev') { - if (ratio > 1 - params.longSwipesRatio) { - swiper.slideTo(stopIndex + increment); - } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) { - swiper.slideTo(rewindLastIndex); - } else { - swiper.slideTo(stopIndex); - } - } - } else { - // Short swipes - if (!params.shortSwipes) { - swiper.slideTo(swiper.activeIndex); - return; - } - const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl); - if (!isNavButtonTarget) { - if (swiper.swipeDirection === 'next') { - swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment); - } - if (swiper.swipeDirection === 'prev') { - swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex); - } - } else if (e.target === swiper.navigation.nextEl) { - swiper.slideTo(stopIndex + increment); - } else { - swiper.slideTo(stopIndex); - } - } - } - - function onResize() { - const swiper = this; - const { - params, - el - } = swiper; - if (el && el.offsetWidth === 0) return; - - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - - // Save locks - const { - allowSlideNext, - allowSlidePrev, - snapGrid - } = swiper; - const isVirtual = swiper.virtual && swiper.params.virtual.enabled; - - // Disable locks on resize - swiper.allowSlideNext = true; - swiper.allowSlidePrev = true; - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateSlidesClasses(); - const isVirtualLoop = isVirtual && params.loop; - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) { - swiper.slideTo(swiper.slides.length - 1, 0, false, true); - } else { - if (swiper.params.loop && !isVirtual) { - swiper.slideToLoop(swiper.realIndex, 0, false, true); - } else { - swiper.slideTo(swiper.activeIndex, 0, false, true); - } - } - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - clearTimeout(swiper.autoplay.resizeTimeout); - swiper.autoplay.resizeTimeout = setTimeout(() => { - if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { - swiper.autoplay.resume(); - } - }, 500); - } - // Return locks after resize - swiper.allowSlidePrev = allowSlidePrev; - swiper.allowSlideNext = allowSlideNext; - if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } - } - - function onClick(e) { - const swiper = this; - if (!swiper.enabled) return; - if (!swiper.allowClick) { - if (swiper.params.preventClicks) e.preventDefault(); - if (swiper.params.preventClicksPropagation && swiper.animating) { - e.stopPropagation(); - e.stopImmediatePropagation(); - } - } - } - - function onScroll() { - const swiper = this; - const { - wrapperEl, - rtlTranslate, - enabled - } = swiper; - if (!enabled) return; - swiper.previousTranslate = swiper.translate; - if (swiper.isHorizontal()) { - swiper.translate = -wrapperEl.scrollLeft; - } else { - swiper.translate = -wrapperEl.scrollTop; - } - // eslint-disable-next-line - if (swiper.translate === 0) swiper.translate = 0; - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - let newProgress; - const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); - if (translatesDiff === 0) { - newProgress = 0; - } else { - newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff; - } - if (newProgress !== swiper.progress) { - swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate); - } - swiper.emit('setTranslate', swiper.translate, false); - } - - function onLoad(e) { - const swiper = this; - processLazyPreloader(swiper, e.target); - if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) { - return; - } - swiper.update(); - } - - function onDocumentTouchStart() { - const swiper = this; - if (swiper.documentTouchHandlerProceeded) return; - swiper.documentTouchHandlerProceeded = true; - if (swiper.params.touchReleaseOnEdges) { - swiper.el.style.touchAction = 'auto'; - } - } - - const events = (swiper, method) => { - const document = getDocument(); - const { - params, - el, - wrapperEl, - device - } = swiper; - const capture = !!params.nested; - const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; - const swiperMethod = method; - - // Touch Events - document[domMethod]('touchstart', swiper.onDocumentTouchStart, { - passive: false, - capture - }); - el[domMethod]('touchstart', swiper.onTouchStart, { - passive: false - }); - el[domMethod]('pointerdown', swiper.onTouchStart, { - passive: false - }); - document[domMethod]('touchmove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('pointermove', swiper.onTouchMove, { - passive: false, - capture - }); - document[domMethod]('touchend', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerup', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointercancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('touchcancel', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerout', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('pointerleave', swiper.onTouchEnd, { - passive: true - }); - document[domMethod]('contextmenu', swiper.onTouchEnd, { - passive: true - }); - - // Prevent Links Clicks - if (params.preventClicks || params.preventClicksPropagation) { - el[domMethod]('click', swiper.onClick, true); - } - if (params.cssMode) { - wrapperEl[domMethod]('scroll', swiper.onScroll); - } - - // Resize handler - if (params.updateOnWindowResize) { - swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true); - } else { - swiper[swiperMethod]('observerUpdate', onResize, true); - } - - // Images loader - el[domMethod]('load', swiper.onLoad, { - capture: true - }); - }; - function attachEvents() { - const swiper = this; - const { - params - } = swiper; - swiper.onTouchStart = onTouchStart.bind(swiper); - swiper.onTouchMove = onTouchMove.bind(swiper); - swiper.onTouchEnd = onTouchEnd.bind(swiper); - swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper); - if (params.cssMode) { - swiper.onScroll = onScroll.bind(swiper); - } - swiper.onClick = onClick.bind(swiper); - swiper.onLoad = onLoad.bind(swiper); - events(swiper, 'on'); - } - function detachEvents() { - const swiper = this; - events(swiper, 'off'); - } - var events$1 = { - attachEvents, - detachEvents - }; - - const isGridEnabled = (swiper, params) => { - return swiper.grid && params.grid && params.grid.rows > 1; - }; - function setBreakpoint() { - const swiper = this; - const { - realIndex, - initialized, - params, - el - } = swiper; - const breakpoints = params.breakpoints; - if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; - - // Get breakpoint for window width and update parameters - const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el); - if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; - const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; - const breakpointParams = breakpointOnlyParams || swiper.originalParams; - const wasMultiRow = isGridEnabled(swiper, params); - const isMultiRow = isGridEnabled(swiper, breakpointParams); - const wasGrabCursor = swiper.params.grabCursor; - const isGrabCursor = breakpointParams.grabCursor; - const wasEnabled = params.enabled; - if (wasMultiRow && !isMultiRow) { - el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); - swiper.emitContainerClasses(); - } else if (!wasMultiRow && isMultiRow) { - el.classList.add(`${params.containerModifierClass}grid`); - if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') { - el.classList.add(`${params.containerModifierClass}grid-column`); - } - swiper.emitContainerClasses(); - } - if (wasGrabCursor && !isGrabCursor) { - swiper.unsetGrabCursor(); - } else if (!wasGrabCursor && isGrabCursor) { - swiper.setGrabCursor(); - } - - // Toggle navigation, pagination, scrollbar - ['navigation', 'pagination', 'scrollbar'].forEach(prop => { - if (typeof breakpointParams[prop] === 'undefined') return; - const wasModuleEnabled = params[prop] && params[prop].enabled; - const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; - if (wasModuleEnabled && !isModuleEnabled) { - swiper[prop].disable(); - } - if (!wasModuleEnabled && isModuleEnabled) { - swiper[prop].enable(); - } - }); - const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; - const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); - const wasLoop = params.loop; - if (directionChanged && initialized) { - swiper.changeDirection(); - } - extend(swiper.params, breakpointParams); - const isEnabled = swiper.params.enabled; - const hasLoop = swiper.params.loop; - Object.assign(swiper, { - allowTouchMove: swiper.params.allowTouchMove, - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev - }); - if (wasEnabled && !isEnabled) { - swiper.disable(); - } else if (!wasEnabled && isEnabled) { - swiper.enable(); - } - swiper.currentBreakpoint = breakpoint; - swiper.emit('_beforeBreakpoint', breakpointParams); - if (initialized) { - if (needsReLoop) { - swiper.loopDestroy(); - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (!wasLoop && hasLoop) { - swiper.loopCreate(realIndex); - swiper.updateSlides(); - } else if (wasLoop && !hasLoop) { - swiper.loopDestroy(); - } - } - swiper.emit('breakpoint', breakpointParams); - } - - function getBreakpoint(breakpoints, base, containerEl) { - if (base === void 0) { - base = 'window'; - } - if (!breakpoints || base === 'container' && !containerEl) return undefined; - let breakpoint = false; - const window = getWindow(); - const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight; - const points = Object.keys(breakpoints).map(point => { - if (typeof point === 'string' && point.indexOf('@') === 0) { - const minRatio = parseFloat(point.substr(1)); - const value = currentHeight * minRatio; - return { - value, - point - }; - } - return { - value: point, - point - }; - }); - points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10)); - for (let i = 0; i < points.length; i += 1) { - const { - point, - value - } = points[i]; - if (base === 'window') { - if (window.matchMedia(`(min-width: ${value}px)`).matches) { - breakpoint = point; - } - } else if (value <= containerEl.clientWidth) { - breakpoint = point; - } - } - return breakpoint || 'max'; - } - - var breakpoints = { - setBreakpoint, - getBreakpoint - }; - - function prepareClasses(entries, prefix) { - const resultClasses = []; - entries.forEach(item => { - if (typeof item === 'object') { - Object.keys(item).forEach(classNames => { - if (item[classNames]) { - resultClasses.push(prefix + classNames); - } - }); - } else if (typeof item === 'string') { - resultClasses.push(prefix + item); - } - }); - return resultClasses; - } - function addClasses() { - const swiper = this; - const { - classNames, - params, - rtl, - el, - device - } = swiper; - // prettier-ignore - const suffixes = prepareClasses(['initialized', params.direction, { - 'free-mode': swiper.params.freeMode && params.freeMode.enabled - }, { - 'autoheight': params.autoHeight - }, { - 'rtl': rtl - }, { - 'grid': params.grid && params.grid.rows > 1 - }, { - 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' - }, { - 'android': device.android - }, { - 'ios': device.ios - }, { - 'css-mode': params.cssMode - }, { - 'centered': params.cssMode && params.centeredSlides - }, { - 'watch-progress': params.watchSlidesProgress - }], params.containerModifierClass); - classNames.push(...suffixes); - el.classList.add(...classNames); - swiper.emitContainerClasses(); - } - - function removeClasses() { - const swiper = this; - const { - el, - classNames - } = swiper; - el.classList.remove(...classNames); - swiper.emitContainerClasses(); - } - - var classes = { - addClasses, - removeClasses - }; - - function checkOverflow() { - const swiper = this; - const { - isLocked: wasLocked, - params - } = swiper; - const { - slidesOffsetBefore - } = params; - if (slidesOffsetBefore) { - const lastSlideIndex = swiper.slides.length - 1; - const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2; - swiper.isLocked = swiper.size > lastSlideRightEdge; - } else { - swiper.isLocked = swiper.snapGrid.length === 1; - } - if (params.allowSlideNext === true) { - swiper.allowSlideNext = !swiper.isLocked; - } - if (params.allowSlidePrev === true) { - swiper.allowSlidePrev = !swiper.isLocked; - } - if (wasLocked && wasLocked !== swiper.isLocked) { - swiper.isEnd = false; - } - if (wasLocked !== swiper.isLocked) { - swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); - } - } - var checkOverflow$1 = { - checkOverflow - }; - - var defaults = { - init: true, - direction: 'horizontal', - oneWayMovement: false, - swiperElementNodeName: 'SWIPER-CONTAINER', - touchEventsTarget: 'wrapper', - initialSlide: 0, - speed: 300, - cssMode: false, - updateOnWindowResize: true, - resizeObserver: true, - nested: false, - createElements: false, - eventsPrefix: 'swiper', - enabled: true, - focusableElements: 'input, select, option, textarea, button, video, label', - // Overrides - width: null, - height: null, - // - preventInteractionOnTransition: false, - // ssr - userAgent: null, - url: null, - // To support iOS's swipe-to-go-back gesture (when being used in-app). - edgeSwipeDetection: false, - edgeSwipeThreshold: 20, - // Autoheight - autoHeight: false, - // Set wrapper width - setWrapperSize: false, - // Virtual Translate - virtualTranslate: false, - // Effects - effect: 'slide', - // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' - - // Breakpoints - breakpoints: undefined, - breakpointsBase: 'window', - // Slides grid - spaceBetween: 0, - slidesPerView: 1, - slidesPerGroup: 1, - slidesPerGroupSkip: 0, - slidesPerGroupAuto: false, - centeredSlides: false, - centeredSlidesBounds: false, - slidesOffsetBefore: 0, - // in px - slidesOffsetAfter: 0, - // in px - normalizeSlideIndex: true, - centerInsufficientSlides: false, - // Disable swiper and hide navigation when container not overflow - watchOverflow: true, - // Round length - roundLengths: false, - // Touches - touchRatio: 1, - touchAngle: 45, - simulateTouch: true, - shortSwipes: true, - longSwipes: true, - longSwipesRatio: 0.5, - longSwipesMs: 300, - followFinger: true, - allowTouchMove: true, - threshold: 5, - touchMoveStopPropagation: false, - touchStartPreventDefault: true, - touchStartForcePreventDefault: false, - touchReleaseOnEdges: false, - // Unique Navigation Elements - uniqueNavElements: true, - // Resistance - resistance: true, - resistanceRatio: 0.85, - // Progress - watchSlidesProgress: false, - // Cursor - grabCursor: false, - // Clicks - preventClicks: true, - preventClicksPropagation: true, - slideToClickedSlide: false, - // loop - loop: false, - loopAddBlankSlides: true, - loopAdditionalSlides: 0, - loopPreventsSliding: true, - // rewind - rewind: false, - // Swiping/no swiping - allowSlidePrev: true, - allowSlideNext: true, - swipeHandler: null, - // '.swipe-handler', - noSwiping: true, - noSwipingClass: 'swiper-no-swiping', - noSwipingSelector: null, - // Passive Listeners - passiveListeners: true, - maxBackfaceHiddenSlides: 10, - // NS - containerModifierClass: 'swiper-', - // NEW - 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, - // Callbacks - runCallbacksOnInit: true, - // Internals - _emitClasses: false - }; - - function moduleExtendParams(params, allModulesParams) { - return function extendParams(obj) { - if (obj === void 0) { - obj = {}; - } - const moduleParamName = Object.keys(obj)[0]; - const moduleParams = obj[moduleParamName]; - if (typeof moduleParams !== 'object' || moduleParams === null) { - extend(allModulesParams, obj); - return; - } - if (params[moduleParamName] === true) { - params[moduleParamName] = { - enabled: true - }; - } - if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) { - params[moduleParamName].auto = true; - } - if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) { - params[moduleParamName].auto = true; - } - if (!(moduleParamName in params && 'enabled' in moduleParams)) { - extend(allModulesParams, obj); - return; - } - if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) { - params[moduleParamName].enabled = true; - } - if (!params[moduleParamName]) params[moduleParamName] = { - enabled: false - }; - extend(allModulesParams, obj); - }; - } - - /* eslint no-param-reassign: "off" */ - const prototypes = { - eventsEmitter, - update, - translate, - transition, - slide, - loop, - grabCursor, - events: events$1, - breakpoints, - checkOverflow: checkOverflow$1, - classes - }; - const extendedDefaults = {}; - class Swiper { - constructor() { - let el; - let params; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') { - params = args[0]; - } else { - [el, params] = args; - } - if (!params) params = {}; - params = extend({}, params); - if (el && !params.el) params.el = el; - const document = getDocument(); - if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) { - const swipers = []; - document.querySelectorAll(params.el).forEach(containerEl => { - const newParams = extend({}, params, { - el: containerEl - }); - swipers.push(new Swiper(newParams)); - }); - // eslint-disable-next-line no-constructor-return - return swipers; - } - - // Swiper Instance - const swiper = this; - swiper.__swiper__ = true; - swiper.support = getSupport(); - swiper.device = getDevice({ - userAgent: params.userAgent - }); - swiper.browser = getBrowser(); - swiper.eventsListeners = {}; - swiper.eventsAnyListeners = []; - swiper.modules = [...swiper.__modules__]; - if (params.modules && Array.isArray(params.modules)) { - swiper.modules.push(...params.modules); - } - const allModulesParams = {}; - swiper.modules.forEach(mod => { - mod({ - params, - swiper, - extendParams: moduleExtendParams(params, allModulesParams), - on: swiper.on.bind(swiper), - once: swiper.once.bind(swiper), - off: swiper.off.bind(swiper), - emit: swiper.emit.bind(swiper) - }); - }); - - // Extend defaults with modules params - const swiperParams = extend({}, defaults, allModulesParams); - - // Extend defaults with passed params - swiper.params = extend({}, swiperParams, extendedDefaults, params); - swiper.originalParams = extend({}, swiper.params); - swiper.passedParams = extend({}, params); - - // add event listeners - if (swiper.params && swiper.params.on) { - Object.keys(swiper.params.on).forEach(eventName => { - swiper.on(eventName, swiper.params.on[eventName]); - }); - } - if (swiper.params && swiper.params.onAny) { - swiper.onAny(swiper.params.onAny); - } - - // Extend Swiper - Object.assign(swiper, { - enabled: swiper.params.enabled, - el, - // Classes - classNames: [], - // Slides - slides: [], - slidesGrid: [], - snapGrid: [], - slidesSizesGrid: [], - // isDirection - isHorizontal() { - return swiper.params.direction === 'horizontal'; - }, - isVertical() { - return swiper.params.direction === 'vertical'; - }, - // Indexes - activeIndex: 0, - realIndex: 0, - // - isBeginning: true, - isEnd: false, - // Props - translate: 0, - previousTranslate: 0, - progress: 0, - velocity: 0, - animating: false, - cssOverflowAdjustment() { - // Returns 0 unless `translate` is > 2**23 - // Should be subtracted from css values to prevent overflow - return Math.trunc(this.translate / 2 ** 23) * 2 ** 23; - }, - // Locks - allowSlideNext: swiper.params.allowSlideNext, - allowSlidePrev: swiper.params.allowSlidePrev, - // Touch Events - touchEventsData: { - isTouched: undefined, - isMoved: undefined, - allowTouchCallbacks: undefined, - touchStartTime: undefined, - isScrolling: undefined, - currentTranslate: undefined, - startTranslate: undefined, - allowThresholdMove: undefined, - // Form elements to match - focusableElements: swiper.params.focusableElements, - // Last click time - lastClickTime: 0, - clickTimeout: undefined, - // Velocities - velocities: [], - allowMomentumBounce: undefined, - startMoving: undefined, - pointerId: null, - touchId: null - }, - // Clicks - allowClick: true, - // Touches - allowTouchMove: swiper.params.allowTouchMove, - touches: { - startX: 0, - startY: 0, - currentX: 0, - currentY: 0, - diff: 0 - }, - // Images - imagesToLoad: [], - imagesLoaded: 0 - }); - swiper.emit('_swiper'); - - // Init - if (swiper.params.init) { - swiper.init(); - } - - // Return app instance - // eslint-disable-next-line no-constructor-return - return swiper; - } - getDirectionLabel(property) { - if (this.isHorizontal()) { - return property; - } - // prettier-ignore - return { - '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' - }[property]; - } - getSlideIndex(slideEl) { - const { - slidesEl, - params - } = this; - const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - const firstSlideIndex = elementIndex(slides[0]); - return elementIndex(slideEl) - firstSlideIndex; - } - getSlideIndexByData(index) { - return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]); - } - recalcSlides() { - const swiper = this; - const { - slidesEl, - params - } = swiper; - swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); - } - enable() { - const swiper = this; - if (swiper.enabled) return; - swiper.enabled = true; - if (swiper.params.grabCursor) { - swiper.setGrabCursor(); - } - swiper.emit('enable'); - } - disable() { - const swiper = this; - if (!swiper.enabled) return; - swiper.enabled = false; - if (swiper.params.grabCursor) { - swiper.unsetGrabCursor(); - } - swiper.emit('disable'); - } - setProgress(progress, speed) { - const swiper = this; - progress = Math.min(Math.max(progress, 0), 1); - const min = swiper.minTranslate(); - const max = swiper.maxTranslate(); - const current = (max - min) * progress + min; - swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - emitContainerClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const cls = swiper.el.className.split(' ').filter(className => { - return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0; - }); - swiper.emit('_containerClasses', cls.join(' ')); - } - getSlideClasses(slideEl) { - const swiper = this; - if (swiper.destroyed) return ''; - return slideEl.className.split(' ').filter(className => { - return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0; - }).join(' '); - } - emitSlidesClasses() { - const swiper = this; - if (!swiper.params._emitClasses || !swiper.el) return; - const updates = []; - swiper.slides.forEach(slideEl => { - const classNames = swiper.getSlideClasses(slideEl); - updates.push({ - slideEl, - classNames - }); - swiper.emit('_slideClass', slideEl, classNames); - }); - swiper.emit('_slideClasses', updates); - } - slidesPerViewDynamic(view, exact) { - if (view === void 0) { - view = 'current'; - } - if (exact === void 0) { - exact = false; - } - const swiper = this; - const { - params, - slides, - slidesGrid, - slidesSizesGrid, - size: swiperSize, - activeIndex - } = swiper; - let spv = 1; - if (typeof params.slidesPerView === 'number') return params.slidesPerView; - if (params.centeredSlides) { - let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0; - let breakLoop; - for (let i = activeIndex + 1; i < slides.length; i += 1) { - if (slides[i] && !breakLoop) { - slideSize += Math.ceil(slides[i].swiperSlideSize); - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - for (let i = activeIndex - 1; i >= 0; i -= 1) { - if (slides[i] && !breakLoop) { - slideSize += slides[i].swiperSlideSize; - spv += 1; - if (slideSize > swiperSize) breakLoop = true; - } - } - } else { - // eslint-disable-next-line - if (view === 'current') { - for (let i = activeIndex + 1; i < slides.length; i += 1) { - const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } else { - // previous - for (let i = activeIndex - 1; i >= 0; i -= 1) { - const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize; - if (slideInView) { - spv += 1; - } - } - } - } - return spv; - } - update() { - const swiper = this; - if (!swiper || swiper.destroyed) return; - const { - snapGrid, - params - } = swiper; - // Breakpoints - if (params.breakpoints) { - swiper.setBreakpoint(); - } - [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } - }); - swiper.updateSize(); - swiper.updateSlides(); - swiper.updateProgress(); - swiper.updateSlidesClasses(); - function setTranslate() { - const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; - const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); - swiper.setTranslate(newTranslate); - swiper.updateActiveIndex(); - swiper.updateSlidesClasses(); - } - let translated; - if (params.freeMode && params.freeMode.enabled && !params.cssMode) { - setTranslate(); - if (params.autoHeight) { - swiper.updateAutoHeight(); - } - } else { - if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) { - const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides; - translated = swiper.slideTo(slides.length - 1, 0, false, true); - } else { - translated = swiper.slideTo(swiper.activeIndex, 0, false, true); - } - if (!translated) { - setTranslate(); - } - } - if (params.watchOverflow && snapGrid !== swiper.snapGrid) { - swiper.checkOverflow(); - } - swiper.emit('update'); - } - changeDirection(newDirection, needUpdate) { - if (needUpdate === void 0) { - needUpdate = true; - } - const swiper = this; - const currentDirection = swiper.params.direction; - if (!newDirection) { - // eslint-disable-next-line - newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal'; - } - if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') { - return swiper; - } - swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`); - swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`); - swiper.emitContainerClasses(); - swiper.params.direction = newDirection; - swiper.slides.forEach(slideEl => { - if (newDirection === 'vertical') { - slideEl.style.width = ''; - } else { - slideEl.style.height = ''; - } - }); - swiper.emit('changeDirection'); - if (needUpdate) swiper.update(); - return swiper; - } - changeLanguageDirection(direction) { - const swiper = this; - if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return; - swiper.rtl = direction === 'rtl'; - swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl; - if (swiper.rtl) { - swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'rtl'; - } else { - swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`); - swiper.el.dir = 'ltr'; - } - swiper.update(); - } - mount(element) { - const swiper = this; - if (swiper.mounted) return true; - - // Find el - let el = element || swiper.params.el; - if (typeof el === 'string') { - el = document.querySelector(el); - } - if (!el) { - return false; - } - el.swiper = swiper; - if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) { - swiper.isElement = true; - } - const getWrapperSelector = () => { - return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`; - }; - const getWrapper = () => { - if (el && el.shadowRoot && el.shadowRoot.querySelector) { - const res = el.shadowRoot.querySelector(getWrapperSelector()); - // Children needs to return slot items - return res; - } - return elementChildren(el, getWrapperSelector())[0]; - }; - // Find Wrapper - let wrapperEl = getWrapper(); - if (!wrapperEl && swiper.params.createElements) { - wrapperEl = createElement('div', swiper.params.wrapperClass); - el.append(wrapperEl); - elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => { - wrapperEl.append(slideEl); - }); - } - Object.assign(swiper, { - el, - wrapperEl, - slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl, - hostEl: swiper.isElement ? el.parentNode.host : el, - mounted: true, - // RTL - rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl', - rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'), - wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box' - }); - return true; - } - init(el) { - const swiper = this; - if (swiper.initialized) return swiper; - const mounted = swiper.mount(el); - if (mounted === false) return swiper; - swiper.emit('beforeInit'); - - // Set breakpoint - if (swiper.params.breakpoints) { - swiper.setBreakpoint(); - } - - // Add Classes - swiper.addClasses(); - - // Update size - swiper.updateSize(); - - // Update slides - swiper.updateSlides(); - if (swiper.params.watchOverflow) { - swiper.checkOverflow(); - } - - // Set Grab Cursor - if (swiper.params.grabCursor && swiper.enabled) { - swiper.setGrabCursor(); - } - - // Slide To Initial Slide - if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { - swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true); - } else { - swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true); - } - - // Create loop - if (swiper.params.loop) { - swiper.loopCreate(); - } - - // Attach events - swiper.attachEvents(); - const lazyElements = [...swiper.el.querySelectorAll('[loading="lazy"]')]; - if (swiper.isElement) { - lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]')); - } - lazyElements.forEach(imageEl => { - if (imageEl.complete) { - processLazyPreloader(swiper, imageEl); - } else { - imageEl.addEventListener('load', e => { - processLazyPreloader(swiper, e.target); - }); - } - }); - preload(swiper); - - // Init Flag - swiper.initialized = true; - preload(swiper); - - // Emit - swiper.emit('init'); - swiper.emit('afterInit'); - return swiper; - } - destroy(deleteInstance, cleanStyles) { - if (deleteInstance === void 0) { - deleteInstance = true; - } - if (cleanStyles === void 0) { - cleanStyles = true; - } - const swiper = this; - const { - params, - el, - wrapperEl, - slides - } = swiper; - if (typeof swiper.params === 'undefined' || swiper.destroyed) { - return null; - } - swiper.emit('beforeDestroy'); - - // Init Flag - swiper.initialized = false; - - // Detach events - swiper.detachEvents(); - - // Destroy loop - if (params.loop) { - swiper.loopDestroy(); - } - - // Cleanup styles - if (cleanStyles) { - swiper.removeClasses(); - el.removeAttribute('style'); - wrapperEl.removeAttribute('style'); - if (slides && slides.length) { - slides.forEach(slideEl => { - slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass); - slideEl.removeAttribute('style'); - slideEl.removeAttribute('data-swiper-slide-index'); - }); - } - } - swiper.emit('destroy'); - - // Detach emitter events - Object.keys(swiper.eventsListeners).forEach(eventName => { - swiper.off(eventName); - }); - if (deleteInstance !== false) { - swiper.el.swiper = null; - deleteProps(swiper); - } - swiper.destroyed = true; - return null; - } - static extendDefaults(newDefaults) { - extend(extendedDefaults, newDefaults); - } - static get extendedDefaults() { - return extendedDefaults; - } - static get defaults() { - return defaults; - } - static installModule(mod) { - if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = []; - const modules = Swiper.prototype.__modules__; - if (typeof mod === 'function' && modules.indexOf(mod) < 0) { - modules.push(mod); - } - } - static use(module) { - if (Array.isArray(module)) { - module.forEach(m => Swiper.installModule(m)); - return Swiper; - } - Swiper.installModule(module); - return Swiper; - } - } - Object.keys(prototypes).forEach(prototypeGroup => { - Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => { - Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; - }); - }); - Swiper.use([Resize, Observer]); - - return Swiper; - -})(); diff --git a/node_modules/swiper/swiper.less b/node_modules/swiper/swiper.less deleted file mode 100644 index e26c276..0000000 --- a/node_modules/swiper/swiper.less +++ /dev/null @@ -1,251 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -@themeColor: #007aff; - -/* FONT_START */ -@font-face { - font-family: 'swiper-icons'; - src: url('data:application/font-woff;charset=utf-8;base64, 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'); - font-weight: 400; - font-style: normal; -} -/* FONT_END */ - -:root { - --swiper-theme-color: @themeColor; - /* - --swiper-preloader-color: var(--swiper-theme-color); - --swiper-wrapper-transition-timing-function: initial; - */ -} -:host { - position: relative; - display: block; - margin-left: auto; - margin-right: auto; - z-index: 1; -} -.swiper { - margin-left: auto; - margin-right: auto; - position: relative; - overflow: hidden; - list-style: none; - padding: 0; - /* Fix of Webkit flickering */ - z-index: 1; - display: block; -} -.swiper-vertical > .swiper-wrapper { - flex-direction: column; -} -.swiper-wrapper { - position: relative; - width: 100%; - height: 100%; - z-index: 1; - display: flex; - transition-property: transform; - transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial); - box-sizing: content-box; -} -.swiper-android .swiper-slide, -.swiper-ios .swiper-slide, -.swiper-wrapper { - transform: translate3d(0px, 0, 0); -} -.swiper-horizontal { - touch-action: pan-y; -} -.swiper-vertical { - touch-action: pan-x; -} -.swiper-slide { - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; - transition-property: transform; - display: block; -} -.swiper-slide-invisible-blank { - visibility: hidden; -} -/* Auto Height */ -.swiper-autoheight, -.swiper-autoheight .swiper-slide { - height: auto; -} -.swiper-autoheight .swiper-wrapper { - align-items: flex-start; - transition-property: transform, height; -} -.swiper-backface-hidden .swiper-slide { - transform: translateZ(0); - backface-visibility: hidden; -} -/* 3D Effects */ -.swiper-3d.swiper-css-mode .swiper-wrapper { - perspective: 1200px; -} -.swiper-3d .swiper-wrapper { - transform-style: preserve-3d; -} -.swiper-3d { - perspective: 1200px; - .swiper-slide, - .swiper-cube-shadow { - transform-style: preserve-3d; - } -} - -/* CSS Mode */ -.swiper-css-mode { - > .swiper-wrapper { - overflow: auto; - scrollbar-width: none; /* For Firefox */ - -ms-overflow-style: none; /* For Internet Explorer and Edge */ - &::-webkit-scrollbar { - display: none; - } - } - > .swiper-wrapper > .swiper-slide { - scroll-snap-align: start start; - } - &.swiper-horizontal { - > .swiper-wrapper { - scroll-snap-type: x mandatory; - } - } - &.swiper-vertical { - > .swiper-wrapper { - scroll-snap-type: y mandatory; - } - } - &.swiper-free-mode { - > .swiper-wrapper { - scroll-snap-type: none; - } - > .swiper-wrapper > .swiper-slide { - scroll-snap-align: none; - } - } - &.swiper-centered { - > .swiper-wrapper::before { - content: ''; - flex-shrink: 0; - order: 9999; - } - > .swiper-wrapper > .swiper-slide { - scroll-snap-align: center center; - scroll-snap-stop: always; - } - } - &.swiper-centered.swiper-horizontal { - > .swiper-wrapper > .swiper-slide:first-child { - margin-inline-start: var(--swiper-centered-offset-before); - } - > .swiper-wrapper::before { - height: 100%; - min-height: 1px; - width: var(--swiper-centered-offset-after); - } - } - &.swiper-centered.swiper-vertical { - > .swiper-wrapper > .swiper-slide:first-child { - margin-block-start: var(--swiper-centered-offset-before); - } - > .swiper-wrapper::before { - width: 100%; - min-width: 1px; - height: var(--swiper-centered-offset-after); - } - } -} - -/* Slide styles start */ -/* 3D Shadows */ -.swiper-3d { - .swiper-slide-shadow, - .swiper-slide-shadow-left, - .swiper-slide-shadow-right, - .swiper-slide-shadow-top, - .swiper-slide-shadow-bottom, - .swiper-slide-shadow, - .swiper-slide-shadow-left, - .swiper-slide-shadow-right, - .swiper-slide-shadow-top, - .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; - } - .swiper-slide-shadow { - background: rgba(0, 0, 0, 0.15); - } - .swiper-slide-shadow-left { - background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - } - .swiper-slide-shadow-right { - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - } - .swiper-slide-shadow-top { - background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - } - .swiper-slide-shadow-bottom { - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - } -} -.swiper-lazy-preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; - transform-origin: 50%; - box-sizing: border-box; - border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color)); - border-radius: 50%; - border-top-color: transparent; -} -.swiper:not(.swiper-watch-progress), -.swiper-watch-progress .swiper-slide-visible { - .swiper-lazy-preloader { - animation: swiper-preloader-spin 1s infinite linear; - } -} -.swiper-lazy-preloader-white { - --swiper-preloader-color: #fff; -} -.swiper-lazy-preloader-black { - --swiper-preloader-color: #000; -} -@keyframes swiper-preloader-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -/* Slide styles end */ - - - diff --git a/node_modules/swiper/swiper.min.css b/node_modules/swiper/swiper.min.css deleted file mode 100644 index 3ed7c71..0000000 --- a/node_modules/swiper/swiper.min.css +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/node_modules/swiper/swiper.min.js b/node_modules/swiper/swiper.min.js deleted file mode 100644 index 768a30a..0000000 --- a/node_modules/swiper/swiper.min.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -var Swiper=function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,i){void 0===s&&(s={}),void 0===i&&(i={}),Object.keys(i).forEach((r=>{void 0===s[r]?s[r]=i[r]:e(i[r])&&e(s[r])&&Object.keys(i[r]).length>0&&t(s[r],i[r])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function i(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const r={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function n(){const e="undefined"!=typeof window?window:{};return t(e,r),e}function a(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function l(e,t){void 0===t&&(t="x");const s=n();let i,r,a;const o=function(e){const t=n();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(r=o.transform||o.webkitTransform,r.split(",").length>6&&(r=r.split(", ").map((e=>e.replace(",","."))).join(", ")),a=new s.WebKitCSSMatrix("none"===r?"":r)):(a=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=a.toString().split(",")),"x"===t&&(r=s.WebKitCSSMatrix?a.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(r=s.WebKitCSSMatrix?a.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),r||0}function d(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function c(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let i=1;it.indexOf(e)<0));for(let t=0,i=s.length;ta?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{o=(new Date).getTime(),null===l&&(l=o);const e=Math.max(Math.min((o-l)/d,1),0),n=.5-Math.cos(e*Math.PI)/2;let c=a+n*(s-a);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[i]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[i]:c})})),void r.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=r.requestAnimationFrame(u)};u()}function h(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function f(e){try{return void console.warn(e)}catch(e){}}function m(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:function(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}(t)),s}function v(e,t){return n().getComputedStyle(e,null).getPropertyValue(t)}function g(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function w(e,t,s){const i=n();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}let S,T,b;function x(){return S||(S=function(){const e=n(),t=i();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),S}function y(e){return void 0===e&&(e={}),T||(T=function(e){let{userAgent:t}=void 0===e?{}:e;const s=x(),i=n(),r=i.navigator.platform,a=t||i.navigator.userAgent,o={ios:!1,android:!1},l=i.screen.width,d=i.screen.height,c=a.match(/(Android);?[\s\/]+([\d.]+)?/);let p=a.match(/(iPad).*OS\s([\d_]+)/);const u=a.match(/(iPod)(.*OS\s([\d_]+))?/),h=!p&&a.match(/(iPhone\sOS|iOS)\s([\d_]+)/),f="Win32"===r;let m="MacIntel"===r;return!p&&m&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${l}x${d}`)>=0&&(p=a.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),m=!1),c&&!f&&(o.os="android",o.android=!0),(p||h||u)&&(o.os="ios",o.ios=!0),o}(e)),T}function E(){return b||(b=function(){const e=n(),t=y();let s=!1;function i(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(i()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,i]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&i<2}}const r=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),a=i();return{isSafari:s||a,needPerspectiveFix:s,need3dFix:a||r&&t.ios,isWebView:r}}()),b}var M={on(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;const r=s?"unshift":"push";return e.split(" ").forEach((e=>{i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][r](t)})),i},once(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;function r(){i.off(e,r),r.__emitterProxy&&delete r.__emitterProxy;for(var s=arguments.length,n=new Array(s),a=0;a=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((i,r)=>{(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&s.eventsListeners[e].splice(r,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,i;for(var r=arguments.length,n=new Array(r),a=0;a{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(i,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(i,s)}))})),e}};const C=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const P=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const I=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},L=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},k=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const i="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),r=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=r,n=[s-t];return n.push(...Array.from({length:t}).map(((e,t)=>s+i+t))),void e.slides.forEach(((t,s)=>{n.includes(t.column)&&L(e,s)}))}const n=r+i-1;if(e.params.rewind||e.params.loop)for(let i=r-t;i<=n+t;i+=1){const t=(i%s+s)%s;(tn)&&L(e,t)}else for(let i=Math.max(r-t,0);i<=Math.min(n+t,s-1);i+=1)i!==r&&(i>n||i=0?y=parseFloat(y.replace("%",""))/100*n:"string"==typeof y&&(y=parseFloat(y)),e.virtualSize=-y,c.forEach((e=>{a?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(p(i,"--swiper-centered-offset-before",""),p(i,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let I;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const L="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let i=0;i1&&f.push(e.virtualSize-n)}if(l&&s.loop){const t=g[0]+y;if(s.slidesPerGroup>1){const i=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),r=t*s.slidesPerGroup;for(let e=0;e!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${y}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(y||0)})),e-=y;const t=e-n;f=f.map((e=>e<=0?-S:e>t?t+T:e))}if(s.centerInsufficientSlides){let e=0;g.forEach((t=>{e+=t+(y||0)})),e-=y;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t{f[t]=e-s})),m.forEach(((e,t)=>{m[t]=e+s}))}}if(Object.assign(e,{slides:c,snapGrid:f,slidesGrid:m,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){p(i,"--swiper-centered-offset-before",-f[0]+"px"),p(i,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(u!==d&&e.emit("slidesLengthChange"),f.length!==b&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),m.length!==x&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(l||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,i=e.el.classList.contains(t);u<=s.maxBackfaceHiddenSlides?i||e.el.classList.add(t):i&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],i=t.virtual&&t.params.virtual.enabled;let r,n=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const a=e=>i?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(r=0;rt.slides.length&&!i)break;s.push(a(e))}else s.push(a(t.activeIndex));for(r=0;rn?e:n}(n||0===n)&&(t.wrapperEl.style.height=`${n}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let i=0;i=0?o=parseFloat(o.replace("%",""))/100*t.size:"string"==typeof o&&(o=parseFloat(o));for(let e=0;e=0&&u<=t.size-t.slidesSizesGrid[e],m=u>=0&&u1&&h<=t.size||u<=0&&h>=t.size;m&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(e)),C(l,m,s.slideVisibleClass),C(l,f,s.slideFullyVisibleClass),l.progress=r?-c:c,l.originalProgress=r?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:r,isBeginning:n,isEnd:a,progressLoop:o}=t;const l=n,d=a;if(0===i)r=0,n=!0,a=!0;else{r=(e-t.minTranslate())/i;const s=Math.abs(e-t.minTranslate())<1,o=Math.abs(e-t.maxTranslate())<1;n=s||r<=0,a=o||r>=1,s&&(r=0),o&&(r=1)}if(s.loop){const s=t.getSlideIndexByData(0),i=t.getSlideIndexByData(t.slides.length-1),r=t.slidesGrid[s],n=t.slidesGrid[i],a=t.slidesGrid[t.slidesGrid.length-1],l=Math.abs(e);o=l>=r?(l-r)/a:(l+a-n)/a,o>1&&(o-=1)}Object.assign(t,{progress:r,progressLoop:o,isBeginning:n,isEnd:a}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),n&&!l&&t.emit("reachBeginning toEdge"),a&&!d&&t.emit("reachEnd toEdge"),(l&&!n||d&&!a)&&t.emit("fromEdge"),t.emit("progress",r)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:i,activeIndex:r}=e,n=e.virtual&&s.virtual.enabled,a=e.grid&&s.grid&&s.grid.rows>1,o=e=>h(i,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let l,d,c;if(n)if(s.loop){let t=r-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),l=o(`[data-swiper-slide-index="${t}"]`)}else l=o(`[data-swiper-slide-index="${r}"]`);else a?(l=t.filter((e=>e.column===r))[0],c=t.filter((e=>e.column===r+1))[0],d=t.filter((e=>e.column===r-1))[0]):l=t[r];l&&(a||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const i=e.nextElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(l,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const i=e.previousElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(l,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{P(e,e===l,s.slideActiveClass),P(e,e===c,s.slideNextClass),P(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:i,params:r,activeIndex:n,realIndex:a,snapIndex:o}=t;let l,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,i=e.rtlTranslate?e.translate:-e.translate;let r;for(let e=0;e=t[e]&&i=t[e]&&i=t[e]&&(r=e);return s.normalizeSlideIndex&&(r<0||void 0===r)&&(r=0),r}(t)),i.indexOf(s)>=0)l=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,d);l=e+Math.floor((d-e)/r.slidesPerGroup)}if(l>=i.length&&(l=i.length-1),d===n&&!t.params.loop)return void(l!==o&&(t.snapIndex=l,t.emit("snapIndexChange")));if(d===n&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&r.grid&&r.grid.rows>1;let u;if(t.virtual&&r.virtual.enabled&&r.loop)u=c(d);else if(p){const e=t.slides.filter((e=>e.column===d))[0];let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/r.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:o,snapIndex:l,previousRealIndex:a,realIndex:u,previousIndex:n,activeIndex:d}),t.initialized&&k(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(a!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,i=s.params;let r=e.closest(`.${i.slideClass}, swiper-slide`);!r&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!r&&e.matches&&e.matches(`.${i.slideClass}, swiper-slide`)&&(r=e)}));let n,a=!1;if(r)for(let e=0;el?l:i&&ea?"next":n=l.length&&(g=l.length-1);const w=-l[g];if(o.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(a=e)}if(n.initialized&&a!==p){if(!n.allowSlideNext&&(h?w>n.translate&&w>n.minTranslate():wn.translate&&w>n.maxTranslate()&&(p||0)!==a)return!1}let S;if(a!==(c||0)&&s&&n.emit("beforeSlideChangeStart"),n.updateProgress(w),S=a>p?"next":a0?(n._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{f[e?"scrollLeft":"scrollTop"]=s}))):f[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{n.wrapperEl.style.scrollSnapType="",n._immediateVirtual=!1}))}else{if(!n.support.smoothScroll)return u({swiper:n,targetPosition:s,side:e?"left":"top"}),!0;f.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return n.setTransition(t),n.setTranslate(w),n.updateActiveIndex(a),n.updateSlidesClasses(),n.emit("beforeTransitionStart",t,i),n.transitionStart(s,S),0===t?n.transitionEnd(s,S):n.animating||(n.animating=!0,n.onSlideToWrapperTransitionEnd||(n.onSlideToWrapperTransitionEnd=function(e){n&&!n.destroyed&&e.target===this&&(n.wrapperEl.removeEventListener("transitionend",n.onSlideToWrapperTransitionEnd),n.onSlideToWrapperTransitionEnd=null,delete n.onSlideToWrapperTransitionEnd,n.transitionEnd(s,S))}),n.wrapperEl.addEventListener("transitionend",n.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,i){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const r=this;if(r.destroyed)return;void 0===t&&(t=r.params.speed);const n=r.grid&&r.params.grid&&r.params.grid.rows>1;let a=e;if(r.params.loop)if(r.virtual&&r.params.virtual.enabled)a+=r.virtual.slidesBefore;else{let e;if(n){const t=a*r.params.grid.rows;e=r.slides.filter((e=>1*e.getAttribute("data-swiper-slide-index")===t))[0].column}else e=r.getSlideIndexByData(a);const t=n?Math.ceil(r.slides.length/r.params.grid.rows):r.slides.length,{centeredSlides:s}=r.params;let o=r.params.slidesPerView;"auto"===o?o=r.slidesPerViewDynamic():(o=Math.ceil(parseFloat(r.params.slidesPerView,10)),s&&o%2==0&&(o+=1));let l=t-e1*t.getAttribute("data-swiper-slide-index")===e))[0].column}else a=r.getSlideIndexByData(a)}return requestAnimationFrame((()=>{r.slideTo(a,t,s,i)})),r},slideNext:function(e,t,s){void 0===t&&(t=!0);const i=this,{enabled:r,params:n,animating:a}=i;if(!r||i.destroyed)return i;void 0===e&&(e=i.params.speed);let o=n.slidesPerGroup;"auto"===n.slidesPerView&&1===n.slidesPerGroup&&n.slidesPerGroupAuto&&(o=Math.max(i.slidesPerViewDynamic("current",!0),1));const l=i.activeIndex{i.slideTo(i.activeIndex+l,e,t,s)})),!0}return n.rewind&&i.isEnd?i.slideTo(0,e,t,s):i.slideTo(i.activeIndex+l,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const i=this,{params:r,snapGrid:n,slidesGrid:a,rtlTranslate:o,enabled:l,animating:d}=i;if(!l||i.destroyed)return i;void 0===e&&(e=i.params.speed);const c=i.virtual&&r.virtual.enabled;if(r.loop){if(d&&!c&&r.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(o?i.translate:-i.translate),h=n.map((e=>p(e)));let f=n[h.indexOf(u)-1];if(void 0===f&&r.cssMode){let e;n.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(f=n[e>0?e-1:e])}let m=0;if(void 0!==f&&(m=a.indexOf(f),m<0&&(m=i.activeIndex-1),"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(m=m-i.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),r.rewind&&i.isBeginning){const r=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(r,e,t,s)}return r.loop&&0===i.activeIndex&&r.cssMode?(requestAnimationFrame((()=>{i.slideTo(m,e,t,s)})),!0):i.slideTo(m,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const i=this;if(!i.destroyed)return void 0===e&&(e=i.params.speed),i.slideTo(i.activeIndex,e,t,s)},slideToClosest:function(e,t,s,i){void 0===t&&(t=!0),void 0===i&&(i=.5);const r=this;if(r.destroyed)return;void 0===e&&(e=r.params.speed);let n=r.activeIndex;const a=Math.min(r.params.slidesPerGroupSkip,n),o=a+Math.floor((n-a)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[o]){const e=r.snapGrid[o];l-e>(r.snapGrid[o+1]-e)*i&&(n+=r.params.slidesPerGroup)}else{const e=r.snapGrid[o-1];l-e<=(r.snapGrid[o]-e)*i&&(n-=r.params.slidesPerGroup)}return n=Math.max(n,0),n=Math.min(n,r.slidesGrid.length-1),r.slideTo(n,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,i="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let r,n=e.clickedIndex;const o=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;r=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?ne.slides.length-e.loopedSlides+i/2?(e.loopFix(),n=e.getSlideIndex(h(s,`${o}[data-swiper-slide-index="${r}"]`)[0]),a((()=>{e.slideTo(n)}))):e.slideTo(n):n>e.slides.length-i?(e.loopFix(),n=e.getSlideIndex(h(s,`${o}[data-swiper-slide-index="${r}"]`)[0]),a((()=>{e.slideTo(n)}))):e.slideTo(n)}else e.slideTo(n)}};var D={loopCreate:function(e){const t=this,{params:s,slidesEl:i}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;const r=()=>{h(i,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},n=t.grid&&s.grid&&s.grid.rows>1,a=s.slidesPerGroup*(n?s.grid.rows:1),o=t.slides.length%a!=0,l=n&&t.slides.length%s.grid.rows!=0,d=e=>{for(let i=0;i1;d.lengthe.classList.contains(h.slideActiveClass)))[0]):x=n;const y="next"===i||!i,E="prev"===i||!i;let M=0,C=0;const P=S?Math.ceil(d.length/h.grid.rows):d.length,I=(S?d[n].column:n)+(m&&void 0===r?-v/2+.5:0);if(I=0;t-=1)d[t].column===e&&T.push(t)}else T.push(P-t-1)}}else if(I+v>P-w){C=Math.max(I-(P-2*w),g);for(let e=0;e{e.column===t&&b.push(s)})):b.push(t)}}if(l.__preventObserver__=!0,requestAnimationFrame((()=>{l.__preventObserver__=!1})),E&&T.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1})),y&&b.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1})),l.recalcSlides(),"auto"===h.slidesPerView?l.updateSlides():S&&(T.length>0&&E||b.length>0&&y)&&l.slides.forEach(((e,t)=>{l.grid.updateSlide(t,e,l.slides)})),h.watchSlidesProgress&&l.updateSlidesOffset(),s)if(T.length>0&&E){if(void 0===t){const e=l.slidesGrid[x],t=l.slidesGrid[x+M]-e;o?l.setTranslate(l.translate-t):(l.slideTo(x+Math.ceil(M),0,!1,!0),r&&(l.touchEventsData.startTranslate=l.touchEventsData.startTranslate-t,l.touchEventsData.currentTranslate=l.touchEventsData.currentTranslate-t))}else if(r){const e=S?T.length/h.grid.rows:T.length;l.slideTo(l.activeIndex+e,0,!1,!0),l.touchEventsData.currentTranslate=l.translate}}else if(b.length>0&&y)if(void 0===t){const e=l.slidesGrid[x],t=l.slidesGrid[x-C]-e;o?l.setTranslate(l.translate-t):(l.slideTo(x-C,0,!1,!0),r&&(l.touchEventsData.startTranslate=l.touchEventsData.startTranslate-t,l.touchEventsData.currentTranslate=l.touchEventsData.currentTranslate-t))}else{const e=S?b.length/h.grid.rows:b.length;l.slideTo(l.activeIndex-e,0,!1,!0)}if(l.allowSlidePrev=c,l.allowSlideNext=p,l.controller&&l.controller.control&&!a){const e={slideRealIndex:t,direction:i,setTranslate:r,activeSlideIndex:n,byController:!0};Array.isArray(l.controller.control)?l.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===h.slidesPerView&&s})})):l.controller.control instanceof l.constructor&&l.controller.control.params.loop&&l.controller.control.loopFix({...e,slideTo:l.controller.control.params.slidesPerView===h.slidesPerView&&s})}l.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const i=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;i[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),i.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function _(e,t,s){const i=n(),{params:r}=e,a=r.edgeSwipeDetection,o=r.edgeSwipeThreshold;return!a||!(s<=o||s>=i.innerWidth-o)||"prevent"===a&&(t.preventDefault(),!0)}function V(e){const t=this,s=i();let r=e;r.originalEvent&&(r=r.originalEvent);const a=t.touchEventsData;if("pointerdown"===r.type){if(null!==a.pointerId&&a.pointerId!==r.pointerId)return;a.pointerId=r.pointerId}else"touchstart"===r.type&&1===r.targetTouches.length&&(a.touchId=r.targetTouches[0].identifier);if("touchstart"===r.type)return void _(t,r,r.targetTouches[0].pageX);const{params:l,touches:d,enabled:c}=t;if(!c)return;if(!l.simulateTouch&&"mouse"===r.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=r.target;if("wrapper"===l.touchEventsTarget&&!t.wrapperEl.contains(p))return;if("which"in r&&3===r.which)return;if("button"in r&&r.button>0)return;if(a.isTouched&&a.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,h=r.composedPath?r.composedPath():r.path;u&&r.target&&r.target.shadowRoot&&h&&(p=h[0]);const f=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,m=!(!r.target||!r.target.shadowRoot);if(l.noSwiping&&(m?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===i()||s===n())return null;s.assignedSlot&&(s=s.assignedSlot);const r=s.closest(e);return r||s.getRootNode?r||t(s.getRootNode().host):null}(t)}(f,p):p.closest(f)))return void(t.allowClick=!0);if(l.swipeHandler&&!p.closest(l.swipeHandler))return;d.currentX=r.pageX,d.currentY=r.pageY;const v=d.currentX,g=d.currentY;if(!_(t,r,v))return;Object.assign(a,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=v,d.startY=g,a.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(a.allowThresholdMove=!1);let w=!0;p.matches(a.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(a.isTouched=!1)),s.activeElement&&s.activeElement.matches(a.focusableElements)&&s.activeElement!==p&&s.activeElement.blur();const S=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!S||p.isContentEditable||r.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",r)}function N(e){const t=i(),s=this,r=s.touchEventsData,{params:n,touches:a,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!n.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==r.touchId)return;if(p.pointerId!==r.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].filter((e=>e.identifier===r.touchId))[0],!c||c.identifier!==r.touchId)return}else c=p;if(!r.isTouched)return void(r.startMoving&&r.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,h=c.pageY;if(p.preventedByNestedSwiper)return a.startX=u,void(a.startY=h);if(!s.allowTouchMove)return p.target.matches(r.focusableElements)||(s.allowClick=!1),void(r.isTouched&&(Object.assign(a,{startX:u,startY:h,currentX:u,currentY:h}),r.touchStartTime=o()));if(n.touchReleaseOnEdges&&!n.loop)if(s.isVertical()){if(ha.startY&&s.translate>=s.minTranslate())return r.isTouched=!1,void(r.isMoved=!1)}else if(ua.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&p.target===t.activeElement&&p.target.matches(r.focusableElements))return r.isMoved=!0,void(s.allowClick=!1);r.allowTouchCallbacks&&s.emit("touchMove",p),a.previousX=a.currentX,a.previousY=a.currentY,a.currentX=u,a.currentY=h;const f=a.currentX-a.startX,m=a.currentY-a.startY;if(s.params.threshold&&Math.sqrt(f**2+m**2)=25&&(e=180*Math.atan2(Math.abs(m),Math.abs(f))/Math.PI,r.isScrolling=s.isHorizontal()?e>n.touchAngle:90-e>n.touchAngle)}if(r.isScrolling&&s.emit("touchMoveOpposite",p),void 0===r.startMoving&&(a.currentX===a.startX&&a.currentY===a.startY||(r.startMoving=!0)),r.isScrolling||"touchmove"===p.type&&r.preventTouchMoveFromPointerMove)return void(r.isTouched=!1);if(!r.startMoving)return;s.allowClick=!1,!n.cssMode&&p.cancelable&&p.preventDefault(),n.touchMoveStopPropagation&&!n.nested&&p.stopPropagation();let v=s.isHorizontal()?f:m,g=s.isHorizontal()?a.currentX-a.previousX:a.currentY-a.previousY;n.oneWayMovement&&(v=Math.abs(v)*(l?1:-1),g=Math.abs(g)*(l?1:-1)),a.diff=v,v*=n.touchRatio,l&&(v=-v,g=-g);const w=s.touchesDirection;s.swipeDirection=v>0?"prev":"next",s.touchesDirection=g>0?"prev":"next";const S=s.params.loop&&!n.cssMode,T="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!r.isMoved){if(S&&T&&s.loopFix({direction:s.swipeDirection}),r.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}r.allowMomentumBounce=!1,!n.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),r.isMoved&&r.allowThresholdMove&&w!==s.touchesDirection&&S&&T&&Math.abs(v)>=1)return Object.assign(a,{startX:u,startY:h,currentX:u,currentY:h,startTranslate:r.currentTranslate}),r.loopSwapReset=!0,void(r.startTranslate=r.currentTranslate);s.emit("sliderMove",p),r.isMoved=!0,r.currentTranslate=v+r.startTranslate;let b=!0,x=n.resistanceRatio;if(n.touchReleaseOnEdges&&(x=0),v>0?(S&&T&&r.allowThresholdMove&&r.currentTranslate>(n.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),r.currentTranslate>s.minTranslate()&&(b=!1,n.resistance&&(r.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+r.startTranslate+v)**x))):v<0&&(S&&T&&r.allowThresholdMove&&r.currentTranslate<(n.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]:s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===n.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(n.slidesPerView,10)))}),r.currentTranslater.startTranslate&&(r.currentTranslate=r.startTranslate),s.allowSlidePrev||s.allowSlideNext||(r.currentTranslate=r.startTranslate),n.threshold>0){if(!(Math.abs(v)>n.threshold||r.allowThresholdMove))return void(r.currentTranslate=r.startTranslate);if(!r.allowThresholdMove)return r.allowThresholdMove=!0,a.startX=a.currentX,a.startY=a.currentY,r.currentTranslate=r.startTranslate,void(a.diff=s.isHorizontal()?a.currentX-a.startX:a.currentY-a.startY)}n.followFinger&&!n.cssMode&&((n.freeMode&&n.freeMode.enabled&&s.freeMode||n.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),n.freeMode&&n.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(r.currentTranslate),s.setTranslate(r.currentTranslate))}function F(e){const t=this,s=t.touchEventsData;let i,r=e;r.originalEvent&&(r=r.originalEvent);if("touchend"===r.type||"touchcancel"===r.type){if(i=[...r.changedTouches].filter((e=>e.identifier===s.touchId))[0],!i||i.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(r.pointerId!==s.pointerId)return;i=r}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(r.type)){if(!(["pointercancel","contextmenu"].includes(r.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:n,touches:l,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!n.simulateTouch&&"mouse"===r.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",r),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&n.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);n.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),h=u-s.touchStartTime;if(t.allowClick){const e=r.path||r.composedPath&&r.composedPath();t.updateClickedSlide(e&&e[0]||r.target,e),t.emit("tap click",r),h<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",r)}if(s.lastClickTime=o(),a((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===l.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let f;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,f=n.followFinger?d?t.translate:-t.translate:-s.currentTranslate,n.cssMode)return;if(n.freeMode&&n.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:f});const m=f>=-t.maxTranslate()&&!t.params.loop;let v=0,g=t.slidesSizesGrid[0];for(let e=0;e=c[e]&&f=c[e])&&(v=e,g=c[c.length-1]-c[c.length-2])}let w=null,S=null;n.rewind&&(t.isBeginning?S=n.virtual&&n.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const T=(f-c[v])/g,b=vn.longSwipesMs){if(!n.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(T>=n.longSwipesRatio?t.slideTo(n.rewind&&t.isEnd?w:v+b):t.slideTo(v)),"prev"===t.swipeDirection&&(T>1-n.longSwipesRatio?t.slideTo(v+b):null!==S&&T<0&&Math.abs(T)>n.longSwipesRatio?t.slideTo(S):t.slideTo(v))}else{if(!n.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(r.target===t.navigation.nextEl||r.target===t.navigation.prevEl)?r.target===t.navigation.nextEl?t.slideTo(v+b):t.slideTo(v):("next"===t.swipeDirection&&t.slideTo(null!==w?w:v+b),"prev"===t.swipeDirection&&t.slideTo(null!==S?S:v))}}function B(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:r,snapGrid:n}=e,a=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const o=a&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||o?e.params.loop&&!a?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=r,e.allowSlideNext=i,e.params.watchOverflow&&n!==e.snapGrid&&e.checkOverflow()}function $(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function H(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:i}=e;if(!i)return;let r;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const n=e.maxTranslate()-e.minTranslate();r=0===n?0:(e.translate-e.minTranslate())/n,r!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function R(e){const t=this;I(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function j(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const W=(e,t)=>{const s=i(),{params:r,el:n,wrapperEl:a,device:o}=e,l=!!r.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:l}),n[d]("touchstart",e.onTouchStart,{passive:!1}),n[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:l}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:l}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(r.preventClicks||r.preventClicksPropagation)&&n[d]("click",e.onClick,!0),r.cssMode&&a[d]("scroll",e.onScroll),r.updateOnWindowResize?e[c](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",B,!0):e[c]("observerUpdate",B,!0),n[d]("load",e.onLoad,{capture:!0})};const Y=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var q={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 X(e,t){return function(s){void 0===s&&(s={});const i=Object.keys(s)[0],r=s[i];"object"==typeof r&&null!==r?(!0===e[i]&&(e[i]={enabled:!0}),"navigation"===i&&e[i]&&e[i].enabled&&!e[i].prevEl&&!e[i].nextEl&&(e[i].auto=!0),["pagination","scrollbar"].indexOf(i)>=0&&e[i]&&e[i].enabled&&!e[i].el&&(e[i].auto=!0),i in e&&"enabled"in r?("object"!=typeof e[i]||"enabled"in e[i]||(e[i].enabled=!0),e[i]||(e[i]={enabled:!1}),c(t,s)):c(t,s)):c(t,s)}}const U={eventsEmitter:M,update:O,translate:A,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;i.cssMode||(i.autoHeight&&s.updateAutoHeight(),z({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;s.animating=!1,i.cssMode||(s.setTransition(0),z({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:G,loop:D,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=V.bind(e),e.onTouchMove=N.bind(e),e.onTouchEnd=F.bind(e),e.onDocumentTouchStart=j.bind(e),t.cssMode&&(e.onScroll=H.bind(e)),e.onClick=$.bind(e),e.onLoad=R.bind(e),W(e,"on")},detachEvents:function(){W(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:i,el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const a=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!a||e.currentBreakpoint===a)return;const o=(a in n?n[a]:void 0)||e.originalParams,l=Y(e,i),d=Y(e,o),p=e.params.grabCursor,u=o.grabCursor,h=i.enabled;l&&!d?(r.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!l&&d&&(r.classList.add(`${i.containerModifierClass}grid`),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===i.grid.fill)&&r.classList.add(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),p&&!u?e.unsetGrabCursor():!p&&u&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===o[t])return;const s=i[t]&&i[t].enabled,r=o[t]&&o[t].enabled;s&&!r&&e[t].disable(),!s&&r&&e[t].enable()}));const f=o.direction&&o.direction!==i.direction,m=i.loop&&(o.slidesPerView!==i.slidesPerView||f),v=i.loop;f&&s&&e.changeDirection(),c(e.params,o);const g=e.params.enabled,w=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),h&&!g?e.disable():!h&&g&&e.enable(),e.currentBreakpoint=a,e.emit("_beforeBreakpoint",o),s&&(m?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!v&&w?(e.loopCreate(t),e.updateSlides()):v&&!w&&e.loopDestroy()),e.emit("breakpoint",o)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let i=!1;const r=n(),a="window"===t?r.innerHeight:s.clientHeight,o=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:a*t,point:e}}return{value:e,point:e}}));o.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:i,el:r,device:n}=e,a=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((i=>{e[i]&&s.push(t+i)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.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&&"column"===s.grid.fill},{android:n.android},{ios:n.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...a),r.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}}},K={};class J{constructor(){let e,t;for(var s=arguments.length,r=new Array(s),n=0;n1){const e=[];return a.querySelectorAll(t.el).forEach((s=>{const i=c({},t,{el:s});e.push(new J(i))})),e}const o=this;o.__swiper__=!0,o.support=x(),o.device=y({userAgent:t.userAgent}),o.browser=E(),o.eventsListeners={},o.eventsAnyListeners=[],o.modules=[...o.__modules__],t.modules&&Array.isArray(t.modules)&&o.modules.push(...t.modules);const l={};o.modules.forEach((e=>{e({params:t,swiper:o,extendParams:X(t,l),on:o.on.bind(o),once:o.once.bind(o),off:o.off.bind(o),emit:o.emit.bind(o)})}));const d=c({},q,l);return o.params=c({},d,K,t),o.originalParams=c({},o.params),o.passedParams=c({},t),o.params&&o.params.on&&Object.keys(o.params.on).forEach((e=>{o.on(e,o.params.on[e])})),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:()=>"horizontal"===o.params.direction,isVertical:()=>"vertical"===o.params.direction,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:t,params:s}=this,i=g(h(t,`.${s.slideClass}, swiper-slide`)[0]);return g(e)-i}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=h(e,`.${t.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,t){const s=this;e=Math.min(Math.max(e,0),1);const i=s.minTranslate(),r=(s.maxTranslate()-i)*e+i;s.translateTo(r,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const i=e.getSlideClasses(s);t.push({slideEl:s,classNames:i}),e.emit("_slideClass",s,i)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:i,slidesGrid:r,slidesSizesGrid:n,size:a,activeIndex:o}=this;let l=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=i[o]?Math.ceil(i[o].swiperSlideSize):0;for(let s=o+1;sa&&(e=!0));for(let s=o-1;s>=0;s-=1)i[s]&&!e&&(t+=i[s].swiperSlideSize,l+=1,t>a&&(e=!0))}else if("current"===e)for(let e=o+1;e=0;e-=1){r[o]-r[e]{t.complete&&I(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)i(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;r=e.slideTo(t.length-1,0,!1,!0)}else r=e.slideTo(e.activeIndex,0,!1,!0);r||i()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,i=s.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${i}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(i())}return h(s,i())[0]})();return!r&&t.params.createElements&&(r=m("div",t.params.wrapperClass),s.append(r),h(s,`.${t.params.slideClass}`).forEach((e=>{r.append(e)}))),Object.assign(t,{el:s,wrapperEl:r,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:r,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===v(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===v(s,"direction")),wrongRTL:"-webkit-box"===v(r,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?I(t,e):e.addEventListener("load",(e=>{I(t,e.target)}))})),k(t),t.initialized=!0,k(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:i,el:r,wrapperEl:n,slides:a}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),i.loop&&s.loopDestroy(),t&&(s.removeClasses(),r.removeAttribute("style"),n.removeAttribute("style"),a&&a.length&&a.forEach((e=>{e.classList.remove(i.slideVisibleClass,i.slideFullyVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){c(K,e)}static get extendedDefaults(){return K}static get defaults(){return q}static installModule(e){J.prototype.__modules__||(J.prototype.__modules__=[]);const t=J.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>J.installModule(e))),J):(J.installModule(e),J)}}return Object.keys(U).forEach((e=>{Object.keys(U[e]).forEach((t=>{J.prototype[t]=U[e][t]}))})),J.use([function(e){let{swiper:t,on:s,emit:i}=e;const r=n();let a=null,o=null;const l=()=>{t&&!t.destroyed&&t.initialized&&(i("beforeResize"),i("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&i("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==r.ResizeObserver?t&&!t.destroyed&&t.initialized&&(a=new ResizeObserver((e=>{o=r.requestAnimationFrame((()=>{const{width:s,height:i}=t;let r=s,n=i;e.forEach((e=>{let{contentBoxSize:s,contentRect:i,target:a}=e;a&&a!==t.el||(r=i?i.width:(s[0]||s).inlineSize,n=i?i.height:(s[0]||s).blockSize)})),r===s&&n===i||l()}))})),a.observe(t.el)):(r.addEventListener("resize",l),r.addEventListener("orientationchange",d))})),s("destroy",(()=>{o&&r.cancelAnimationFrame(o),a&&a.unobserve&&t.el&&(a.unobserve(t.el),a=null),r.removeEventListener("resize",l),r.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const a=[],o=n(),l=function(e,s){void 0===s&&(s={});const i=new(o.MutationObserver||o.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void r("observerUpdate",e[0]);const s=function(){r("observerUpdate",e[0])};o.requestAnimationFrame?o.requestAnimationFrame(s):o.setTimeout(s,0)}));i.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),a.push(i)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),i("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=function(e,t){const s=[];let i=e.parentElement;for(;i;)t?i.matches(t)&&s.push(i):s.push(i),i=i.parentElement;return s}(t.hostEl);for(let t=0;t{a.forEach((e=>{e.disconnect()})),a.splice(0,a.length)}))}]),J}(); -//# sourceMappingURL=swiper.min.js.map \ No newline at end of file diff --git a/node_modules/swiper/swiper.min.js.map b/node_modules/swiper/swiper.min.js.map deleted file mode 100644 index 8c07a3a..0000000 --- a/node_modules/swiper/swiper.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper.js.js","names":["Swiper","isObject$1","obj","constructor","Object","extend$1","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","nextTick","delay","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","getComputedStyle$1","WebKitCSSMatrix","transform","webkitTransform","split","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","parseFloat","m42","isObject","o","prototype","call","slice","extend","to","arguments","undefined","noExtend","i","nextSource","node","HTMLElement","nodeType","keysArray","filter","indexOf","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","elementChildren","element","selector","matches","showWarning","text","console","warn","err","tag","classes","classList","add","Array","isArray","trim","c","classesToTokens","elementStyle","prop","elementIndex","child","previousSibling","elementOuterSize","size","includeMargins","offsetWidth","support","deviceCached","browser","getSupport","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","toLowerCase","String","includes","major","minor","num","Number","isWebView","test","isSafariBrowser","need3dFix","calcBrowser","eventsEmitter","on","events","handler","priority","self","eventsListeners","destroyed","method","event","once","onceHandler","off","__emitterProxy","_len","args","_key","apply","onAny","eventsAnyListeners","offAny","index","splice","eventHandler","emit","data","context","_len2","_key2","unshift","toggleSlideClasses$1","slideEl","condition","className","contains","remove","toggleSlideClasses","processLazyPreloader","imageEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","shadowRoot","unlazy","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","push","from","_","column","slideIndexLastInView","rewind","loop","realIndex","update","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","assign","updateSlides","getDirectionPropertyValue","label","getDirectionLabel","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","slideVisibleClass","slideFullyVisibleClass","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","prevSlide","nextSlide","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","getAttribute","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","e","transitionEmit","direction","step","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","t","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slideBlankClass","append","loopAddBlankSlides","recalcSlides","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","originalEvent","type","pointerId","targetTouches","touchId","identifier","pageX","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","touchAngle","atan2","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","scrollLeft","scrollTop","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","swiperElementNodeName","resizeObserver","createElements","eventsPrefix","url","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","bind","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","value","sort","b","wasLocked","lastSlideRightEdge","addClasses","classNames","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","centered","removeClasses","extendedDefaults","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","module","m","prototypeGroup","protoMethod","observer","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","parents","parent","parentElement","elementParents","disconnect"],"sources":["0"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/swiper/swiper.min.mjs b/node_modules/swiper/swiper.min.mjs deleted file mode 100644 index 981ab53..0000000 --- a/node_modules/swiper/swiper.min.mjs +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -export{S as Swiper,S as default}from"./shared/swiper-core.min.mjs"; -//# sourceMappingURL=swiper.min.mjs.map \ No newline at end of file diff --git a/node_modules/swiper/swiper.min.mjs.map b/node_modules/swiper/swiper.min.mjs.map deleted file mode 100644 index 6938270..0000000 --- a/node_modules/swiper/swiper.min.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"swiper.mjs.mjs","names":["S"],"sources":["0"],"mappings":";;;;;;;;;;;;OAYSA,YAAaA,iBAAoB"} \ No newline at end of file diff --git a/node_modules/swiper/swiper.mjs b/node_modules/swiper/swiper.mjs deleted file mode 100644 index 4adb8f1..0000000 --- a/node_modules/swiper/swiper.mjs +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -export { S as Swiper, S as default } from './shared/swiper-core.mjs'; diff --git a/node_modules/swiper/swiper.scss b/node_modules/swiper/swiper.scss deleted file mode 100644 index 8168c1e..0000000 --- a/node_modules/swiper/swiper.scss +++ /dev/null @@ -1,252 +0,0 @@ -/** - * Swiper 11.1.3 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2024 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: May 13, 2024 - */ - -@import 'swiper-vars.scss'; -@at-root { - @font-face { - font-family: 'swiper-icons'; - src: url('data:application/font-woff;charset=utf-8;base64, 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') - format('woff'); - font-weight: 400; - font-style: normal; - } -} -@at-root { - :root { - --swiper-theme-color: #{$themeColor}; - /* - --swiper-preloader-color: var(--swiper-theme-color); - --swiper-wrapper-transition-timing-function: initial; - */ - } -} -:host { - position: relative; - display: block; - margin-left: auto; - margin-right: auto; - z-index: 1; -} -.swiper { - margin-left: auto; - margin-right: auto; - position: relative; - overflow: hidden; - list-style: none; - padding: 0; - /* Fix of Webkit flickering */ - z-index: 1; - display: block; -} -.swiper-vertical > .swiper-wrapper { - flex-direction: column; -} -.swiper-wrapper { - position: relative; - width: 100%; - height: 100%; - z-index: 1; - display: flex; - transition-property: transform; - transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial); - box-sizing: content-box; -} -.swiper-android .swiper-slide, -.swiper-ios .swiper-slide, -.swiper-wrapper { - transform: translate3d(0px, 0, 0); -} -.swiper-horizontal { - touch-action: pan-y; -} -.swiper-vertical { - touch-action: pan-x; -} -.swiper-slide { - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; - transition-property: transform; - display: block; -} -.swiper-slide-invisible-blank { - visibility: hidden; -} -/* Auto Height */ -.swiper-autoheight, -.swiper-autoheight .swiper-slide { - height: auto; -} -.swiper-autoheight .swiper-wrapper { - align-items: flex-start; - transition-property: transform, height; -} -.swiper-backface-hidden .swiper-slide { - transform: translateZ(0); - backface-visibility: hidden; -} -/* 3D Effects */ -.swiper-3d.swiper-css-mode .swiper-wrapper { - perspective: 1200px; -} -.swiper-3d .swiper-wrapper { - transform-style: preserve-3d; -} -.swiper-3d { - perspective: 1200px; - .swiper-slide, - .swiper-cube-shadow { - transform-style: preserve-3d; - } -} - -/* CSS Mode */ -.swiper-css-mode { - > .swiper-wrapper { - overflow: auto; - scrollbar-width: none; /* For Firefox */ - -ms-overflow-style: none; /* For Internet Explorer and Edge */ - &::-webkit-scrollbar { - display: none; - } - } - > .swiper-wrapper > .swiper-slide { - scroll-snap-align: start start; - } - &.swiper-horizontal { - > .swiper-wrapper { - scroll-snap-type: x mandatory; - } - } - &.swiper-vertical { - > .swiper-wrapper { - scroll-snap-type: y mandatory; - } - } - &.swiper-free-mode { - > .swiper-wrapper { - scroll-snap-type: none; - } - > .swiper-wrapper > .swiper-slide { - scroll-snap-align: none; - } - } - &.swiper-centered { - > .swiper-wrapper::before { - content: ''; - flex-shrink: 0; - order: 9999; - } - > .swiper-wrapper > .swiper-slide { - scroll-snap-align: center center; - scroll-snap-stop: always; - } - } - &.swiper-centered.swiper-horizontal { - > .swiper-wrapper > .swiper-slide:first-child { - margin-inline-start: var(--swiper-centered-offset-before); - } - > .swiper-wrapper::before { - height: 100%; - min-height: 1px; - width: var(--swiper-centered-offset-after); - } - } - &.swiper-centered.swiper-vertical { - > .swiper-wrapper > .swiper-slide:first-child { - margin-block-start: var(--swiper-centered-offset-before); - } - > .swiper-wrapper::before { - width: 100%; - min-width: 1px; - height: var(--swiper-centered-offset-after); - } - } -} - -/* Slide styles start */ -/* 3D Shadows */ -.swiper-3d { - .swiper-slide-shadow, - .swiper-slide-shadow-left, - .swiper-slide-shadow-right, - .swiper-slide-shadow-top, - .swiper-slide-shadow-bottom, - .swiper-slide-shadow, - .swiper-slide-shadow-left, - .swiper-slide-shadow-right, - .swiper-slide-shadow-top, - .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; - } - .swiper-slide-shadow { - background: rgba(0, 0, 0, 0.15); - } - .swiper-slide-shadow-left { - background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - } - .swiper-slide-shadow-right { - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - } - .swiper-slide-shadow-top { - background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - } - .swiper-slide-shadow-bottom { - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - } -} -.swiper-lazy-preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; - transform-origin: 50%; - box-sizing: border-box; - border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color)); - border-radius: 50%; - border-top-color: transparent; -} -.swiper:not(.swiper-watch-progress), -.swiper-watch-progress .swiper-slide-visible { - .swiper-lazy-preloader { - animation: swiper-preloader-spin 1s infinite linear; - } -} -.swiper-lazy-preloader-white { - --swiper-preloader-color: #fff; -} -.swiper-lazy-preloader-black { - --swiper-preloader-color: #000; -} -@keyframes swiper-preloader-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -/* Slide styles end */ - - - diff --git a/node_modules/swiper/types/index.d.ts b/node_modules/swiper/types/index.d.ts deleted file mode 100644 index e6e0dc4..0000000 --- a/node_modules/swiper/types/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -// @ts-nocheck -export * from './shared.d.ts'; -export { default as Swiper } from './swiper-class.d.ts'; -export * from './swiper-events.d.ts'; -export * from './swiper-options.d.ts'; -export * from './modules/public-api.d.ts'; diff --git a/node_modules/swiper/types/modules/a11y.d.ts b/node_modules/swiper/types/modules/a11y.d.ts deleted file mode 100644 index 134f158..0000000 --- a/node_modules/swiper/types/modules/a11y.d.ts +++ /dev/null @@ -1,96 +0,0 @@ -export interface A11yMethods {} - -export interface A11yEvents {} - -export interface A11yOptions { - /** - * Enables A11y - * - * @default true - */ - enabled?: boolean; - - /** - * Message for screen readers for previous button - * - * @default 'Previous slide' - */ - prevSlideMessage?: string; - - /** - * Message for screen readers for next button - * - * @default 'Next slide' - */ - nextSlideMessage?: string; - - /** - * Message for screen readers for previous button when swiper is on first slide - * - * @default 'This is the first slide' - */ - firstSlideMessage?: string; - - /** - * Message for screen readers for next button when swiper is on last slide - * - * @default 'This is the last slide' - */ - lastSlideMessage?: string; - - /** - * Message for screen readers for single pagination bullet - * - * @default 'Go to slide {{index}}' - */ - paginationBulletMessage?: string; - - /** - * CSS class name of A11y notification - * - * @default 'swiper-notification' - */ - notificationClass?: string; - - /** - * Message for screen readers for outer swiper container - * - * @default null - */ - containerMessage?: string | null; - - /** - * Message for screen readers describing the role of outer swiper container - * - * @default null - */ - containerRoleDescriptionMessage?: string | null; - - /** - * Message for screen readers describing the role of slide element - * - * @default null - */ - itemRoleDescriptionMessage?: string | null; - - /** - * Message for screen readers describing the label of slide element - * - * @default '{{index}} / {{slidesLength}}' - */ - slideLabelMessage?: string; - - /** - * Value of swiper slide `role` attribute - * - * @default 'group' - */ - slideRole?: string; - - /** - * Value of `id` attribute to be set on swiper-wrapper. If `null` will be generated automatically - * - * @default null - */ - id?: string | number | null; -} diff --git a/node_modules/swiper/types/modules/autoplay.d.ts b/node_modules/swiper/types/modules/autoplay.d.ts deleted file mode 100644 index 4c87488..0000000 --- a/node_modules/swiper/types/modules/autoplay.d.ts +++ /dev/null @@ -1,133 +0,0 @@ -import type Swiper from '../swiper-class.d.ts'; - -export interface AutoplayMethods { - /** - * Whether autoplay enabled and running - */ - running: boolean; - - /** - * Whether autoplay is paused - */ - paused: boolean; - - /** - * If autoplay is paused, it contains time left (in ms) before transition to next slide - */ - timeLeft: number; - - /** - * Pause autoplay - */ - pause(): void; - - /** - * Resume autoplay - */ - resume(): void; - - /** - * Start autoplay - */ - start(): boolean; - - /** - * Stop autoplay - */ - stop(): boolean; -} - -export interface AutoplayEvents { - /** - * Event will be fired in when autoplay started - */ - autoplayStart: (swiper: Swiper) => void; - /** - * Event will be fired when autoplay stopped - */ - autoplayStop: (swiper: Swiper) => void; - /** - * Event will be fired on autoplay pause - */ - autoplayPause: (swiper: Swiper) => void; - /** - * Event will be fired on autoplay resume - */ - autoplayResume: (swiper: Swiper) => void; - /** - * Event triggers continuously while autoplay is enabled. It contains time left (in ms) before transition to next slide and percentage of that time related to autoplay delay - */ - autoplayTimeLeft: (swiper: Swiper, timeLeft: number, percentage: number) => void; - /** - * Event will be fired when slide changed with autoplay - */ - autoplay: (swiper: Swiper) => void; -} - -/** - * Object with autoplay parameters or boolean `true` to enable with default settings. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * autoplay: { - * delay: 5000, - * }, - * }); - * ``` - */ -export interface AutoplayOptions { - /** - * Delay between transitions (in ms). If this parameter is not specified, auto play will be disabled - * - * If you need to specify different delay for specific slides you can do it by using - * `data-swiper-autoplay` (in ms) attribute on slide. - * - * @example - * ```html - * - *
- * ``` - * - * @default 3000 - */ - delay?: number; - - /** - * Enable this parameter and autoplay will be stopped when it reaches last slide (has no effect in loop mode) - * - * @default false - */ - stopOnLastSlide?: boolean; - - /** - * Set to `false` and autoplay will not be disabled after user interactions (swipes), - * it will be restarted every time after interaction - * - * @default true - */ - disableOnInteraction?: boolean; - - /** - * Enables autoplay in reverse direction - * - * @default false - */ - reverseDirection?: boolean; - - /** - * When enabled autoplay will wait for wrapper transition to continue. - * Can be disabled in case of using Virtual Translate when your - * slider may not have transition - * - * @default true - */ - waitForTransition?: boolean; - - /** - * When enabled autoplay will be paused on pointer (mouse) enter over Swiper container. - * - * @default false - */ - pauseOnMouseEnter?: boolean; -} diff --git a/node_modules/swiper/types/modules/controller.d.ts b/node_modules/swiper/types/modules/controller.d.ts deleted file mode 100644 index cf61aef..0000000 --- a/node_modules/swiper/types/modules/controller.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import type Swiper from '../swiper-class.d.ts'; - -export interface ControllerMethods { - /** - * Pass here another Swiper instance or array with Swiper instances that should be controlled - * by this Swiper - */ - control?: Swiper | Swiper[]; -} - -export interface ControllerEvents {} - -export interface ControllerOptions { - /** - * Pass here another Swiper instance or array with Swiper instances that should be controlled - * by this Swiper. Also accepts string with CSS selector of Swiper element, or HTMLElement of Swiper element - */ - control?: Swiper | Swiper[] | string | HTMLElement | null; - - /** - * Set to `true` and controlling will be in inverse direction - * - * @default false - */ - inverse?: boolean; - - /** - * Defines a way how to control another slider: slide by slide - * (with respect to other slider's grid) or depending on all slides/container - * (depending on total slider percentage). - * - * @default 'slide' - */ - by?: 'slide' | 'container'; -} diff --git a/node_modules/swiper/types/modules/effect-cards.d.ts b/node_modules/swiper/types/modules/effect-cards.d.ts deleted file mode 100644 index 9f688a4..0000000 --- a/node_modules/swiper/types/modules/effect-cards.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -export interface CardsEffectMethods {} - -export interface CardsEffectEvents {} - -export interface CardsEffectOptions { - /** - * Enables slides shadows - * - * @default true - */ - slideShadows?: boolean; - - /** - * Enables cards rotation - * - * @default true - */ - rotate?: boolean; - - /** - * Rotate angle per slide (in degrees) - * - * @default 2 - */ - perSlideRotate?: number; - - /** - * Offset distance per slide (in px) - * - * @default 8 - */ - perSlideOffset?: number; -} diff --git a/node_modules/swiper/types/modules/effect-coverflow.d.ts b/node_modules/swiper/types/modules/effect-coverflow.d.ts deleted file mode 100644 index 847201f..0000000 --- a/node_modules/swiper/types/modules/effect-coverflow.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -export interface CoverflowEffectMethods {} - -export interface CoverflowEffectEvents {} - -export interface CoverflowEffectOptions { - /** - * Enables slides shadows - * - * @default true - */ - slideShadows?: boolean; - /** - * Slide rotate in degrees - * - * @default 50 - */ - rotate?: number; - /** - * Stretch space between slides (in px) - * - * @default 0 - */ - stretch?: number; - /** - * Depth offset in px (slides translate in Z axis) - * - * @default 100 - */ - depth?: number; - /** - * Slide scale effect - * - * @default 1 - */ - scale?: number; - /** - * Effect multiplier - * - * @default 1 - */ - modifier?: number; -} diff --git a/node_modules/swiper/types/modules/effect-creative.d.ts b/node_modules/swiper/types/modules/effect-creative.d.ts deleted file mode 100644 index eba8987..0000000 --- a/node_modules/swiper/types/modules/effect-creative.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -interface CreativeEffectTransform { - translate?: (string | number)[]; - rotate?: number[]; - opacity?: number; - scale?: number; - shadow?: boolean; - origin?: string; -} - -export interface CreativeEffectMethods {} - -export interface CreativeEffectEvents {} - -export interface CreativeEffectOptions { - /** - * Previous slide transformations. Accepts object of the following type: - * - * @example - * ```js - * { - * // Array with translate X, Y and Z values - * translate: (string | number)[]; - * // Array with rotate X, Y and Z values (in deg) - * rotate?: number[]; - * // Slide opacity - * opacity?: number; - * // Slide scale - * scale?: number; - * // Enables slide shadow - * shadow?: boolean; - * // Transform origin, e.g. `left bottom` - * origin?: string; - * } - * ``` - * - */ - prev?: CreativeEffectTransform; - /** - * Next slide transformations. - * - * @example - * ```js - * { - * // Array with translate X, Y and Z values - * translate: (string | number)[]; - * // Array with rotate X, Y and Z values (in deg) - * rotate?: number[]; - * // Slide opacity - * opacity?: number; - * // Slide scale - * scale?: number; - * // Enables slide shadow - * shadow?: boolean; - * // Transform origin, e.g. `left bottom` - * origin?: string; - * } - * ``` - * - */ - next?: CreativeEffectTransform; - - /** - * Limit progress/offset to amount of side slides. If `1`, then slides all slides after prev/next will have same state. If `2`, then all slides after 2nd before/after active will have same state, etc. - * - * @default 1 - */ - limitProgress?: number; - /** - * Splits shadow "opacity" per slide based on `limitProgress` (only if transformation shadows enabled). E.g. setting `limitProgress: 2` and enabling `shadowPerProgress`, will set shadow opacity to `0.5` and `1` on two slides next to active. With this parameter disabled, all slides beside active will have shadow with `1` opacity - * - * @default false - */ - shadowPerProgress?: boolean; - /** - * Allows to multiply slides transformations and opacity. - * - * @default 1 - */ - progressMultiplier?: number; - /** - * Enable this parameter if your custom transforms require 3D transformations (`translateZ`, `rotateX`, `rotateY` ) - * - * @default true - */ - perspective?: boolean; -} diff --git a/node_modules/swiper/types/modules/effect-cube.d.ts b/node_modules/swiper/types/modules/effect-cube.d.ts deleted file mode 100644 index c59535c..0000000 --- a/node_modules/swiper/types/modules/effect-cube.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -export interface CubeEffectMethods {} - -export interface CubeEffectEvents {} - -export interface CubeEffectOptions { - /** - * Enables slides shadows - * - * @default true - */ - slideShadows?: boolean; - /** - * Enables main slider shadow - * - * @default true - */ - shadow?: boolean; - /** - * Main shadow offset in px - * - * @default 20 - */ - shadowOffset?: number; - /** - * Main shadow scale ratio - * - * @default 0.94 - */ - shadowScale?: number; -} diff --git a/node_modules/swiper/types/modules/effect-fade.d.ts b/node_modules/swiper/types/modules/effect-fade.d.ts deleted file mode 100644 index 1d3123c..0000000 --- a/node_modules/swiper/types/modules/effect-fade.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export interface FadeEffectMethods {} - -export interface FadeEffectEvents {} - -export interface FadeEffectOptions { - /** - * Enables slides cross fade - * - * @default false - */ - crossFade?: boolean; -} diff --git a/node_modules/swiper/types/modules/effect-flip.d.ts b/node_modules/swiper/types/modules/effect-flip.d.ts deleted file mode 100644 index aa672c3..0000000 --- a/node_modules/swiper/types/modules/effect-flip.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -export interface FlipEffectMethods {} - -export interface FlipEffectEvents {} - -export interface FlipEffectOptions { - /** - * Enables slides shadows - * - * @default true - */ - slideShadows?: boolean; - /** - * Limit edge slides rotation - * - * @default true - */ - limitRotation?: boolean; -} diff --git a/node_modules/swiper/types/modules/free-mode.d.ts b/node_modules/swiper/types/modules/free-mode.d.ts deleted file mode 100644 index 9488642..0000000 --- a/node_modules/swiper/types/modules/free-mode.d.ts +++ /dev/null @@ -1,64 +0,0 @@ -export interface FreeModeMethods { - onTouchMove(): void; - onTouchEnd(): void; -} - -export interface FreeModeEvents {} - -export interface FreeModeOptions { - /** - * Whether the free mode is enabled - * - * @default false - */ - enabled?: boolean; - - /** - * If enabled, then slide will keep moving for a while after you release it - * - * @default true - */ - momentum?: boolean; - - /** - * Higher value produces larger momentum distance after you release slider - * - * @default 1 - */ - momentumRatio?: number; - - /** - * Higher value produces larger momentum velocity after you release slider - * - * @default 1 - */ - momentumVelocityRatio?: number; - - /** - * Set to `false` if you want to disable momentum bounce in free mode - * - * @default true - */ - momentumBounce?: boolean; - - /** - * Higher value produces larger momentum bounce effect - * - * @default 1 - */ - momentumBounceRatio?: number; - - /** - * Minimum touchmove-velocity required to trigger free mode momentum - * - * @default 0.02 - */ - minimumVelocity?: number; - - /** - * Set to enabled to enable snap to slides positions in free mode - * - * @default false - */ - sticky?: boolean; -} diff --git a/node_modules/swiper/types/modules/grid.d.ts b/node_modules/swiper/types/modules/grid.d.ts deleted file mode 100644 index 070b14a..0000000 --- a/node_modules/swiper/types/modules/grid.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -export interface GridMethods {} - -export interface GridEvents {} - -export interface GridOptions { - /** - * Number of slides rows, for multirow layout - * - * @default 1 - */ - rows?: number; - - /** - * Can be `'column'` or `'row'`. Defines how slides should fill rows, by column or by row - * - * @note if used with loop mode make sure number of slides is even specified in loop mode requirements, or enable `loopAddBlankSlides` parameter - * - * @default 'column' - */ - fill?: 'row' | 'column'; -} diff --git a/node_modules/swiper/types/modules/hash-navigation.d.ts b/node_modules/swiper/types/modules/hash-navigation.d.ts deleted file mode 100644 index 8b6edfe..0000000 --- a/node_modules/swiper/types/modules/hash-navigation.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import type Swiper from '../swiper-class.d.ts'; - -export interface HashNavigationMethods {} - -export interface HashNavigationEvents { - /** - * Event will be fired on window hash change - */ - hashChange: (swiper: Swiper) => void; - /** - * Event will be fired when swiper updates the hash - */ - hashSet: (swiper: Swiper) => void; -} - -export interface HashNavigationOptions { - /** - * Set to `true` to enable also navigation through slides (when hashnav - * is enabled) by browser history or by setting directly hash on document location - * - * @default false - */ - watchState?: boolean; - - /** - * Works in addition to hashnav to replace current url state with the - * new one instead of adding it to history - * - * @default false - */ - replaceState?: boolean; - - /** - * Designed to be used with Virtual slides when it is impossible to find slide in DOM by hash (e.g. not yet rendered) - * - */ - getSlideIndex?: (swiper: Swiper, hash: string) => number; -} diff --git a/node_modules/swiper/types/modules/history.d.ts b/node_modules/swiper/types/modules/history.d.ts deleted file mode 100644 index a3cea81..0000000 --- a/node_modules/swiper/types/modules/history.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -export interface HistoryMethods {} - -export interface HistoryEvents {} - -export interface HistoryOptions { - /** - * Enables History Plugin. - * - * @default false - */ - enabled?: boolean; - - /** - * Swiper page root, useful to specify when you use Swiper history mode not on root website page. - * For example can be `https://my-website.com/` or `https://my-website.com/subpage/` or `/subpage/` - * - * - * @default '' - */ - root?: string; - - /** - * Works in addition to hashnav or history to replace current url state with the - * new one instead of adding it to history - * - * @default false - */ - replaceState?: boolean; - - /** - * Url key for slides - * - * @default 'slides' - */ - key?: string; - - /** - * Keep query parameters when changing browser url. - * - * @default false - */ - keepQuery?: boolean; -} diff --git a/node_modules/swiper/types/modules/index.d.ts b/node_modules/swiper/types/modules/index.d.ts deleted file mode 100644 index d0a1b9b..0000000 --- a/node_modules/swiper/types/modules/index.d.ts +++ /dev/null @@ -1,53 +0,0 @@ -import type { SwiperModule } from '../shared.d.ts'; - -declare const A11y: SwiperModule; -declare const Autoplay: SwiperModule; -declare const Controller: SwiperModule; -declare const EffectCoverflow: SwiperModule; -declare const EffectCube: SwiperModule; -declare const EffectFade: SwiperModule; -declare const EffectFlip: SwiperModule; -declare const EffectCreative: SwiperModule; -declare const EffectCards: SwiperModule; -declare const HashNavigation: SwiperModule; -declare const History: SwiperModule; -declare const Keyboard: SwiperModule; -declare const Lazy: SwiperModule; -declare const Mousewheel: SwiperModule; -declare const Navigation: SwiperModule; -declare const Pagination: SwiperModule; -declare const Parallax: SwiperModule; -declare const Scrollbar: SwiperModule; -declare const Thumbs: SwiperModule; -declare const Virtual: SwiperModule; -declare const Zoom: SwiperModule; -declare const FreeMode: SwiperModule; -declare const Grid: SwiperModule; -declare const Manipulation: SwiperModule; - -export { - A11y, - Autoplay, - Controller, - EffectCoverflow, - EffectCube, - EffectFade, - EffectFlip, - EffectCreative, - EffectCards, - HashNavigation, - History, - Keyboard, - Lazy, - Mousewheel, - Navigation, - Pagination, - Parallax, - Scrollbar, - Thumbs, - Virtual, - Zoom, - FreeMode, - Grid, - Manipulation, -}; diff --git a/node_modules/swiper/types/modules/keyboard.d.ts b/node_modules/swiper/types/modules/keyboard.d.ts deleted file mode 100644 index d38dd8d..0000000 --- a/node_modules/swiper/types/modules/keyboard.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -import type Swiper from '../swiper-class.d.ts'; - -export interface KeyboardMethods { - /** - * Whether the keyboard control is enabled - */ - enabled: boolean; - - /** - * Enable keyboard control - */ - enable(): void; - - /** - * Disable keyboard control - */ - disable(): void; -} - -export interface KeyboardEvents { - /** - * Event will be fired on key press - */ - keyPress: (swiper: Swiper, keyCode: string) => void; -} - -export interface KeyboardOptions { - /** - * Set to `true` to enable keyboard control - * - * @default false - */ - enabled?: boolean; - /** - * When enabled it will control sliders that are currently in viewport - * - * @default true - */ - onlyInViewport?: boolean; - /** - * When enabled it will enable keyboard navigation by Page Up and Page Down keys - * - * @default true - */ - pageUpDown?: boolean; -} diff --git a/node_modules/swiper/types/modules/manipulation.d.ts b/node_modules/swiper/types/modules/manipulation.d.ts deleted file mode 100644 index 3366eaf..0000000 --- a/node_modules/swiper/types/modules/manipulation.d.ts +++ /dev/null @@ -1,70 +0,0 @@ -export interface ManipulationMethods { - /** - * Add new slides to the end. slides could be - * HTMLElement or HTML string with new slide or - * array with such slides, for example: - * - * @example - * ```js - * appendSlide('
Slide 10"
') - * - * appendSlide([ - * '
Slide 10"
', - * '
Slide 11"
' - * ]); - * ``` - */ - appendSlide(slides: HTMLElement | string | string[] | HTMLElement[]): void; - - /** - * Add new slides to the beginning. slides could be - * HTMLElement or HTML string with new slide or array with such slides, for example: - * - * @example - * ```js - * prependSlide('
Slide 0"
') - * - * prependSlide([ - * '
Slide 1"
', - * '
Slide 2"
' - * ]); - * ``` - */ - prependSlide(slides: HTMLElement | string | string[] | HTMLElement[]): void; - - /** - * Add new slides to the required index. slides could be HTMLElement or HTML string with new slide or array with such slides, for example: - * - * @example - * ```js - * addSlide(1, '
Slide 10"
') - * - * addSlide(1, [ - * '
Slide 10"
', - * '
Slide 11"
' - * ]); - * ``` - */ - addSlide(index: number, slides: HTMLElement | string | string[] | HTMLElement[]): void; - - /** - * Remove selected slides. slideIndex could be a number with slide index to remove or array with indexes. - * - * @example - * ```js - * removeSlide(0); // remove first slide - * removeSlide([0, 1]); // remove first and second slides - * removeAllSlides(); // Remove all slides - * ``` - */ - removeSlide(slideIndex: number | number[]): void; - - /** - * Remove all slides - */ - removeAllSlides(): void; -} - -export interface ManipulationEvents {} - -export interface ManipulationOptions {} diff --git a/node_modules/swiper/types/modules/mousewheel.d.ts b/node_modules/swiper/types/modules/mousewheel.d.ts deleted file mode 100644 index 4f2bb8f..0000000 --- a/node_modules/swiper/types/modules/mousewheel.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -import type Swiper from '../swiper-class.d.ts'; -import type { CSSSelector } from '../shared.d.ts'; - -export interface MousewheelMethods { - /** - * Whether the mousewheel control is enabled - */ - enabled: boolean; - - /** - * Enable mousewheel control - */ - enable(): void; - - /** - * Disable mousewheel control - */ - disable(): void; -} - -export interface MousewheelEvents { - /** - * Event will be fired on mousewheel scroll - */ - scroll: (swiper: Swiper, event: WheelEvent) => void; -} - -export interface MousewheelOptions { - /** - * Set to `true` to enable mousewheel control - * - * @default false - */ - enabled?: boolean; - /** - * Set to `true` to force mousewheel swipes to axis. So in horizontal mode mousewheel will work only with horizontal mousewheel scrolling, and only with vertical scrolling in vertical mode. - * - * @default false - */ - forceToAxis?: boolean; - /** - * Set to `true` and swiper will release mousewheel event and allow page scrolling when swiper is on edge positions (in the beginning or in the end) - * - * @default false - */ - releaseOnEdges?: boolean; - /** - * Set to `true` to invert sliding direction - * - * @default false - */ - invert?: boolean; - /** - * Multiplier of mousewheel data, allows to tweak mouse wheel sensitivity - * - * @default 1 - */ - sensitivity?: number; - /** - * String with CSS selector or HTML element of the container accepting mousewheel events. By default it is swiper - * - * @default 'container' - */ - eventsTarget?: 'container' | 'wrapper' | CSSSelector | HTMLElement; - - /** - * Minimum mousewheel scroll delta to trigger swiper slide change - * - * @default null - */ - thresholdDelta?: number | null; - - /** - * Minimum mousewheel scroll time delta (in ms) to trigger swiper slide change - * - * @default null - */ - thresholdTime?: number | null; - - /** - * Scrolling on elements with this class will be ignored - * - * @default 'swiper-no-mousewheel' - */ - noMousewheelClass?: string; -} diff --git a/node_modules/swiper/types/modules/navigation.d.ts b/node_modules/swiper/types/modules/navigation.d.ts deleted file mode 100644 index 3d5c6e6..0000000 --- a/node_modules/swiper/types/modules/navigation.d.ts +++ /dev/null @@ -1,105 +0,0 @@ -import type { CSSSelector } from '../shared.d.ts'; -import type Swiper from '../swiper-class.d.ts'; - -export interface NavigationMethods { - /** - * HTMLElement of "next" navigation button - */ - nextEl: HTMLElement; - - /** - * HTMLElement of "previous" navigation button - */ - prevEl: HTMLElement; - - /** - * Update navigation buttons state (enabled/disabled) - */ - update(): void; - - /** - * Initialize navigation - */ - init(): void; - - /** - * Destroy navigation - */ - destroy(): void; -} - -export interface NavigationEvents { - /** - * Event will be fired on navigation hide - */ - navigationHide: (swiper: Swiper) => void; - /** - * Event will be fired on navigation show - */ - navigationShow: (swiper: Swiper) => void; - /** - * Event will be fired on navigation prev button click - */ - navigationPrev: (swiper: Swiper) => void; - /** - * Event will be fired on navigation next button click - */ - navigationNext: (swiper: Swiper) => void; -} - -export interface NavigationOptions { - /** - * Boolean property to use with breakpoints to enable/disable navigation on certain breakpoints - */ - enabled?: boolean; - /** - * String with CSS selector or HTML element of the element that will work - * like "next" button after click on it - * - * @default null - */ - nextEl?: CSSSelector | HTMLElement | null; - - /** - * String with CSS selector or HTML element of the element that will work - * like "prev" button after click on it - * - * @default null - */ - prevEl?: CSSSelector | HTMLElement | null; - - /** - * Toggle navigation buttons visibility after click on Slider's container - * - * @default false - */ - hideOnClick?: boolean; - - /** - * CSS class name added to navigation button when it becomes disabled - * - * @default 'swiper-button-disabled' - */ - disabledClass?: string; - - /** - * CSS class name added to navigation button when it becomes hidden - * - * @default 'swiper-button-hidden' - */ - hiddenClass?: string; - - /** - * CSS class name added to navigation button when it is disabled - * - * @default 'swiper-button-lock' - */ - lockClass?: string; - - /** - * CSS class name added on swiper container when navigation is disabled by breakpoint - * - * @default 'swiper-navigation-disabled' - */ - navigationDisabledClass?: string; -} diff --git a/node_modules/swiper/types/modules/pagination.d.ts b/node_modules/swiper/types/modules/pagination.d.ts deleted file mode 100644 index 5af6341..0000000 --- a/node_modules/swiper/types/modules/pagination.d.ts +++ /dev/null @@ -1,295 +0,0 @@ -import type { CSSSelector } from '../shared.d.ts'; -import type Swiper from '../swiper-class.d.ts'; - -export interface PaginationMethods { - /** - * HTMLElement of pagination container element - */ - el: HTMLElement; - - /** - * Array of pagination bullets - * HTML elements. To get specific slide HTMLElement - * use `swiper.pagination.bullets[1]`. - */ - bullets: HTMLElement[]; - - /** - * Render pagination layout - */ - render(): void; - - /** - * Update pagination state (enabled/disabled/active) - */ - update(): void; - - /** - * Initialize pagination - */ - init(): void; - - /** - * Destroy pagination - */ - destroy(): void; -} - -export interface PaginationEvents { - /** - * Event will be fired after pagination rendered - */ - paginationRender: (swiper: Swiper, paginationEl: HTMLElement) => void; - - /** - * Event will be fired when pagination updated - */ - paginationUpdate: (swiper: Swiper, paginationEl: HTMLElement) => void; - - /** - * Event will be fired on pagination hide - */ - paginationHide: (swiper: Swiper) => void; - - /** - * Event will be fired on pagination show - */ - paginationShow: (swiper: Swiper) => void; -} - -export interface PaginationOptions { - /** - * Boolean property to use with breakpoints to enable/disable pagination on certain breakpoints - */ - enabled?: boolean; - /** - * String with CSS selector or HTML element of the container with pagination - * - * @default null - */ - el?: CSSSelector | HTMLElement | null; - - /** - * String with type of pagination. Can be `'bullets'`, `'fraction'`, `'progressbar'` or `'custom'` - * - * @default 'bullets' - */ - type?: 'bullets' | 'fraction' | 'progressbar' | 'custom'; - - /** - * Defines which HTML tag will be used to represent single pagination bullet. Only for `'bullets'` pagination type. - * - * @default 'span' - */ - bulletElement?: string; - - /** - * Good to enable if you use bullets pagination with a lot of slides. So it will keep only few bullets visible at the same time. - * - * @default false - */ - dynamicBullets?: boolean; - - /** - * The number of main bullets visible when `dynamicBullets` enabled. - * - * @default 1 - */ - dynamicMainBullets?: number; - - /** - * Toggle (hide/show) pagination container visibility after click on Slider's container - * - * @default true - */ - hideOnClick?: boolean; - - /** - * If `true` then clicking on pagination button will cause transition to appropriate slide. Only for bullets pagination type - * - * @default false - */ - clickable?: boolean; - - /** - * Makes pagination progressbar opposite to Swiper's `direction` parameter, means vertical progressbar for horizontal swiper - * direction and horizontal progressbar for vertical swiper direction - * - * @default false - */ - progressbarOpposite?: boolean; - - /** - * format fraction pagination current number. Function receives current number, - * and you need to return formatted value - */ - formatFractionCurrent?: (number: number) => number | string; - - /** - * format fraction pagination total number. Function receives total number, and you - * need to return formatted value - */ - formatFractionTotal?: (number: number) => number | string; - - /** - * This parameter allows totally customize pagination bullets, you need to pass here a function that accepts `index` number of - * pagination bullet and required element class name (`className`). Only for `'bullets'` pagination type - * - * @default null - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * //... - * renderBullet: function (index, className) { - * return '' + (index + 1) + ''; - * } - * }); - * ``` - */ - renderBullet?: (index: number, className: string) => string; - - /** - * This parameter allows to customize "fraction" pagination html. Only for `'fraction'` pagination type - * - * @default null - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * //... - * renderFraction: function (currentClass, totalClass) { - * return '' + - * ' of ' + - * ''; - * } - * }); - * ``` - */ - renderFraction?: (currentClass: string, totalClass: string) => string; - - /** - * This parameter allows to customize "progress" pagination. Only for `'progress'` pagination type - * - * @default null - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * //... - * renderProgressbar: function (progressbarFillClass) { - * return ''; - * } - * }); - * ``` - */ - renderProgressbar?: (progressbarFillClass: string) => string; - - /** - * This parameter is required for `'custom'` pagination type where you have to specify - * how it should be rendered. - * - * @default null - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * //... - * renderCustom: function (swiper, current, total) { - * return current + ' of ' + total; - * } - * }); - * ``` - */ - renderCustom?: (swiper: Swiper, current: number, total: number) => string; - - /** - * CSS class name of single pagination bullet - * - * @default 'swiper-pagination-bullet' - */ - bulletClass?: string; - - /** - * CSS class name of currently active pagination bullet - * - * @default 'swiper-pagination-bullet-active' - */ - bulletActiveClass?: string; - - /** - * The beginning of the modifier CSS class name that will be added to pagination depending on parameters - * - * @default 'swiper-pagination-' - */ - modifierClass?: string; - - /** - * CSS class name of the element with currently active index in "fraction" pagination - * - * @default 'swiper-pagination-current' - */ - currentClass?: string; - - /** - * CSS class name of the element with total number of "snaps" in "fraction" pagination - * - * @default 'swiper-pagination-total' - */ - totalClass?: string; - - /** - * CSS class name of pagination when it becomes inactive - * - * @default 'swiper-pagination-hidden' - */ - hiddenClass?: string; - - /** - * CSS class name of pagination progressbar fill element - * - * @default 'swiper-pagination-progressbar-fill' - */ - progressbarFillClass?: string; - - /** - * CSS class name of pagination progressbar opposite - * - * @default 'swiper-pagination-progressbar-opposite' - */ - progressbarOppositeClass?: string; - /** - * CSS class name set to pagination when it is clickable - * - * @default 'swiper-pagination-clickable' - */ - clickableClass?: string; - - /** - * CSS class name set to pagination when it is disabled - * - * @default 'swiper-pagination-lock' - */ - lockClass?: string; - - /** - * CSS class name set to pagination in horizontal Swiper - * - * @default 'swiper-pagination-horizontal' - */ - horizontalClass?: string; - - /** - * CSS class name set to pagination in vertical Swiper - * - * @default 'swiper-pagination-vertical' - */ - verticalClass?: string; - - /** - * CSS class name added on swiper container and pagination element when pagination is disabled by breakpoint - * - * @default 'swiper-pagination-disabled' - */ - paginationDisabledClass?: string; -} diff --git a/node_modules/swiper/types/modules/parallax.d.ts b/node_modules/swiper/types/modules/parallax.d.ts deleted file mode 100644 index 27e8e6f..0000000 --- a/node_modules/swiper/types/modules/parallax.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export interface ParallaxMethods {} - -export interface ParallaxEvents {} - -export interface ParallaxOptions { - /** - * Enable, if you want to use "parallaxed" elements inside of slider - * - * @default false - */ - enabled?: boolean; -} diff --git a/node_modules/swiper/types/modules/public-api.d.ts b/node_modules/swiper/types/modules/public-api.d.ts deleted file mode 100644 index 2553f46..0000000 --- a/node_modules/swiper/types/modules/public-api.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -export type * from './a11y.d.ts'; -export type * from './autoplay.d.ts'; -export type * from './controller.d.ts'; -export type * from './effect-coverflow.d.ts'; -export type * from './effect-cube.d.ts'; -export type * from './effect-fade.d.ts'; -export type * from './effect-flip.d.ts'; -export type * from './effect-creative.d.ts'; -export type * from './effect-cards.d.ts'; -export type * from './hash-navigation.d.ts'; -export type * from './history.d.ts'; -export type * from './keyboard.d.ts'; -export type * from './mousewheel.d.ts'; -export type * from './navigation.d.ts'; -export type * from './pagination.d.ts'; -export type * from './parallax.d.ts'; -export type * from './scrollbar.d.ts'; -export type * from './thumbs.d.ts'; -export type * from './virtual.d.ts'; -export type * from './zoom.d.ts'; -export type * from './free-mode.d.ts'; -export type * from './grid.d.ts'; -export type * from './manipulation.d.ts'; diff --git a/node_modules/swiper/types/modules/scrollbar.d.ts b/node_modules/swiper/types/modules/scrollbar.d.ts deleted file mode 100644 index 4e04d95..0000000 --- a/node_modules/swiper/types/modules/scrollbar.d.ts +++ /dev/null @@ -1,140 +0,0 @@ -import type { CSSSelector } from '../shared.d.ts'; -import type Swiper from '../swiper-class.d.ts'; - -export interface ScrollbarMethods { - /** - * HTMLElement of Scrollbar container element - */ - el: HTMLElement; - - /** - * HTMLElement of Scrollbar draggable handler element - */ - dragEl: HTMLElement; - - /** - * Updates scrollbar track and handler sizes - */ - updateSize(): void; - - /** - * Updates scrollbar translate - */ - setTranslate(): void; - - /** - * Initialize scrollbar - */ - init(): void; - - /** - * Destroy scrollbar - */ - destroy(): void; -} - -export interface ScrollbarEvents { - /** - * Event will be fired on draggable scrollbar drag start - */ - scrollbarDragStart: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired on draggable scrollbar drag move - */ - scrollbarDragMove: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired on draggable scrollbar drag end - */ - scrollbarDragEnd: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; -} - -/** - * Object with scrollbar parameters. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * scrollbar: { - * el: '.swiper-scrollbar', - * draggable: true, - * }, - * }); - * ``` - */ -export interface ScrollbarOptions { - /** - * Boolean property to use with breakpoints to enable/disable scrollbar on certain breakpoints - */ - enabled?: boolean; - /** - * String with CSS selector or HTML element of the container with scrollbar. - * - * @default null - */ - el?: CSSSelector | HTMLElement | null; - - /** - * Hide scrollbar automatically after user interaction - * - * @default true - */ - hide?: boolean; - - /** - * Set to `true` to enable make scrollbar draggable that allows you to control slider position - * - * @default false - */ - draggable?: boolean; - - /** - * Set to `true` to snap slider position to slides when you release scrollbar - * - * @default false - */ - snapOnRelease?: boolean; - - /** - * Size of scrollbar draggable element in px - * - * @default 'auto' - */ - dragSize?: 'auto' | number; - - /** - * Scrollbar element additional CSS class when it is disabled - * - * @default 'swiper-scrollbar-lock' - */ - lockClass?: string; - - /** - * Scrollbar draggable element CSS class - * - * @default 'swiper-scrollbar-drag' - */ - dragClass?: string; - - /** - * CSS class name added on swiper container and scrollbar element when scrollbar is disabled by breakpoint - * - * @default 'swiper-scrollbar-disabled' - */ - scrollbarDisabledClass?: string; - - /** - * CSS class name set to scrollbar in horizontal Swiper - * - * @default 'swiper-scrollbar-horizontal' - */ - horizontalClass?: string; - - /** - * CSS class name set to scrollbar in vertical Swiper - * - * @default 'swiper-scrollbar-vertical' - */ - verticalClass?: string; -} diff --git a/node_modules/swiper/types/modules/thumbs.d.ts b/node_modules/swiper/types/modules/thumbs.d.ts deleted file mode 100644 index 51b2625..0000000 --- a/node_modules/swiper/types/modules/thumbs.d.ts +++ /dev/null @@ -1,54 +0,0 @@ -import type Swiper from '../swiper-class.d.ts'; - -export interface ThumbsMethods { - /** - * Swiper instance of thumbs swiper - */ - swiper: Swiper; - - /** - * Update thumbs - */ - update(initial: boolean): void; - - /** - * Initialize thumbs - */ - init(): boolean; -} - -export interface ThumbsEvents {} - -export interface ThumbsOptions { - /** - * Swiper instance of swiper used as thumbs or object with Swiper parameters to initialize thumbs swiper - * - * @default null - */ - swiper?: Swiper | string | null; - /** - * Additional class that will be added to activated thumbs swiper slide - * - * @default 'swiper-slide-thumb-active' - */ - slideThumbActiveClass?: string; - /** - * Additional class that will be added to thumbs swiper - * - * @default 'swiper-thumbs' - */ - thumbsContainerClass?: string; - /** - * When enabled multiple thumbnail slides may get activated - * - * @default true - */ - multipleActiveThumbs?: boolean; - /** - * Allows to set on which thumbs active slide from edge it should automatically move scroll thumbs. For example, if set to 1 and last visible thumb will be activated (1 from edge) it will auto scroll thumbs - - * - * @default 0 - */ - autoScrollOffset?: number; -} diff --git a/node_modules/swiper/types/modules/virtual.d.ts b/node_modules/swiper/types/modules/virtual.d.ts deleted file mode 100644 index bcf27bd..0000000 --- a/node_modules/swiper/types/modules/virtual.d.ts +++ /dev/null @@ -1,135 +0,0 @@ -export interface VirtualMethods { - /** - * Object with cached slides HTML elements - */ - cache: object; - - /** - * Index of first rendered slide - */ - from: number; - - /** - * Index of last rendered slide - */ - to: number; - - /** - * Array with slide items passed by `virtual.slides` parameter - */ - slides: T[]; - - /* - * Methods - */ - - /** - * Append slide. `slides` can be a single slide item or array with such slides. - * - * @note Only for Core version (in React & Vue it should be done by modifying slides array/data/source) - */ - appendSlide(slide: HTMLElement | string | HTMLElement[] | string[]): void; - - /** - * Prepend slide. `slides` can be a single slide item or array with such slides. - * - * @note Only for Core version (in React & Vue it should be done by modifying slides array/data/source) - */ - prependSlide(slide: HTMLElement | string | HTMLElement[] | string[]): void; - - /** - * Remove specific slide or slides. `slideIndexes` can be a number with slide index to remove or array with indexes. - * - * @note Only for Core version (in React & Vue it should be done by modifying slides array/data/source) - */ - removeSlide(slideIndexes: number[]): void; - - /** - * Remove all slides - * - * @note Only for Core version (in React & Vue it should be done by modifying slides array/data/source) - */ - removeAllSlides(): void; - - /** - * Update virtual slides state - */ - update(force: boolean): void; -} - -export interface VirtualEvents {} - -export interface VirtualData { - /** - * slides left/top offset in px - */ - offset: number; - /** - * index of first slide required to be rendered - */ - from: number; - /** - * index of last slide required to be rendered - */ - to: number; - /** - * array with slide items to be rendered - */ - slides: T[]; -} - -export interface VirtualOptions { - /** - * Whether the virtual slides are enabled - * - * @default false - */ - enabled?: boolean; - /** - * Array with slides - * - * @default [] - */ - slides?: T[]; - /** - * Enables DOM cache of rendering slides html elements. Once they are rendered they will be saved to cache and reused from it. - * - * @default true - */ - cache?: boolean; - /** - * Increases amount of pre-rendered slides before active slide - * - * @default 0 - */ - addSlidesBefore?: number; - /** - * Increases amount of pre-rendered slides after active slide - * - * @default 0 - */ - addSlidesAfter?: number; - /** - * Function to render slide. As an argument it accepts current slide item for `slides` array and index number of the current slide. Function must return an outer HTML of the swiper slide or slide HTML element. - * - * @default null - */ - renderSlide?: (slide: T, index: any) => any | null; - /** - * Function for external rendering (e.g. using some other library to handle DOM manipulations and state like React.js or Vue.js). As an argument it accepts `data` object with the following properties: - * - * - `offset` - slides left/top offset in px - * - `from` - index of first slide required to be rendered - * - `to` - index of last slide required to be rendered - * - `slides` - array with slide items to be rendered - * - * @default null - */ - renderExternal?: (data: VirtualData) => any | null; - /** - * When enabled (by default) it will update Swiper layout right after renderExternal called. Useful to disable and update swiper manually when used with render libraries that renders asynchronously - * - * @default true - */ - renderExternalUpdate?: boolean; -} diff --git a/node_modules/swiper/types/modules/zoom.d.ts b/node_modules/swiper/types/modules/zoom.d.ts deleted file mode 100644 index 658f5ba..0000000 --- a/node_modules/swiper/types/modules/zoom.d.ts +++ /dev/null @@ -1,85 +0,0 @@ -import type Swiper from '../swiper-class.d.ts'; - -export interface ZoomMethods { - /** - * Whether the zoom module is enabled - */ - enabled: boolean; - - /** - * Current image scale ratio - */ - scale: number; - - /** - * Enable zoom module - */ - enable(): void; - - /** - * Disable zoom module - */ - disable(): void; - - /** - * Zoom in image of the currently active slide. Optionally accepts custom zoom ratio - */ - in(ratio?: number): void; - - /** - * Zoom out image of the currently active slide - */ - out(): void; - - /** - * Toggle image zoom of the currently active slide - */ - toggle(event?: MouseEvent | TouchEvent | PointerEvent): void; -} - -export interface ZoomEvents { - /** - * Event will be fired on zoom change - */ - zoomChange: (swiper: Swiper, scale: number, imageEl: HTMLElement, slideEl: HTMLElement) => void; -} - -export interface ZoomOptions { - /** - * When set to true, the image will not be scaled past 100% of its original size - * - * @default false - */ - limitToOriginalSize?: boolean; - /** - * Maximum image zoom multiplier - * - * @default 3 - */ - maxRatio?: number; - /** - * Minimal image zoom multiplier - * - * @default 1 - */ - minRatio?: number; - /** - * Enable/disable zoom-in by slide's double tap - * - * @default true - */ - toggle?: boolean; - /** - * CSS class name of zoom container - * - * @default 'swiper-zoom-container' - */ - containerClass?: string; - /** - * CSS class name of zoomed in container - * - * @default 'swiper-slide-zoomed' - - */ - zoomedSlideClass?: string; -} diff --git a/node_modules/swiper/types/shared.d.ts b/node_modules/swiper/types/shared.d.ts deleted file mode 100644 index 3e410c5..0000000 --- a/node_modules/swiper/types/shared.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { Swiper } from './index.d.ts'; - -export interface CSSSelector extends String {} - -export type SwiperModule = (options: { - params: Swiper['params']; - swiper: Swiper; - extendParams: (obj: { [name: string]: any }) => void; - on: Swiper['on']; - once: Swiper['once']; - off: Swiper['off']; - emit: Swiper['emit']; -}) => void; diff --git a/node_modules/swiper/types/swiper-class.d.ts b/node_modules/swiper/types/swiper-class.d.ts deleted file mode 100644 index 213916d..0000000 --- a/node_modules/swiper/types/swiper-class.d.ts +++ /dev/null @@ -1,492 +0,0 @@ -import type { SwiperOptions } from './swiper-options.d.ts'; -import type { CSSSelector, SwiperModule } from './shared.d.ts'; -import type { SwiperEvents } from './swiper-events.d.ts'; - -import type { A11yMethods } from './modules/a11y.d.ts'; -import type { AutoplayMethods } from './modules/autoplay.d.ts'; -import type { ControllerMethods } from './modules/controller.d.ts'; -import type { CoverflowEffectMethods } from './modules/effect-coverflow.d.ts'; -import type { CubeEffectMethods } from './modules/effect-cube.d.ts'; -import type { FadeEffectMethods } from './modules/effect-fade.d.ts'; -import type { FlipEffectMethods } from './modules/effect-flip.d.ts'; -import type { CreativeEffectMethods } from './modules/effect-creative.d.ts'; -import type { CardsEffectMethods } from './modules/effect-cards.d.ts'; -import type { HashNavigationMethods } from './modules/hash-navigation.d.ts'; -import type { HistoryMethods } from './modules/history.d.ts'; -import type { KeyboardMethods } from './modules/keyboard.d.ts'; -import type { MousewheelMethods } from './modules/mousewheel.d.ts'; -import type { NavigationMethods } from './modules/navigation.d.ts'; -import type { PaginationMethods } from './modules/pagination.d.ts'; -import type { ParallaxMethods } from './modules/parallax.d.ts'; -import type { ScrollbarMethods } from './modules/scrollbar.d.ts'; -import type { ThumbsMethods } from './modules/thumbs.d.ts'; -import type { VirtualMethods } from './modules/virtual.d.ts'; -import type { ZoomMethods } from './modules/zoom.d.ts'; -import type { FreeModeMethods } from './modules/free-mode.d.ts'; -import type { ManipulationMethods } from './modules/manipulation.d.ts'; - -interface SwiperClass { - /** Add event handler */ - on(event: E, handler: Events[E]): void; - /** Add event handler that will be removed after it was fired */ - once(event: E, handler: Events[E]): void; - /** Remove event handler */ - off(event: E, handler: Events[E]): void; - /** Remove all handlers for specified event */ - off(event: E): void; - /** Fire event on instance */ - emit(event: E, ...args: any[]): void; -} - -interface Swiper extends SwiperClass { - /** - * Object with passed initialization parameters - */ - params: SwiperOptions; - - /** - * Object with original initialization parameters - */ - originalParams: SwiperOptions; - - /** - * Slider container HTML element - */ - el: HTMLElement; - - /** - * Wrapper HTML element - */ - wrapperEl: HTMLElement; - - /** - * Array of slides HTML elements. To get specific slide HTMLElement use `swiper.slides[1]` - */ - slides: HTMLElement[]; - - /** - * !INTERNAL - */ - loopedSlides: number | null; - - /** - * Width of container - */ - width: number; - - /** - * Height of container - */ - height: number; - - /** - * Current value of wrapper translate - */ - translate: number; - - /** - * Current progress of wrapper translate (from 0 to 1) - */ - progress: number; - - /** - * Index number of currently active slide - * - * @note Note, that in loop mode active index value will be always shifted on a number of looped slides - */ - activeIndex: number; - - /** - * Index number of currently active slide considering rearranged slides in loop mode - */ - realIndex: number; - - /** - * Index number of previously active slide - */ - previousIndex: number; - - /** - * Index number of current snap in `snapGrid` - */ - snapIndex: number; - - /** - * Slides snap grid - */ - snapGrid: number[]; - - /** - * `true` if slider on most "left"/"top" position - */ - isBeginning: boolean; - - /** - * `true` if slider on most "right"/"bottom" position - */ - isEnd: boolean; - - /** - * `true` if slide is "locked" (by `watchOverflow`) and slides can not be, e.g. when amount of slides is less that slides per view - */ - isLocked: boolean; - - /** - * `true` if swiper is in transition - */ - animating: boolean; - - /** - * Object with the following touch event properties: - * - * - `swiper.touches.startX` - * - `swiper.touches.startY` - * - `swiper.touches.currentX` - * - `swiper.touches.currentY` - * - `swiper.touches.diff` - */ - touches: { - startX: number; - startY: number; - currentX: number; - currentY: number; - diff: number; - }; - - /** - * Index number of last clicked slide - */ - clickedIndex: number; - - /** - * Link to last clicked slide (HTMLElement) - */ - clickedSlide: HTMLElement; - - /** - * Disable / enable ability to slide to the next slides by assigning `false` / `true` to this property - */ - allowSlideNext: boolean; - - /** - * Disable / enable ability to slide to the previous slides by assigning `false` / `true` to this property - */ - allowSlidePrev: boolean; - - /** - * Disable / enable ability move slider by grabbing it with mouse or by touching it with finger (on touch screens) by assigning `false` / `true` to this property - */ - allowTouchMove: boolean; - - /** - * Direction of sliding - */ - swipeDirection: 'prev' | 'next'; - - /** - * !INTERNAL - */ - rtlTranslate: boolean; - - /** - * Disable Swiper (if it was enabled). When Swiper is disabled, it will hide all navigation elements and won't respond to any events and interactions - * - */ - disable(): void; - - /** - * Enable Swiper (if it was disabled) - * - */ - enable(): void; - - /** - * Set Swiper translate progress (from 0 to 1). Where 0 - its initial position (offset) on first slide, and 1 - its maximum position (offset) on last slide - * - * @param progress Swiper translate progress (from 0 to 1). - * @param speed Transition duration (in ms). - */ - setProgress(progress: number, speed?: number): void; - - /** - * Run transition to next slide. - * - * @param speed Transition duration (in ms). - * @param runCallbacks Set it to false (by default it is true) and transition will - * not produce transition events. - */ - slideNext(speed?: number, runCallbacks?: boolean): boolean; - - /** - * Run transition to previous slide. - * - * @param speed Transition duration (in ms). - * @param runCallbacks Set it to false (by default it is true) and transition will - * not produce transition events. - */ - slidePrev(speed?: number, runCallbacks?: boolean): boolean; - - /** - * Run transition to the slide with index number equal to 'index' parameter for the - * duration equal to 'speed' parameter. - * - * @param index Index number of slide. - * @param speed Transition duration (in ms). - * @param runCallbacks Set it to false (by default it is true) and transition will - * not produce transition events. - */ - slideTo(index: number, speed?: number, runCallbacks?: boolean): boolean; - - /** - * Does the same as .slideTo but for the case when used with enabled loop. So this - * method will slide to slides with realIndex matching to passed index - * - * @param index Index number of slide. - * @param speed Transition duration (in ms). - * @param runCallbacks Set it to false (by default it is true) and transition will - * not produce transition events. - */ - slideToLoop(index: number, speed?: number, runCallbacks?: boolean): Swiper; - - /** - * Reset swiper position to currently active slide for the duration equal to 'speed' - * parameter. - * - * @param speed Transition duration (in ms). - * @param runCallbacks Set it to false (by default it is true) and transition will - * not produce transition events. - */ - slideReset(speed?: number, runCallbacks?: boolean): boolean; - - /** - * Reset swiper position to closest slide/snap point for the duration equal to 'speed' parameter. - * - * @param speed Transition duration (in ms). - * @param runCallbacks Set it to false (by default it is true) and transition will - * not produce transition events. - */ - slideToClosest(speed?: number, runCallbacks?: boolean): boolean; - - /** - * Get dynamically calculated amount of slides per view, useful only when slidesPerView set to `auto` - * - */ - slidesPerViewDynamic(): number; - - /** - * Force swiper to update its height (when autoHeight enabled) for the duration equal to - * 'speed' parameter - * - * @param speed Transition duration (in ms). - */ - updateAutoHeight(speed?: number): void; - - /** - * You should call it after you add/remove slides - * manually, or after you hide/show it, or do any - * custom DOM modifications with Swiper - * This method also includes subcall of the following - * methods which you can use separately: - */ - update(): void; - - /** - * recalculate size of swiper container - */ - updateSize(): void; - - /** - * recalculate number of slides and their offsets. Useful after you add/remove slides with JavaScript - */ - updateSlides(): void; - - /** - * recalculate swiper progress - */ - updateProgress(): void; - - /** - * update active/prev/next classes on slides and bullets - */ - updateSlidesClasses(): void; - - /** - * Changes slider direction from horizontal to vertical and back. - * - * @param direction New direction. If not specified, then will automatically changed to opposite direction - * @param needUpdate Will call swiper.update(). Default true - */ - changeDirection(direction?: 'horizontal' | 'vertical', needUpdate?: boolean): void; - - /** - * Changes slider language - * - * @param direction New direction. Should be `rtl` or `ltr` - */ - changeLanguageDirection(direction: 'rtl' | 'ltr'): void; - - /** - * Detach all events listeners - */ - detachEvents(): void; - - /** - * Attach all events listeners again - */ - attachEvents(): void; - - /** - * !INTERNAL - */ - loopCreate(): void; - - /** - * !INTERNAL - */ - loopDestroy(): void; - - /** - * Initialize slider - */ - init(el?: HTMLElement): Swiper; - - /** - * Destroy slider instance and detach all events listeners - * - * @param deleteInstance Set it to false (by default it is true) to not to delete Swiper instance - * @param cleanStyles Set it to true (by default it is true) and all custom styles will be removed from slides, wrapper and container. - * Useful if you need to destroy Swiper and to init again with new options or in different direction - */ - destroy(deleteInstance?: boolean, cleanStyles?: boolean): void; - - /** - * Set custom css3 transform's translate value for swiper wrapper - */ - setTranslate(translate: any): void; - - /** - * Get current value of swiper wrapper css3 transform translate - */ - getTranslate(): any; - - /** - * Animate custom css3 transform's translate value for swiper wrapper - * - * @param translate Translate value (in px) - * @param speed Transition duration (in ms) - * @param runCallbacks Set it to false (by default it is true) and transition will not produce transition events - * @param translateBounds Set it to false (by default it is true) and transition value can extend beyond min and max translate - * - */ - translateTo( - translate: number, - speed: number, - runCallbacks?: boolean, - translateBounds?: boolean, - ): any; - - /** - * Unset grab cursor - */ - unsetGrabCursor(): void; - - /** - * Set grab cursor - */ - setGrabCursor(): void; - - /** - * Add event listener that will be fired on all events - */ - onAny(handler: (eventName: string, ...args: any[]) => void): void; - - /** - * Remove event listener that will be fired on all events - */ - offAny(handler: (eventName: string, ...args: any[]) => void): void; - - /** - * !INTERNAL - */ - isHorizontal(): boolean; - - /** - * !INTERNAL - */ - getBreakpoint(breakpoints: SwiperOptions['breakpoints']): string; - - /** - * !INTERNAL - */ - setBreakpoint(): void; - - /** - * !INTERNAL - */ - currentBreakpoint: any; - - /** - * !INTERNAL - */ - destroyed: boolean; - - /** - * !INTERNAL - */ - modules: Array; - - a11y: A11yMethods; - autoplay: AutoplayMethods; - controller: ControllerMethods; - coverflowEffect: CoverflowEffectMethods; - cubeEffect: CubeEffectMethods; - fadeEffect: FadeEffectMethods; - flipEffect: FlipEffectMethods; - creativeEffect: CreativeEffectMethods; - cardsEffect: CardsEffectMethods; - hashNavigation: HashNavigationMethods; - history: HistoryMethods; - keyboard: KeyboardMethods; - mousewheel: MousewheelMethods; - navigation: NavigationMethods; - pagination: PaginationMethods; - parallax: ParallaxMethods; - scrollbar: ScrollbarMethods; - thumbs: ThumbsMethods; - virtual: VirtualMethods; - zoom: ZoomMethods; - freeMode: FreeModeMethods; -} - -interface Swiper extends ManipulationMethods {} - -declare class Swiper implements Swiper { - /** - * Constructs a new Swiper instance. - * - * @param container Where Swiper applies to. - * @param options Instance options. - */ - constructor(container: CSSSelector | HTMLElement, options?: SwiperOptions); - /** - * Installs modules on Swiper in runtime. - */ - static use(modules: SwiperModule[]): void; - - /** - * Swiper default options - */ - static defaults: SwiperOptions; - - /** - * Extend global Swiper defaults - */ - static extendDefaults(options: SwiperOptions): void; - - /** - * Object with global Swiper extended options - */ - static extendedDefaults: SwiperOptions; -} - -export default Swiper; diff --git a/node_modules/swiper/types/swiper-events.d.ts b/node_modules/swiper/types/swiper-events.d.ts deleted file mode 100644 index 4e6aaec..0000000 --- a/node_modules/swiper/types/swiper-events.d.ts +++ /dev/null @@ -1,359 +0,0 @@ -import type { SwiperOptions } from './swiper-options.d.ts'; -import type Swiper from './swiper-class.d.ts'; - -import type { A11yEvents } from './modules/a11y.d.ts'; -import type { AutoplayEvents } from './modules/autoplay.d.ts'; -import type { ControllerEvents } from './modules/controller.d.ts'; -import type { CoverflowEffectEvents } from './modules/effect-coverflow.d.ts'; -import type { CubeEffectEvents } from './modules/effect-cube.d.ts'; -import type { FadeEffectEvents } from './modules/effect-fade.d.ts'; -import type { FlipEffectEvents } from './modules/effect-flip.d.ts'; -import type { CreativeEffectEvents } from './modules/effect-creative.d.ts'; -import type { CardsEffectEvents } from './modules/effect-cards.d.ts'; -import type { HashNavigationEvents } from './modules/hash-navigation.d.ts'; -import type { HistoryEvents } from './modules/history.d.ts'; -import type { KeyboardEvents } from './modules/keyboard.d.ts'; -import type { MousewheelEvents } from './modules/mousewheel.d.ts'; -import type { NavigationEvents } from './modules/navigation.d.ts'; -import type { PaginationEvents } from './modules/pagination.d.ts'; -import type { ParallaxEvents } from './modules/parallax.d.ts'; -import type { ScrollbarEvents } from './modules/scrollbar.d.ts'; -import type { ThumbsEvents } from './modules/thumbs.d.ts'; -import type { VirtualEvents } from './modules/virtual.d.ts'; -import type { ZoomEvents } from './modules/zoom.d.ts'; -import type { FreeModeEvents } from './modules/free-mode.d.ts'; - -export interface SwiperEvents { - // CORE_EVENTS_START - /** - * Fired right after Swiper initialization. - * @note Note that with `swiper.on('init')` syntax it will - * work only in case you set `init: false` parameter. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * init: false, - * // other parameters - * }); - * swiper.on('init', function() { - * // do something - * }); - * // init Swiper - * swiper.init(); - * ``` - * - * @example - * ```js - * // Otherwise use it as the parameter: - * const swiper = new Swiper('.swiper', { - * // other parameters - * on: { - * init: function () { - * // do something - * }, - * } - * }); - * ``` - */ - init: (swiper: Swiper) => any; - - /** - * Event will be fired right before Swiper destroyed - */ - beforeDestroy: (swiper: Swiper) => void; - - /** - * Event will be fired after slides and their sizes are calculated and updated - */ - slidesUpdated: (swiper: Swiper) => void; - /** - * Event will be fired when currently active slide is changed - */ - slideChange: (swiper: Swiper) => void; - - /** - * Event will be fired in the beginning of animation to other slide (next or previous). - */ - slideChangeTransitionStart: (swiper: Swiper) => void; - - /** - * Event will be fired after animation to other slide (next or previous). - */ - slideChangeTransitionEnd: (swiper: Swiper) => void; - - /** - * Same as "slideChangeTransitionStart" but for "forward" direction only - */ - slideNextTransitionStart: (swiper: Swiper) => void; - - /** - * Same as "slideChangeTransitionEnd" but for "forward" direction only - */ - slideNextTransitionEnd: (swiper: Swiper) => void; - - /** - * Same as "slideChangeTransitionStart" but for "backward" direction only - */ - slidePrevTransitionStart: (swiper: Swiper) => void; - - /** - * Same as "slideChangeTransitionEnd" but for "backward" direction only - */ - slidePrevTransitionEnd: (swiper: Swiper) => void; - - /** - * Event will be fired in the beginning of transition. - */ - transitionStart: (swiper: Swiper) => void; - - /** - * Event will be fired after transition. - */ - transitionEnd: (swiper: Swiper) => void; - - /** - * Event will be fired when user touch Swiper. Receives `pointerdown` event as an arguments. - */ - touchStart: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user touch and move finger over Swiper. Receives `pointermove` event as an arguments. - */ - touchMove: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user touch and move finger over Swiper in direction opposite to direction parameter. Receives `pointermove` event as an arguments. - */ - touchMoveOpposite: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user touch and move finger over Swiper and move it. Receives `pointermove` event as an arguments. - */ - sliderMove: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user release Swiper. Receives `pointerup` event as an arguments. - */ - touchEnd: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user click/tap on Swiper. Receives `pointerup` event as an arguments. - */ - click: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user click/tap on Swiper. Receives `pointerup` event as an arguments. - */ - tap: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when user double tap on Swiper's container. Receives `pointerup` event as an arguments - */ - doubleTap: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - - /** - * Event will be fired when Swiper progress is changed, as an arguments it receives progress that is always from 0 to 1 - */ - progress: (swiper: Swiper, progress: number) => void; - - /** - * Event will be fired when Swiper reach its beginning (initial position) - */ - reachBeginning: (swiper: Swiper) => void; - - /** - * Event will be fired when Swiper reach last slide - */ - reachEnd: (swiper: Swiper) => void; - - /** - * Event will be fired when Swiper goes to beginning or end position - */ - toEdge: (swiper: Swiper) => void; - - /** - * Event will be fired when Swiper goes from beginning or end position - */ - fromEdge: (swiper: Swiper) => void; - - /** - * Event will be fired when swiper's wrapper change its position. Receives current translate value as an arguments - */ - setTranslate: (swiper: Swiper, translate: number) => void; - - /** - * Event will be fired everytime when swiper starts animation. Receives current transition duration (in ms) as an arguments - */ - setTransition: (swiper: Swiper, transition: number) => void; - - /** - * Event will be fired on window resize right before swiper's onresize manipulation - */ - resize: (swiper: Swiper) => void; - - /** - * Event will be fired if observer is enabled and it detects DOM mutations - */ - observerUpdate: (swiper: Swiper) => void; - - /** - * Event will be fired right before "loop fix" - */ - beforeLoopFix: (swiper: Swiper) => void; - - /** - * Event will be fired after "loop fix" - */ - loopFix: (swiper: Swiper) => void; - - /** - * Event will be fired on breakpoint change - */ - breakpoint: (swiper: Swiper, breakpointParams: SwiperOptions) => void; - - /** - * !INTERNAL: Event will fired right before breakpoint change - */ - _beforeBreakpoint?: (swiper: Swiper, breakpointParams: SwiperOptions) => void; - - /** - * !INTERNAL: Event will fired after setting CSS classes on swiper container element - */ - _containerClasses?: (swiper: Swiper, classNames: string) => void; - - /** - * !INTERNAL: Event will fired after setting CSS classes on swiper slide element - */ - _slideClass?: (swiper: Swiper, slideEl: HTMLElement, classNames: string) => void; - - /** - * !INTERNAL: Event will fired after setting CSS classes on all swiper slides - */ - _slideClasses?: ( - swiper: Swiper, - slides: { slideEl: HTMLElement; classNames: string; index: number }[], - ) => void; - - /** - * !INTERNAL: Event will fired as soon as swiper instance available (before init) - */ - _swiper?: (swiper: Swiper) => void; - - /** - * !INTERNAL: Event will be fired on free mode touch end (release) and there will no be momentum - */ - _freeModeNoMomentumRelease?: (swiper: Swiper) => void; - - /** - * Event will fired on active index change - */ - activeIndexChange: (swiper: Swiper) => void; - /** - * Event will fired on snap index change - */ - snapIndexChange: (swiper: Swiper) => void; - /** - * Event will fired on real index change - */ - realIndexChange: (swiper: Swiper) => void; - /** - * Event will fired right after initialization - */ - afterInit: (swiper: Swiper) => void; - /** - * Event will fired right before initialization - */ - beforeInit: (swiper: Swiper) => void; - /** - * Event will fired before resize handler - */ - beforeResize: (swiper: Swiper) => void; - /** - * Event will fired before slide change transition start - */ - beforeSlideChangeStart: (swiper: Swiper) => void; - /** - * Event will fired before transition start - */ - beforeTransitionStart: (swiper: Swiper, speed: number, internal: any) => void; // what is internal? - /** - * Event will fired on direction change - */ - changeDirection: (swiper: Swiper) => void; - /** - * Event will be fired when user double click/tap on Swiper - */ - doubleClick: (swiper: Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void; - /** - * Event will be fired on swiper destroy - */ - destroy: (swiper: Swiper) => void; - /** - * Event will be fired on momentum bounce - */ - momentumBounce: (swiper: Swiper) => void; - /** - * Event will be fired on orientation change (e.g. landscape -> portrait) - */ - orientationchange: (swiper: Swiper) => void; - /** - * Event will be fired in the beginning of animation of resetting slide to current one - */ - slideResetTransitionStart: (swiper: Swiper) => void; - /** - * Event will be fired in the end of animation of resetting slide to current one - */ - slideResetTransitionEnd: (swiper: Swiper) => void; - /** - * Event will be fired with first touch/drag move - */ - sliderFirstMove: (swiper: Swiper, event: TouchEvent) => void; - /** - * Event will be fired when number of slides has changed - */ - slidesLengthChange: (swiper: Swiper) => void; - /** - * Event will be fired when slides grid has changed - */ - slidesGridLengthChange: (swiper: Swiper) => void; - /** - * Event will be fired when snap grid has changed - */ - snapGridLengthChange: (swiper: Swiper) => void; - /** - * Event will be fired after swiper.update() call - */ - update: (swiper: Swiper) => void; - /** - * Event will be fired when swiper is locked (when `watchOverflow` enabled) - */ - lock: (swiper: Swiper) => void; - /** - * Event will be fired when swiper is unlocked (when `watchOverflow` enabled) - */ - unlock: (swiper: Swiper) => void; - // CORE_EVENTS_END -} - -interface SwiperEvents extends A11yEvents {} -interface SwiperEvents extends AutoplayEvents {} -interface SwiperEvents extends ControllerEvents {} -interface SwiperEvents extends CoverflowEffectEvents {} -interface SwiperEvents extends CubeEffectEvents {} -interface SwiperEvents extends FadeEffectEvents {} -interface SwiperEvents extends FlipEffectEvents {} -interface SwiperEvents extends CreativeEffectEvents {} -interface SwiperEvents extends CardsEffectEvents {} -interface SwiperEvents extends HashNavigationEvents {} -interface SwiperEvents extends HistoryEvents {} -interface SwiperEvents extends KeyboardEvents {} -interface SwiperEvents extends MousewheelEvents {} -interface SwiperEvents extends NavigationEvents {} -interface SwiperEvents extends PaginationEvents {} -interface SwiperEvents extends ParallaxEvents {} -interface SwiperEvents extends ScrollbarEvents {} -interface SwiperEvents extends ThumbsEvents {} -interface SwiperEvents extends VirtualEvents {} -interface SwiperEvents extends ZoomEvents {} -interface SwiperEvents extends FreeModeEvents {} diff --git a/node_modules/swiper/types/swiper-options.d.ts b/node_modules/swiper/types/swiper-options.d.ts deleted file mode 100644 index 7a97910..0000000 --- a/node_modules/swiper/types/swiper-options.d.ts +++ /dev/null @@ -1,1217 +0,0 @@ -import type { A11yOptions } from './modules/a11y.d.ts'; -import type { AutoplayOptions } from './modules/autoplay.d.ts'; -import type { ControllerOptions } from './modules/controller.d.ts'; -import type { CoverflowEffectOptions } from './modules/effect-coverflow.d.ts'; -import type { CubeEffectOptions } from './modules/effect-cube.d.ts'; -import type { FadeEffectOptions } from './modules/effect-fade.d.ts'; -import type { FlipEffectOptions } from './modules/effect-flip.d.ts'; -import type { CreativeEffectOptions } from './modules/effect-creative.d.ts'; -import type { CardsEffectOptions } from './modules/effect-cards.d.ts'; -import type { HashNavigationOptions } from './modules/hash-navigation.d.ts'; -import type { HistoryOptions } from './modules/history.d.ts'; -import type { KeyboardOptions } from './modules/keyboard.d.ts'; -import type { MousewheelOptions } from './modules/mousewheel.d.ts'; -import type { NavigationOptions } from './modules/navigation.d.ts'; -import type { PaginationOptions } from './modules/pagination.d.ts'; -import type { ParallaxOptions } from './modules/parallax.d.ts'; -import type { ScrollbarOptions } from './modules/scrollbar.d.ts'; -import type { ThumbsOptions } from './modules/thumbs.d.ts'; -import type { VirtualOptions } from './modules/virtual.d.ts'; -import type { ZoomOptions } from './modules/zoom.d.ts'; -import type { FreeModeOptions } from './modules/free-mode.d.ts'; -import type { GridOptions } from './modules/grid.d.ts'; - -import type { CSSSelector, SwiperModule } from './shared.d.ts'; -import type { SwiperEvents } from './swiper-events.d.ts'; - -export interface SwiperOptions { - /** - * Array with Swiper modules - * - * @example - * ```js - * import Swiper from 'swiper'; - * import { Navigation, Pagination } from 'swiper/modules'; - * - * const swiper = new Swiper('.swiper', { - * modules: [ Navigation, Pagination ], - * }); - * ``` - */ - modules?: SwiperModule[]; - /** - * Inject text styles to the shadow DOM. Only for usage with Swiper Element - * - */ - injectStyles?: string[]; - /** - * Inject styles ``s to the shadow DOM. Only for usage with Swiper Element - * - */ - injectStylesUrls?: string[]; - /** - * Whether Swiper should be initialised automatically when you create an instance. - * If disabled, then you need to init it manually by calling `swiper.init()` - * - * @default true - */ - init?: boolean; - - /** - * Whether Swiper initially enabled. When Swiper is disabled, it will hide all navigation elements and won't respond to any events and interactions - * - * @default true - */ - enabled?: boolean; - - /** - * Swiper will recalculate slides position on window resize (orientationchange) - * - * @default true - */ - updateOnWindowResize?: boolean; - - /** - * When enabled it will use ResizeObserver (if supported by browser) on swiper container to detect container resize (instead of watching for window resize) - * - * @default true - */ - resizeObserver?: boolean; - - /** - * Index number of initial slide. - * - * @default 0 - */ - initialSlide?: number; - - /** - * Can be `'horizontal'` or `'vertical'` (for vertical slider). - * - * @default 'horizontal' - */ - direction?: 'horizontal' | 'vertical'; - - /** - * When enabled, will swipe slides only forward (one-way) regardless of swipe direction - * - * @default false - */ - - oneWayMovement?: boolean; - - /** - * The name of the swiper element node name; used for detecting web component rendering - * - * @default 'SWIPER-CONTAINER' - */ - swiperElementNodeName?: string; - - /** - * Duration of transition between slides (in ms) - * - * @default 300 - */ - speed?: number; - - /** - * Enabled this option and plugin will set width/height on swiper wrapper equal to total size of all slides. - * Mostly should be used as compatibility fallback option for browser that don't support flexbox layout well - * - * @default false - */ - setWrapperSize?: boolean; - - /** - * Enabled this option and swiper will be operated as usual except it will not move, real translate values on wrapper will not be set. - * Useful when you may need to create custom slide transition - * - * @default false - */ - virtualTranslate?: boolean; - - /** - * Swiper width (in px). Parameter allows to force Swiper width. - * Useful only if you initialize Swiper when it is hidden and in SSR and Test environments for correct Swiper initialization - * - * @default null - * - * @note Setting this parameter will make Swiper not responsive - */ - width?: number | null; - - /** - * Swiper height (in px). Parameter allows to force Swiper height. - * Useful only if you initialize Swiper when it is hidden and in SSR and Test environments for correct Swiper initialization - * - * @default null - * - * @note Setting this parameter will make Swiper not responsive - */ - height?: number | null; - - /** - * Set to `true` and slider wrapper will adapt its height to the height of the currently active slide - * - * @default false - */ - autoHeight?: boolean; - - /** - * Set to `true` to round values of slides width and height to prevent blurry texts on usual - * resolution screens (if you have such) - * - * @default false - */ - roundLengths?: boolean; - - /** - * Set to `true` on Swiper for correct touch events interception. Use only on - * swipers that use same direction as the parent one - * - * @default false - */ - nested?: boolean; - - /** - * When enabled Swiper will automatically wrap slides with swiper-wrapper element, - * and will create required elements for navigation, pagination and scrollbar - * they are enabled (with their respective params object or with boolean `true`)) - * - * @default false - */ - createElements?: boolean; - - /** - * Event name prefix for all DOM events emitted by Swiper Element (web component) - * - * @default `swiper` - */ - eventsPrefix?: string; - - /** - * CSS selector for focusable elements. Swiping will be disabled on such elements if they are "focused" - * - * @default 'input, select, option, textarea, button, video, label' - */ - focusableElements?: string; - - /** - * If enabled (by default) and navigation elements' parameters passed as a string (like `".pagination"`) - * then Swiper will look for such elements through child elements first. - * Applies for pagination, prev/next buttons and scrollbar elements - * - * @default true - */ - uniqueNavElements?: boolean; - - /** - * Transition effect. Can be `'slide'`, `'fade'`, `'cube'`, `'coverflow'`, `'flip'`, `'creative'` or `'cards'` - * - * @default 'slide' - */ - effect?: 'slide' | 'fade' | 'cube' | 'coverflow' | 'flip' | 'creative' | 'cards' | string; - - /** - * Fire Transition/SlideChange/Start/End events on swiper initialization. - * Such events will be fired on initialization in case of your initialSlide is not 0, or you use loop mode - * - * @default true - */ - runCallbacksOnInit?: boolean; - - /** - * When enabled Swiper will be disabled and hide navigation buttons on - * case there are not enough slides for sliding. - * - * @default true - */ - watchOverflow?: boolean; - - /** - * userAgent string. Required for browser/device detection when rendered on server-side - * - * @default null - */ - userAgent?: string | null; - - /** - * Required for active slide detection when rendered on server-side and enabled history - * - * @default null - */ - url?: string | null; - - /** - * Register event handlers - */ - on?: { - [event in keyof SwiperEvents]?: SwiperEvents[event]; - }; - - /** - * Add event listener that will be fired on all events - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * onAny(eventName, ...args) { - * console.log('Event: ', eventName); - * console.log('Event data: ', args); - * } - * }); - * ``` - */ - onAny?(handler: (eventName: string, ...args: any[]) => void): void; - - /** - * When enabled it will use modern CSS Scroll Snap API. - * It doesn't support all of Swiper's features, but potentially should bring a much better performance in simple configurations. - * - * This is what is not supported when it is enabled: - * - * - Cube effect - * - `speed` parameter may not have no effect - * - All transition start/end related events (use `slideChange` instead) - * - `slidesPerGroup` has limited support - * - `simulateTouch` doesn't have effect and "dragging" with mouse doesn't work - * - `resistance` doesn't have any effect - * - `allowSlidePrev/Next` - * - `swipeHandler` - * - * In case if you use it with other effects, especially 3D effects, it is required to wrap slide's content with `
` element. And if you use any custom styles on slides (like background colors, border radius, border, etc.), they should be set on `swiper-slide-transform` element instead. - * - * @example - * ```html - *
- *
- *
- * - *
- * ... slide content ... - *
- *
- * ... - *
- *
- * - * ``` - * - * @default false - */ - cssMode?: boolean; - - // Slides grid - - /** - * Distance between slides in px. - * - * @default 0 - * - * @note If you use "margin" css property to the elements which go into Swiper in which you pass "spaceBetween" into, navigation might not work properly. - */ - spaceBetween?: number | string; - - /** - * Number of slides per view (slides visible at the same time on slider's container). - * @note `slidesPerView: 'auto'` is currently not compatible with multirow mode, when `grid.rows` > 1 - * - * @default 1 - */ - slidesPerView?: number | 'auto'; - - /** - * If total number of slides less than specified here value, then Swiper will enable `backface-visibility: hidden` on slide elements to reduce visual "flicker" in Safari. - * - * @note It is not recommended to enable it on large amount of slides as it will reduce performance - * - * @default 10 - */ - maxBackfaceHiddenSlides?: number; - - /** - * Set numbers of slides to define and enable group sliding. Useful to use with slidesPerView > 1 - * - * @default 1 - */ - slidesPerGroup?: number; - - /** - * The parameter works in the following way: If `slidesPerGroupSkip` equals `0` (default), no slides are excluded from grouping, and the resulting behaviour is the same as without this change. - * - * If `slidesPerGroupSkip` is equal or greater than `1` the first X slides are treated as single groups, whereas all following slides are grouped by the `slidesPerGroup` value. - * - * @default 0 - */ - slidesPerGroupSkip?: number; - - /** - * This param intended to be used only with `slidesPerView: 'auto'` and `slidesPerGroup: 1`. When enabled, it will skip all slides in view on `.slideNext()` & `.slidePrev()` methods calls, on Navigation "buttons" clicks and in autoplay. - * - * @default false - */ - slidesPerGroupAuto?: boolean; - - /** - * If `true`, then active slide will be centered, not always on the left side. - * - * @default false - */ - centeredSlides?: boolean; - - /** - * If `true`, then active slide will be centered without adding gaps at the beginning and end of slider. - * Required `centeredSlides: true`. Not intended to be used with `loop` or `pagination` - * - * @default false - */ - centeredSlidesBounds?: boolean; - - /** - * Add (in px) additional slide offset in the beginning of the container (before all slides) - * - * @default 0 - */ - slidesOffsetBefore?: number; - - /** - * Add (in px) additional slide offset in the end of the container (after all slides) - * - * @default 0 - */ - slidesOffsetAfter?: number; - - /** - * Normalize slide index. - * - * @default true - */ - normalizeSlideIndex?: boolean; - - /** - * When enabled it center slides if the amount of slides less than `slidesPerView`. Not intended to be used `loop` mode and `grid.rows` - * - * @default false - */ - centerInsufficientSlides?: boolean; - - /** - * This option may a little improve desktop usability. If `true`, user will see the "grab" cursor when hover on Swiper - * - * @default false - */ - grabCursor?: boolean; - - /** - * Target element to listen touch events on. Can be `'container'` (to listen for touch events on swiper) or `'wrapper'` - * (to listen for touch events on swiper-wrapper) - * - * @default 'wrapper' - */ - touchEventsTarget?: 'container' | 'wrapper'; - - /** - * Touch ratio - * - * @default 1 - */ - touchRatio?: number; - - /** - * Allowable angle (in degrees) to trigger touch move - * - * @default 45 - */ - touchAngle?: number; - - /** - * If `true`, Swiper will accept mouse events like touch events (click and drag to change slides) - * - * @default true - */ - simulateTouch?: boolean; - - /** - * Set to `false` if you want to disable short swipes - * - * @default true - */ - shortSwipes?: boolean; - - /** - * Set to `false` if you want to disable long swipes - * - * @default true - */ - longSwipes?: boolean; - - /** - * Ratio to trigger swipe to next/previous slide during long swipes - * - * @default 0.5 - */ - longSwipesRatio?: number; - - /** - * Minimal duration (in ms) to trigger swipe to next/previous slide during long swipes - * - * @default 300 - */ - longSwipesMs?: number; - - /** - * If disabled, then slider will be animated only when you release it, it will not move while you hold your finger on it - * - * @default true - */ - followFinger?: boolean; - - /** - * If `false`, then the only way to switch the slide is use of external API functions like slidePrev or slideNext - * - * @default true - */ - allowTouchMove?: boolean; - - /** - * Threshold value in px. If "touch distance" will be lower than this value then swiper will not move - * - * @default 5 - */ - threshold?: number; - - /** - * If disabled, `pointerdown` event won't be prevented - * - * @default true - */ - touchStartPreventDefault?: boolean; - - /** - * Force to always prevent default for `touchstart` (`pointerdown`) event - * - * @default false - */ - touchStartForcePreventDefault?: boolean; - - /** - * If enabled, then propagation of "touchmove" will be stopped - * - * @default false - */ - touchMoveStopPropagation?: boolean; - - /** - * Enable to release Swiper events for swipe-back work in app. If set to `'prevent'` then it will prevent system swipe-back navigation instead. This feature works only with "touch" events (and not pointer events), so it will work on iOS/Android devices and won't work on Windows devices with pointer (touch) events. - * - * @default false - */ - edgeSwipeDetection?: boolean | string; - - /** - * Area (in px) from left edge of the screen to release touch events for swipe-back in app - * - * @default 20 - */ - edgeSwipeThreshold?: number; - - /** - * Enable to release touch events on slider edge position (beginning, end) to allow for further page scrolling. This feature works only with "touch" events (and not pointer events), so it will work on iOS/Android devices and won't work on Windows devices with pointer events. Also `threshold` parameter must be set to `0` - * - * @default false - */ - touchReleaseOnEdges?: boolean; - - /** - * Passive event listeners will be used by default where possible to improve scrolling performance on mobile devices. - * But if you need to use `e.preventDefault` and you have conflict with it, then you should disable this parameter - * - * @default true - */ - passiveListeners?: boolean; - - // Touch Resistance - - /** - * Set to `false` if you want to disable resistant bounds - * - * @default true - */ - resistance?: boolean; - - /** - * This option allows you to control resistance ratio - * - * @default 0.85 - */ - resistanceRatio?: number; - - // Swiping / No swiping - /** - * When enabled it won't allow to change slides by swiping or navigation/pagination buttons during transition - * - * @default false - */ - preventInteractionOnTransition?: boolean; - - /** - * Set to `false` to disable swiping to previous slide direction (to left or top) - * - * @default true - */ - allowSlidePrev?: boolean; - - /** - * Set to `false` to disable swiping to next slide direction (to right or bottom) - * - * @default true - */ - allowSlideNext?: boolean; - - /** - * Enable/disable swiping on elements matched to class specified in `noSwipingClass` - * - * @default true - */ - noSwiping?: boolean; - - /** - * Specify `noSwiping`'s element css class - * - * @default 'swiper-no-swiping' - */ - noSwipingClass?: string; - - /** - * Can be used instead of `noSwipingClass` to specify elements to disable swiping on. - * For example `'input'` will disable swiping on all inputs - * - * @default - */ - noSwipingSelector?: string; - - /** - * String with CSS selector or HTML element of the container with pagination that will work as only available handler for swiping - * - * @default null - */ - swipeHandler?: CSSSelector | HTMLElement | null; - - // Clicks - /** - * Set to `true` to prevent accidental unwanted clicks on links during swiping - * - * @default true - */ - preventClicks?: boolean; - - /** - * Set to `true` to stop clicks event propagation on links during swiping - * - * @default true - */ - preventClicksPropagation?: boolean; - - /** - * Set to `true` and click on any slide will produce transition to this slide - * - * @default false - */ - slideToClickedSlide?: boolean; - - // Progress - /** - * Enable this feature to calculate each slides progress and visibility (slides in viewport will have additional visible class) - * - * @default false - */ - watchSlidesProgress?: boolean; - - /** - * Set to `true` to enable continuous loop mode - * - * Because of nature of how the loop mode works (it will rearrange slides), total number of slides must be: - * - * - more than or equal to `slidesPerView` + `slidesPerGroup` - * - even to `slidesPerGroup` (or use `loopAddBlankSlides` parameter) - * - even to `grid.rows` (or use `loopAddBlankSlides` parameter) - * - * @default false - * - */ - loop?: boolean; - - /** - * Automatically adds blank slides if you use Grid or `slidesPerGroup` and the total amount of slides is not even to `slidesPerGroup` or to `grid.rows` - * - * - * @default true - * - */ - loopAddBlankSlides?: boolean; - - /** - * Allows to increase amount of looped slides - * - * @default 0 - */ - loopAdditionalSlides?: number; - - /** - * If enabled then slideNext/Prev will do nothing while slider is animating in loop mode - * - * @default true - */ - loopPreventsSliding?: boolean; - - /** - * Set to `true` to enable "rewind" mode. When enabled, clicking "next" navigation button (or calling `.slideNext()`) when on last slide will slide back to the first slide. Clicking "prev" navigation button (or calling `.slidePrev()`) when on first slide will slide forward to the last slide. - * - * @default false - * - * @note Should not be used together with `loop` mode - */ - rewind?: boolean; - - /** - * Allows to set different parameter for different responsive breakpoints (screen sizes). Not all parameters can be changed in breakpoints, only those which do not require different layout and logic, like `slidesPerView`, `slidesPerGroup`, `spaceBetween`, `grid.rows`. Such parameters like `loop` and `effect` won't work - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * // Default parameters - * slidesPerView: 1, - * spaceBetween: 10, - * // Responsive breakpoints - * breakpoints: { - * // when window width is >= 320px - * 320: { - * slidesPerView: 2, - * spaceBetween: 20 - * }, - * // when window width is >= 480px - * 480: { - * slidesPerView: 3, - * spaceBetween: 30 - * }, - * // when window width is >= 640px - * 640: { - * slidesPerView: 4, - * spaceBetween: 40 - * } - * } - * }) - * ``` - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * slidesPerView: 1, - * spaceBetween: 10, - * // using "ratio" endpoints - * breakpoints: { - * '@0.75': { - * slidesPerView: 2, - * spaceBetween: 20, - * }, - * '@1.00': { - * slidesPerView: 3, - * spaceBetween: 40, - * }, - * '@1.50': { - * slidesPerView: 4, - * spaceBetween: 50, - * }, - * } - * }); - * ``` - */ - breakpoints?: { - [width: number]: SwiperOptions; - [ratio: string]: SwiperOptions; - }; - - /** - * Base for breakpoints (beta). Can be `window` or `container`. If set to `window` (by default) then breakpoint keys mean window width. If set to `container` then breakpoint keys treated as swiper container width - * - * @default 'window' - */ - breakpointsBase?: 'window' | 'container'; - - // Observer - /** - * Set to `true` to enable Mutation Observer on Swiper and its elements. In this case Swiper will be updated (reinitialized) each time if you change its style (like hide/show) or modify its child elements (like adding/removing slides) - * - * @default false - */ - observer?: boolean; - /** - * Set to `true` if you also need to watch Mutations for Swiper slide children elements - * - * @default false - */ - observeSlideChildren?: boolean; - /** - * Set to `true` if you also need to watch Mutations for Swiper parent elements - * - * @default false - */ - observeParents?: boolean; - - // Namespace - /** - * The beginning of the modifier CSS class that can be added to swiper container depending on different parameters - * - * @default 'swiper-' - */ - containerModifierClass?: string; - - /** - * CSS class name of slide - * - * @default 'swiper-slide' - * - * @note By changing classes you will also need to change Swiper's CSS to reflect changed classes - * - * @note Not supported in Swiper React/Vue components - */ - slideClass?: string; - - /** - * CSS class name of currently active slide - * - * @default 'swiper-slide-active' - * - * @note By changing classes you will also need to change Swiper's CSS to reflect changed classes - * - * @note Not supported in Swiper React/Vue components - */ - slideActiveClass?: string; - - /** - * CSS class name of currently/partially visible slide - * - * @default 'swiper-slide-visible' - * - * @note By changing classes you will also need to change Swiper's CSS to reflect changed classes - * - * @note Not supported in Swiper React/Vue - */ - slideVisibleClass?: string; - - /** - * CSS class name of fully (when whole slide is in the viewport) visible slide - * - * @default 'swiper-slide-fully-visible' - * - * @note Not supported in Swiper React/Vue - */ - slideFullyVisibleClass?: string; - - /** - * CSS class name of the blank slide added by the loop mode (when `loopAddBlankSlides` is enabled) - * - * @default 'swiper-slide-blank' - * - * @note Not supported in Swiper React/Vue - */ - slideBlankClass?: string; - - /** - * CSS class name of slide which is right after currently active slide - * - * @default 'swiper-slide-next' - * - * @note By changing classes you will also need to change Swiper's CSS to reflect changed classes - * - * @note Not supported in Swiper React/Vue - */ - slideNextClass?: string; - - /** - * CSS class name of slide which is right before currently active slide - * - * @default 'swiper-slide-prev' - * - * @note By changing classes you will also need to change Swiper's CSS to reflect changed classes - * - * @note Not supported in Swiper React/Vue - */ - slidePrevClass?: string; - - /** - * CSS class name of slides' wrapper - * - * @default 'swiper-wrapper' - * - * @note By changing classes you will also need to change Swiper's CSS to reflect changed classes - * - * @note Not supported in Swiper React/Vue - * - */ - wrapperClass?: string; - - /** - * CSS class name of lazy preloader - * - * @default 'swiper-lazy-preloader' - */ - lazyPreloaderClass?: string; - - /** - * Number of next and previous slides to preload. Only applicable if using lazy loading. - * - * @default 0 - */ - lazyPreloadPrevNext?: number; - - /** - * Object with a11y parameters or boolean `true` to enable with default settings. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * a11y: { - * prevSlideMessage: 'Previous slide', - * nextSlideMessage: 'Next slide', - * }, - * }); - * ``` - */ - a11y?: A11yOptions; - - /** - * Object with autoplay parameters or boolean `true` to enable with default settings - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * autoplay: { - * delay: 5000, - * }, - *}); - * ``` - */ - autoplay?: AutoplayOptions | boolean; - - /** - * Object with controller parameters or boolean `true` to enable with default settings - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * controller: { - * inverse: true, - * }, - * }); - * ``` - */ - controller?: ControllerOptions; - - /** - * Object with Coverflow-effect parameters. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * effect: 'coverflow', - * coverflowEffect: { - * rotate: 30, - * slideShadows: false, - * }, - * }); - * ``` - */ - coverflowEffect?: CoverflowEffectOptions; - - /** - * Object with Cube-effect parameters - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * effect: 'cube', - * cubeEffect: { - * slideShadows: false, - * }, - * }); - * ``` - */ - cubeEffect?: CubeEffectOptions; - - /** - * Object with Fade-effect parameters - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * effect: 'fade', - * fadeEffect: { - * crossFade: true - * }, - * }); - * ``` - */ - fadeEffect?: FadeEffectOptions; - - /** - * Object with Flip-effect parameters - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * effect: 'flip', - * flipEffect: { - * slideShadows: false, - * }, - * }); - * ``` - */ - flipEffect?: FlipEffectOptions; - - /** - * Object with Creative-effect parameters - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * effect: 'creative', - * creativeEffect: { - * prev: { - * // will set `translateZ(-400px)` on previous slides - * translate: [0, 0, -400], - * }, - * next: { - * // will set `translateX(100%)` on next slides - * translate: ['100%', 0, 0], - * }, - * }, - * }); - * ``` - */ - creativeEffect?: CreativeEffectOptions; - - /** - * Object with Cards-effect parameters - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * effect: 'cards', - * cardsEffect: { - * // ... - * }, - * }); - * ``` - */ - cardsEffect?: CardsEffectOptions; - - /** - * Enables hash url navigation to for slides. - * Object with hash navigation parameters or boolean `true` to enable with default settings - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * hashNavigation: { - * replaceState: true, - * }, - * }); - * ``` - */ - hashNavigation?: HashNavigationOptions | boolean; - - /** - * Enables history push state where every slide will have its own url. In this parameter you have to specify main slides url like `"slides"` and specify every slide url using `data-history` attribute. - * - * Object with history navigation parameters or boolean `true` to enable with default settings - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * history: { - * replaceState: true, - * }, - * }); - * ``` - * - * @example - * ```html - * - *
- * ``` - */ - history?: HistoryOptions | boolean; - - /** - * Enables navigation through slides using keyboard. Object with keyboard parameters or boolean `true` to enable with default settings - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * keyboard: { - * enabled: true, - * onlyInViewport: false, - * }, - * }); - * ``` - */ - keyboard?: KeyboardOptions | boolean; - - /** - * Enables navigation through slides using mouse wheel. Object with mousewheel parameters or boolean `true` to enable with default settings - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * mousewheel: { - * invert: true, - * }, - * }); - * ``` - */ - mousewheel?: MousewheelOptions | boolean; - - /** - * Object with navigation parameters or boolean `true` to enable with default settings. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * navigation: { - * nextEl: '.swiper-button-next', - * prevEl: '.swiper-button-prev', - * }, - * }); - * ``` - */ - navigation?: NavigationOptions | boolean; - - /** - * Object with pagination parameters or boolean `true` to enable with default settings. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * pagination: { - * el: '.swiper-pagination', - * type: 'bullets', - * }, - * }); - * ``` - */ - pagination?: PaginationOptions | boolean; - - /** - * Object with parallax parameters or boolean `true` to enable with default settings. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * parallax: true, - * }); - * ``` - */ - parallax?: ParallaxOptions | boolean; - - /** - * Object with scrollbar parameters or boolean `true` to enable with default settings. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * scrollbar: { - * el: '.swiper-scrollbar', - * draggable: true, - * }, - * }); - * ``` - */ - scrollbar?: ScrollbarOptions | boolean; - - /** - * Object with thumbs component parameters - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * ... - * thumbs: { - * swiper: thumbsSwiper - * } - * }); - * ``` - */ - thumbs?: ThumbsOptions; - - /** - * Enables virtual slides functionality. Object with virtual slides parameters or boolean `true` to enable with default settings. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * virtual: { - * slides: ['Slide 1', 'Slide 2', 'Slide 3', 'Slide 4', 'Slide 5'], - * }, - * }); - * ``` - */ - virtual?: VirtualOptions | boolean; - - /** - * Enables zooming functionality. Object with zoom parameters or boolean `true` to enable with default settings - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * zoom: { - * maxRatio: 5, - * }, - * }); - * ``` - */ - zoom?: ZoomOptions | boolean; - - /** - * Enables free mode functionality. Object with free mode parameters or boolean `true` to enable with default settings. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * freeMode: true, - * }); - * - * const swiper = new Swiper('.swiper', { - * freeMode: { - * enabled: true, - * sticky: true, - * }, - * }); - * ``` - */ - freeMode?: FreeModeOptions | boolean; - - /** - * Object with grid parameters to enable "multirow" slider. - * - * @example - * ```js - * const swiper = new Swiper('.swiper', { - * grid: { - * rows: 2, - * }, - * }); - * ``` - */ - grid?: GridOptions; - - /** - * !INTERNAL When enabled will emit "_containerClasses" and "_slideClass" events - */ - _emitClasses?: boolean; -} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index ceb3617..0000000 --- a/package-lock.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "amlackyar", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "dependencies": { - "iransans-fontface": "^0.1.1", - "swiper": "^11.1.3" - } - }, - "node_modules/iransans-fontface": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/iransans-fontface/-/iransans-fontface-0.1.1.tgz", - "integrity": "sha512-YSCx1yNbwgNrcmcSCnx3zkQ+LIJMDOxTLmFflUiGaJjN5Oio3FFP4wrYYqvhuehYxL/uVbMn9nX8IxUT366jfQ==" - }, - "node_modules/swiper": { - "version": "11.1.3", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.1.3.tgz", - "integrity": "sha512-80MSxonyTxrGcaWj9YgvvhD8OG0B9/9IVZP33vhIEvyWvmKjnQDBieO+29wKvMx285sAtvZyrWBdkxaw6+D3aw==", - "funding": [ - { - "type": "patreon", - "url": "https://www.patreon.com/swiperjs" - }, - { - "type": "open_collective", - "url": "http://opencollective.com/swiper" - } - ], - "engines": { - "node": ">= 4.7.0" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index b754b29..0000000 --- a/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "dependencies": { - "iransans-fontface": "^0.1.1", - "swiper": "^11.1.3" - } -} diff --git a/scripts/Bootstrap/bootstrap.bundle.min.js b/scripts/Bootstrap/bootstrap.bundle.min.js new file mode 100644 index 0000000..04e9185 --- /dev/null +++ b/scripts/Bootstrap/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function j(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function M(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${M(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${M(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=j(t.dataset[n])}return e},getDataAttribute:(t,e)=>j(t.getAttribute(`data-bs-${M(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>n(t))).join(","):null},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",jt="collapsing",Mt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(jt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(jt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(Mt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function je(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const Me={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:je(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:je(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,jn=`hide${xn}`,Mn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,jn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,Mn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,Mn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",js="Home",Ms="End",Fs="active",Hs="fade",Ws="show",Bs=".dropdown-toggle",zs=`:not(${Bs})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([js,Ms].includes(t.key))i=e[t.key===js?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return z.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(Bs,Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:z.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(Vs))Ks.getOrCreateInstance(t)})),m(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Ys=`mouseout${Qs}`,Us=`focusin${Qs}`,Gs=`focusout${Qs}`,Js=`hide${Qs}`,Zs=`hidden${Qs}`,to=`show${Qs}`,eo=`shown${Qs}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){N.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),d(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),N.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),N.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Xs,(t=>this._onInteraction(t,!0))),N.on(this._element,Ys,(t=>this._onInteraction(t,!1))),N.on(this._element,Us,(t=>this._onInteraction(t,!0))),N.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/scripts/accordion.js b/scripts/accordion.js new file mode 100644 index 0000000..4c3d986 --- /dev/null +++ b/scripts/accordion.js @@ -0,0 +1,77 @@ +let toggleImg = document.getElementById('toggleImg') +let toggleFlag = false + +function clickBtn(){ + if(toggleFlag){ + toggleImg.setAttribute('src','img/min.png') + toggleFlag = false + }else{ + toggleImg.setAttribute('src','img/big.png') + toggleFlag = true + } +} + +let toggleImg2 = document.getElementById('toggleImg2') +let toggleFlag2 = false + +function clickBtn2(){ + if(toggleFlag2){ + toggleImg2.setAttribute('src','img/big.png') + toggleFlag2 = false + }else{ + toggleImg2.setAttribute('src','img/min.png') + toggleFlag2 = true + } +} + +let toggleImg3 = document.getElementById('toggleImg3') +let toggleFlag3 = false + +function clickBtn3(){ + if(toggleFlag3){ + toggleImg3.setAttribute('src','img/big.png') + toggleFlag3 = false + }else{ + toggleImg3.setAttribute('src','img/min.png') + toggleFlag3 = true + } +} + +let toggleImg4 = document.getElementById('toggleImg4') +let toggleFlag4 = false + +function clickBtn4(){ + if(toggleFlag4){ + toggleImg4.setAttribute('src','img/big.png') + toggleFlag4 = false + }else{ + toggleImg4.setAttribute('src','img/min.png') + toggleFlag4 = true + } +} + +let toggleImg5 = document.getElementById('toggleImg5') +let toggleFlag5 = false + +function clickBtn5(){ + if(toggleFlag5){ + toggleImg5.setAttribute('src','img/big.png') + toggleFlag5 = false + }else{ + toggleImg5.setAttribute('src','img/min.png') + toggleFlag5 = true + } +} + +let toggleImg6 = document.getElementById('toggleImg6') +let toggleFlag6 = false + +function clickBtn6(){ + if(toggleFlag6){ + toggleImg6.setAttribute('src','img/big.png') + toggleFlag6 = false + }else{ + toggleImg6.setAttribute('src','img/min.png') + toggleFlag6 = true + } +} \ No newline at end of file diff --git a/scripts/menu-scroll.js b/scripts/menu-scroll.js new file mode 100644 index 0000000..e2cdfea --- /dev/null +++ b/scripts/menu-scroll.js @@ -0,0 +1,8 @@ +const mainNav = document.getElementById('mainNav'); +document.addEventListener('scroll', function () { + if (document.documentElement.scrollTop > 0) { + mainNav.classList.add('bg-white') + } else { + mainNav.classList.remove('bg-white') + } +}) \ No newline at end of file diff --git a/scripts/script.js b/scripts/script.js deleted file mode 100644 index eba0e5f..0000000 --- a/scripts/script.js +++ /dev/null @@ -1,199 +0,0 @@ -const $ = document; - -const tab1 = $.querySelector('#tab1') -const tab2 = $.querySelector('#tab2') -const tab3 = $.querySelector('#tab3') - -const tabOne = $.querySelector('#tabOne') -const tabTwo = $.querySelector('#tabTwo') -const tabThree = $.querySelector('#tabThree') - -const mobile1 = $.querySelector('#mobileOne') -const mobile2 = $.querySelector('#mobileTwo') -const mobile3 = $.querySelector('#mobileThree') - -const mobile4 = $.querySelector('#mobile4') -const mobile5 = $.querySelector('#mobile5') -const mobile6 = $.querySelector('#mobile6') - - -// last slider desktop view -const bigTab1 = $.querySelector('#bigTab1') -const bigTab2 = $.querySelector('#bigTab2') -const bigTab3 = $.querySelector('#bigTab3') - -const info1 = $.querySelector('#info1') -const info2 = $.querySelector('#info2') -const info3 = $.querySelector('#info3') - - - - -tab1.addEventListener('click', () => { - if (mobile1.classList.contains('opacity-0')) { - mobile1.classList.remove('opacity-0') - mobile1.classList.add('opacity-100') - mobile2.classList.add('opacity-0') - mobile2.classList.remove('opacity-100') - mobile3.classList.remove('opacity-100') - mobile3.classList.add('opacity-0') - tab1.classList.add('border-r-2') - tab1.classList.add('border-r-blue-600') - tab2.classList.remove('border-r-blue-600') - tab3.classList.remove('border-r-blue-600') - } - tab1.classList.add('border-r-blue-600') - tab2.classList.remove('border-r-blue-600') - tab3.classList.remove('border-r-blue-600') -}) - - -tab2.addEventListener('click', () => { - if (mobile2.classList.contains('opacity-0')) { - mobile2.classList.remove('opacity-0') - mobile2.classList.add('opacity-100') - mobile1.classList.add('opacity-0') - mobile1.classList.remove('opacity-100') - mobile3.classList.remove('opacity-100') - mobile3.classList.add('opacity-0') - tab2.classList.add('border-r-2') - tab2.classList.add('border-r-blue-600') - tab1.classList.remove('border-r-blue-600') - tab3.classList.remove('border-r-blue-600') - } -}) - - -tab3.addEventListener('click', () => { - if (mobile3.classList.contains('opacity-0')) { - mobile3.classList.remove('opacity-0') - mobile3.classList.add('opacity-100') - mobile1.classList.add('opacity-0') - mobile1.classList.remove('opacity-100') - mobile2.classList.remove('opacity-100') - mobile2.classList.add('opacity-0') - tab3.classList.add('border-r-2') - tab3.classList.add('border-r-blue-600') - tab1.classList.remove('border-r-blue-600') - tab2.classList.remove('border-r-blue-600') - } -}) - -tabOne.addEventListener('click', () => { - if (mobile4.classList.contains('opacity-0')) { - mobile4.classList.remove('opacity-0') - mobile4.classList.add('opacity-100') - mobile5.classList.add('opacity-0') - mobile5.classList.remove('opacity-100') - mobile6.classList.remove('opacity-100') - mobile6.classList.add('opacity-0') - tabOne.classList.add('border-r-2') - tabOne.classList.add('border-r-blue-600') - tabTwo.classList.remove('border-r-blue-600') - tabThree.classList.remove('border-r-blue-600') - } - tabOne.classList.add('border-r-blue-600') - tabTwo.classList.remove('border-r-blue-600') - tabThree.classList.remove('border-r-blue-600') -}) - -tabTwo.addEventListener('click', () => { - if (mobile5.classList.contains('opacity-0')) { - mobile5.classList.remove('opacity-0') - mobile5.classList.add('opacity-100') - mobile4.classList.remove('opacity-100') - mobile4.classList.add('opacity-0') - mobile6.classList.remove('opacity-100') - mobile6.classList.add('opacity-0') - tabTwo.classList.add('border-r-2') - tabTwo.classList.add('border-r-blue-600') - tabThree.classList.remove('border-r-blue-600') - tabOne.classList.remove('border-r-blue-600') - } -}) - -tabThree.addEventListener('click', () => { - if (mobile6.classList.contains('opacity-0')) { - mobile6.classList.remove('opacity-0') - mobile6.classList.add('opacity-100') - mobile4.classList.remove('opacity-100') - mobile4.classList.add('opacity-0') - mobile5.classList.remove('opacity-100') - mobile5.classList.add('opacity-0') - tabThree.classList.add('border-r-2') - tabThree.classList.add('border-r-blue-600') - tabTwo.classList.remove('border-r-blue-600') - tabOne.classList.remove('border-r-blue-600') - } -}) - -// bigTab1.addEventListener('click', () => { -// if (info1.classList.contains('opacity-0')) { -// info1.classList.remove('opacity-0') -// info1.classList.add('opacity-100') -// info2.classList.remove('opacity-100') -// info2.classList.add('opacity-0') -// info3.classList.remove('opacity-100') -// info3.classList.add('opacity-0') -// bigTab1.classList.add('border-b-4') -// bigTab1.classList.add('border-b-blue-600') -// bigTab2.classList.remove('border-b-blue-600') -// bigTab3.classList.remove('border-b-blue-600') -// console.log('object'); -// } -// }) - -// bigTab2.addEventListener('click', () => { -// if (info2.classList.contains('opacity-0')) { -// info2.classList.remove('opacity-0') -// info2.classList.add('opacity-100') -// info1.classList.remove('opacity-100') -// info1.classList.add('opacity-0') -// info3.classList.remove('opacity-100') -// info3.classList.add('opacity-0') -// bigTab2.classList.add('border-b-4') -// bigTab2.classList.add('border-b-blue-600') -// bigTab1.classList.remove('border-b-blue-600') -// bigTab3.classList.remove('border-b-blue-600') -// } -// }) - -// bigTab3.addEventListener('click', () => { -// if (info3.classList.contains('opacity-0')) { -// info3.classList.remove('opacity-0') -// info3.classList.add('opacity-100') -// info2.classList.remove('opacity-100') -// info2.classList.add('opacity-0') -// info1.classList.remove('opacity-100') -// info1.classList.add('opacity-0') -// bigTab3.classList.add('border-b-4') -// bigTab3.classList.add('border-b-blue-600') -// bigTab2.classList.remove('border-b-blue-600') -// bigTab1.classList.remove('border-b-blue-600') -// } -// }) -// console.log("object"); - -document.addEventListener('DOMContentLoaded', function () { - const images = document.querySelectorAll('#befor'); - const options = { - root: null, // صفحه اصلی - rootMargin: '0px', - threshold: 0.5 // حداقل 50% از تصویر باید در دید باشد - }; - - const observer = new IntersectionObserver(function (entries, observer) { - entries.forEach(entry => { - if (entry.isIntersecting) { - // const animationClass = entry.target.getAttribute('data-animation'); - entry.target.classList.add("after"); - // به منظور جلوگیری از اجرای مجدد انیمیشن پس از خارج شدن و وارد شدن مجدد به دید - observer.unobserve(entry.target); - } - }); - }, options); - - images.forEach(image => { - observer.observe(image); - }); -}); diff --git a/styles/Bootstrap/bootstrap.rtl.min.css b/styles/Bootstrap/bootstrap.rtl.min.css new file mode 100644 index 0000000..802b60d --- /dev/null +++ b/styles/Bootstrap/bootstrap.rtl.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-right:0;list-style:none}.list-inline{padding-right:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-left:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-left:calc(-.5 * var(--bs-gutter-x));margin-right:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem .75rem .375rem 2.25rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:left .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-left:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-right:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-right:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-right:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:right;margin-right:-1.5em}.form-check-reverse{padding-left:1.5em;padding-right:0;text-align:left}.form-check-reverse .form-check-input{float:left;margin-left:-1.5em;margin-right:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-right:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-right:-2.5em;background-image:var(--bs-form-switch-bg);background-position:right center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:left center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-left:2.5em;padding-right:0}.form-switch.form-check-reverse .form-check-input{margin-left:-2.5em;margin-right:0}.form-check-inline{display:inline-block;margin-left:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;right:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:100% 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-left:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-left-radius:0;border-bottom-left-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-right:calc(var(--bs-border-width) * -1);border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-left:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-left:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) left calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-left:4.125rem;background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-right:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-left:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-left:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) left calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-left:4.125rem;background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-right:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-left:.3em solid transparent;border-bottom:0;border-right:.3em solid transparent}.dropdown-toggle:empty::after{margin-right:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:right;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;right:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:0;right:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{left:0;right:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{left:0;right:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{left:0;right:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:0;border-left:.3em solid transparent;border-bottom:.3em solid;border-right:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-right:0}.dropend .dropdown-menu[data-bs-popper]{top:0;left:auto;right:100%;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-left:0;border-bottom:.3em solid transparent;border-right:.3em solid}.dropend .dropdown-toggle:empty::after{margin-right:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;left:100%;right:auto;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-right:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-left:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-right:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-right:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-right-radius:0;border-bottom-right-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-right:0}.dropstart .dropdown-toggle-split::before{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-right-radius:0;border-top-left-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-right:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-right-radius:var(--bs-nav-tabs-border-radius);border-top-left-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-right-radius:0;border-top-left-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-left:0;padding-right:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-left:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-right:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-right-radius:var(--bs-card-inner-border-radius);border-top-left-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-right:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-left:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-right:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-left:calc(-.5 * var(--bs-card-cap-padding-x));margin-right:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;left:0;bottom:0;right:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-right-radius:var(--bs-card-inner-border-radius);border-top-left-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-right:0;border-right:0}.card-group>.card:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-right-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:right;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-right:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-right-radius:var(--bs-accordion-border-radius);border-top-left-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-right-radius:var(--bs-accordion-inner-border-radius);border-top-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-left-radius:var(--bs-accordion-border-radius);border-bottom-right-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-left-radius:var(--bs-accordion-inner-border-radius);border-bottom-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-left-radius:var(--bs-accordion-border-radius);border-bottom-right-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-left:0;border-right:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-right:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:right;padding-left:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-right:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-right:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-left:3rem}.alert-dismissible .btn-close{position:absolute;top:0;left:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-right:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-right-radius:inherit;border-top-left-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-right-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-right-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-right-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-right-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-right-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-right-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-left:calc(-.5 * var(--bs-toast-padding-x));margin-right:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;right:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;right:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-right-radius:var(--bs-modal-inner-border-radius);border-top-left-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) auto calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x))}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-left-radius:var(--bs-modal-inner-border-radius);border-bottom-right-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-left:auto;margin-right:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;right:50%;display:block;width:var(--bs-popover-arrow-width);margin-right:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-right-radius:var(--bs-popover-inner-border-radius);border-top-left-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:right;width:100%;margin-left:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(-100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{right:0}.carousel-control-next{left:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;left:0;bottom:0;right:0;z-index:2;display:flex;justify-content:center;padding:0;margin-left:15%;margin-bottom:1rem;margin-right:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-left:3px;margin-right:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;left:15%;bottom:1.25rem;right:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-left-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-end{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-top{top:0;left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-end{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-top{top:0;left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-end{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-top{top:0;left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-end{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-top{top:0;left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-end{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-top{top:0;left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-end{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-top{top:0;left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;right:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) auto calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(-.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;right:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;left:0;right:0;z-index:1030}.fixed-bottom{position:fixed;left:0;bottom:0;right:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:right!important}.float-end{float:left!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{right:0!important}.start-50{right:50%!important}.start-100{right:100%!important}.end-0{left:0!important}.end-50{left:50%!important}.end-100{left:100%!important}.translate-middle{transform:translate(50%,-50%)!important}.translate-middle-x{transform:translateX(50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-left:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-right:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-left:0!important}.me-1{margin-left:.25rem!important}.me-2{margin-left:.5rem!important}.me-3{margin-left:1rem!important}.me-4{margin-left:1.5rem!important}.me-5{margin-left:3rem!important}.me-auto{margin-left:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-right:0!important}.ms-1{margin-right:.25rem!important}.ms-2{margin-right:.5rem!important}.ms-3{margin-right:1rem!important}.ms-4{margin-right:1.5rem!important}.ms-5{margin-right:3rem!important}.ms-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-left:0!important}.pe-1{padding-left:.25rem!important}.pe-2{padding-left:.5rem!important}.pe-3{padding-left:1rem!important}.pe-4{padding-left:1.5rem!important}.pe-5{padding-left:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-right:0!important}.ps-1{padding-right:.25rem!important}.ps-2{padding-right:.5rem!important}.ps-3{padding-right:1rem!important}.ps-4{padding-right:1.5rem!important}.ps-5{padding-right:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:right!important}.text-end{text-align:left!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-right-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-right-radius:0!important;border-top-left-radius:0!important}.rounded-top-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-right-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-right-radius:50%!important;border-top-left-radius:50%!important}.rounded-top-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-left-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.rounded-end-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-left-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-end-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-bottom-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-bottom-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.rounded-start-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-right-radius:50%!important;border-top-right-radius:50%!important}.rounded-start-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:right!important}.float-sm-end{float:left!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-left:0!important}.me-sm-1{margin-left:.25rem!important}.me-sm-2{margin-left:.5rem!important}.me-sm-3{margin-left:1rem!important}.me-sm-4{margin-left:1.5rem!important}.me-sm-5{margin-left:3rem!important}.me-sm-auto{margin-left:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-right:0!important}.ms-sm-1{margin-right:.25rem!important}.ms-sm-2{margin-right:.5rem!important}.ms-sm-3{margin-right:1rem!important}.ms-sm-4{margin-right:1.5rem!important}.ms-sm-5{margin-right:3rem!important}.ms-sm-auto{margin-right:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-left:0!important}.pe-sm-1{padding-left:.25rem!important}.pe-sm-2{padding-left:.5rem!important}.pe-sm-3{padding-left:1rem!important}.pe-sm-4{padding-left:1.5rem!important}.pe-sm-5{padding-left:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-right:0!important}.ps-sm-1{padding-right:.25rem!important}.ps-sm-2{padding-right:.5rem!important}.ps-sm-3{padding-right:1rem!important}.ps-sm-4{padding-right:1.5rem!important}.ps-sm-5{padding-right:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:right!important}.text-sm-end{text-align:left!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:right!important}.float-md-end{float:left!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-left:0!important}.me-md-1{margin-left:.25rem!important}.me-md-2{margin-left:.5rem!important}.me-md-3{margin-left:1rem!important}.me-md-4{margin-left:1.5rem!important}.me-md-5{margin-left:3rem!important}.me-md-auto{margin-left:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-right:0!important}.ms-md-1{margin-right:.25rem!important}.ms-md-2{margin-right:.5rem!important}.ms-md-3{margin-right:1rem!important}.ms-md-4{margin-right:1.5rem!important}.ms-md-5{margin-right:3rem!important}.ms-md-auto{margin-right:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-left:0!important}.pe-md-1{padding-left:.25rem!important}.pe-md-2{padding-left:.5rem!important}.pe-md-3{padding-left:1rem!important}.pe-md-4{padding-left:1.5rem!important}.pe-md-5{padding-left:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-right:0!important}.ps-md-1{padding-right:.25rem!important}.ps-md-2{padding-right:.5rem!important}.ps-md-3{padding-right:1rem!important}.ps-md-4{padding-right:1.5rem!important}.ps-md-5{padding-right:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:right!important}.text-md-end{text-align:left!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:right!important}.float-lg-end{float:left!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-left:0!important}.me-lg-1{margin-left:.25rem!important}.me-lg-2{margin-left:.5rem!important}.me-lg-3{margin-left:1rem!important}.me-lg-4{margin-left:1.5rem!important}.me-lg-5{margin-left:3rem!important}.me-lg-auto{margin-left:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-right:0!important}.ms-lg-1{margin-right:.25rem!important}.ms-lg-2{margin-right:.5rem!important}.ms-lg-3{margin-right:1rem!important}.ms-lg-4{margin-right:1.5rem!important}.ms-lg-5{margin-right:3rem!important}.ms-lg-auto{margin-right:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-left:0!important}.pe-lg-1{padding-left:.25rem!important}.pe-lg-2{padding-left:.5rem!important}.pe-lg-3{padding-left:1rem!important}.pe-lg-4{padding-left:1.5rem!important}.pe-lg-5{padding-left:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-right:0!important}.ps-lg-1{padding-right:.25rem!important}.ps-lg-2{padding-right:.5rem!important}.ps-lg-3{padding-right:1rem!important}.ps-lg-4{padding-right:1.5rem!important}.ps-lg-5{padding-right:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:right!important}.text-lg-end{text-align:left!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:right!important}.float-xl-end{float:left!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-left:0!important}.me-xl-1{margin-left:.25rem!important}.me-xl-2{margin-left:.5rem!important}.me-xl-3{margin-left:1rem!important}.me-xl-4{margin-left:1.5rem!important}.me-xl-5{margin-left:3rem!important}.me-xl-auto{margin-left:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-right:0!important}.ms-xl-1{margin-right:.25rem!important}.ms-xl-2{margin-right:.5rem!important}.ms-xl-3{margin-right:1rem!important}.ms-xl-4{margin-right:1.5rem!important}.ms-xl-5{margin-right:3rem!important}.ms-xl-auto{margin-right:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-left:0!important}.pe-xl-1{padding-left:.25rem!important}.pe-xl-2{padding-left:.5rem!important}.pe-xl-3{padding-left:1rem!important}.pe-xl-4{padding-left:1.5rem!important}.pe-xl-5{padding-left:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-right:0!important}.ps-xl-1{padding-right:.25rem!important}.ps-xl-2{padding-right:.5rem!important}.ps-xl-3{padding-right:1rem!important}.ps-xl-4{padding-right:1.5rem!important}.ps-xl-5{padding-right:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:right!important}.text-xl-end{text-align:left!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:right!important}.float-xxl-end{float:left!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-left:0!important}.me-xxl-1{margin-left:.25rem!important}.me-xxl-2{margin-left:.5rem!important}.me-xxl-3{margin-left:1rem!important}.me-xxl-4{margin-left:1.5rem!important}.me-xxl-5{margin-left:3rem!important}.me-xxl-auto{margin-left:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-right:0!important}.ms-xxl-1{margin-right:.25rem!important}.ms-xxl-2{margin-right:.5rem!important}.ms-xxl-3{margin-right:1rem!important}.ms-xxl-4{margin-right:1.5rem!important}.ms-xxl-5{margin-right:3rem!important}.ms-xxl-auto{margin-right:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-left:0!important}.pe-xxl-1{padding-left:.25rem!important}.pe-xxl-2{padding-left:.5rem!important}.pe-xxl-3{padding-left:1rem!important}.pe-xxl-4{padding-left:1.5rem!important}.pe-xxl-5{padding-left:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-right:0!important}.ps-xxl-1{padding-right:.25rem!important}.ps-xxl-2{padding-right:.5rem!important}.ps-xxl-3{padding-right:1rem!important}.ps-xxl-4{padding-right:1.5rem!important}.ps-xxl-5{padding-right:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:right!important}.text-xxl-end{text-align:left!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.rtl.min.css.map */ \ No newline at end of file diff --git a/styles/style.css b/styles/style.css index 8d8fdc4..6e592f2 100644 --- a/styles/style.css +++ b/styles/style.css @@ -1,59 +1,546 @@ @font-face { font-family: Iransans; - src: url(./../fonts/iransans/IRANSansX-Regular.woff); + src: url(./../fonts/iransans/IRANSansX-Regular.otf); +} + +/* opera & chrome & safari & Edge */ +::-webkit-scrollbar { + width: 8px; + background-color: #fff; +} + +::-webkit-scrollbar-thumb { + background: rgb(186, 186, 186); + border: 2px solid rgb(184, 184, 184); + border-radius: 10px; +} + +html { + scroll-behavior: smooth; +} + +/* All */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +li { + list-style-type: none; +} + +a { + text-decoration: none; } body { font-family: Iransans, sans-serif; + overflow-x: hidden; } -/* *{ + +/* Start Navbar */ +.navbar { + height: 80px; +} + +.learn-button { + background-color: rgba(0, 90, 194, 1); + color: #fff; + border: none; +} + +@media screen and (max-width: 768px) { + .learn-button { + display: none; + } +} + +.navbar-toggler { + font-size: 1.25rem; + margin-right: 1rem; +} + +.navbar-toggler:focus, +.btn-close:focus { + box-shadow: none; + outline: none; +} + +.nav-link { + color: #000; + font-weight: 500; position: relative; -} */ -.swiper { - width: 100%; - height: 100%; } -.swiper-slide { - text-align: center; - font-size: 18px; - background: #fff; - display: flex; - justify-content: center; - align-items: center; +.nav-link:hover { + color: #000; +} + +.logo-header { + height: 2.3rem; + top: 0; +} + +@media (min-width: 991px) { + .nav-link::before { + content: ""; + position: absolute; + bottom: 0; + left: 50%; + transform: translateX(-50%); + width: 0; + height: 2px; + background-color: rgba(0, 90, 194, 1); + visibility: hidden; + transition: 0.3s ease-in-out; + } + + .nav-link:hover::before, + .nav-link.active::before { + width: 100%; + visibility: visible; + } +} + +@media screen and (max-width: 450px) { + .navbar { + padding: 0.5rem 0.2rem; + } +} + +.bg-white { + background: rgb(255, 255, 255) !important; + box-shadow: 0 0 0.5rem 0 rgb(151, 149, 149); +} +/* End Navbar */ + +/* Start Header Site */ +.section-top { + height: 40rem; +} + +.section-top-txt { + padding-top: 15rem; +} + +.section-top-txt h1 { + font-weight: bold; + font-size: 2.8rem; +} + +.section-top-txt p { + color: rgba(102, 112, 133, 1); +} + +.img-head { + height: 32rem; +} + +.head { + background: url(../img/neon.png); + background-position: center; + background-repeat: no-repeat; + height: 40rem; + margin: 0 auto; +} + +.learn-button-hide { + color: #000; + display: none; + background-color: #fff; } -.swiper-slide img { - display: block; +@media screen and (max-width: 575px) { + .learn-button-hide { + display: block; + width: 100%; + margin-top: 2vh; + } +} + +@media screen and (max-width: 1225px) { + .img-head { + height: 29rem; + } +} + +@media screen and (max-width: 1071px) { + .img-head { + height: 25rem; + } + + .section-top-txt h1 { + font-size: 2.4rem; + } +} + +@media screen and (max-width: 960px) { + .head { + height: 34rem; + } + + .section-top { + height: 34rem; + } + + .img-head { + height: 21rem; + } + + .section-top-txt h1 { + font-size: 2rem; + } +} + +@media screen and (max-width: 880px) { + .head { + height: 30rem; + } + + .section-top { + height: 30rem; + } + + .section-top-txt { + padding-top: 10rem; + } +} + +@media screen and (max-width: 822px) { + .section-top-txt { + padding-top: 10rem; + } + + .img-head { + height: 19rem; + } +} + +@media screen and (max-width: 768px) { + .head { + height: auto; + } + + .section-top { + height: auto; + } + + .section-top-txt { + padding-top: 8rem; + } +} +/* End Header Site */ + +/* Start Whay Amlakyar */ +.top-span { + color: rgba(0, 90, 194, 1); + font-weight: bold; + font-size: 0.9rem; +} + +.section-txt-whay { width: 50%; - height: 100%; - object-fit: cover; } -#befor{ - opacity: 0; + +.respone-span { + font-weight: bold; } -.eleman1{ - position: relative; - animation-name: example; - animation-duration: 1s; - animation-delay: 200ms; - animation-fill-mode: forwards; + +.section-txt-whay { + color: rgba(102, 112, 133, 1); } -.eleman2{ - opacity: 0; - position: relative; - animation-name: example; - animation-duration: 1s; - animation-delay: 400ms; - animation-fill-mode: forwards; + +.box-option { + height: 15rem; } -.after{ - position: relative; - animation-name: example; - animation-duration: 1s; - animation-fill-mode: forwards; -} -@keyframes example { - from {top:40px; opacity: 0;} - to { top:0px;opacity: 1;} - } \ No newline at end of file + +.box-title { + font-size: 1.1rem; + font-weight: bold; +} + +.box-txt { + font-size: 0.9rem; + color: rgba(102, 112, 133, 1); +} + +@media screen and (max-width: 845px) { + .section-txt-whay { + width: 100%; + } +} +/* End Whay Amlakyar */ + +/* Start Option Amlakyar */ +@media screen and (max-width: 991px) { + .option2 { + flex-direction: column-reverse; + } +} + +.icon-option { + background-color: #D8E2FF; + width: 40px; + height: 40px; +} + +.option1-txt p, +.option2-txt p, +.option3-txt p { + color: rgba(102, 112, 133, 1); +} + +.section-txt-row { + width: 50%; + margin: 0 auto; + color: rgba(102, 112, 133, 1); +} + +@media screen and (max-width: 845px) { + .section-txt-row { + width: 100%; + } +} + +.lists-option li { + color: rgba(102, 112, 133, 1); + font-size: 0.9rem; +} + +.lists-option li div { + width: 25px; + height: 25px; + background-color: #D8E2FF; +} + +.phone-main { + width: 32rem; +} + +.phone-main-tablet { + width: 36rem; +} + +@media screen and (min-width: 992px) { + .phone-small { + display: none; + } + + .phone-main { + display: block; + } +} + +@media screen and (max-width: 991px) { + .phone-small { + display: block; + } + + .phone-main { + display: none; + } +} + +@media screen and (max-width: 1160px) { + .phone-main { + width: 25rem; + } +} + +@media screen and (max-width: 1160px) { + .phone-main-tablet { + width: 32rem; + } +} + +@media screen and (max-width: 1035px) { + .phone-main-tablet { + width: 28rem; + } +} + +@media screen and (max-width: 470px) { + .phone-main-tablet { + width: 17rem; + } +} +/* End Option Amlakyar */ + +/* Start Questions */ +.title-question-user { + font-weight: bold; +} + +.question-user p { + font-size: 0.9rem; + color: rgba(102, 112, 133, 1); +} + +.btn-question-user { + background-color: #075E54; + color: #fff; + border: none; +} + +.accordion { + width: 60%; +} + +.accordion-button { + background-color: #fff !important; + column-gap: 1vh; +} + +.accordion-item { + border: none; +} + +.accordion-button img { + height: 1.3rem; +} + +.accordion-button:not(.collapsed)::after { + display: none; +} + +.accordion-button::after { + display: none; +} + +.accordion-button:focus { + box-shadow: none; +} + +.accordion-body p { + color: rgba(102, 112, 133, 1); + font-size: 0.9rem; +} + +@media screen and (max-width: 900px) { + .accordion { + width: 80%; + } +} + +@media screen and (max-width: 600px) { + .accordion { + width: 90%; + } + + .accordion-header span { + font-size: 0.9rem; + } + + .accordion-button img { + height: 1.1rem; + } +} +/* End Questions */ + +/* Start Download And Insta */ +.phone-download { + height: 27rem; +} + +.download-fast { + background-color: rgba(0, 90, 194, 1); + color: #fff; + border: none; +} + +.download-qrcode { + border: none; +} + +@media screen and (max-width: 768px) { + + .download-img, + .phone-download { + display: none; + } +} + +.title-row-section { + font-weight: bold; +} + +@media screen and (max-width: 825px) { + .phone-download { + height: 20rem; + } +} + +@media screen and (max-width: 575px) { + .download-fast { + width: 100%; + } + + .btns-download { + width: 100%; + } + + .download-qrcode { + display: none; + } +} + +.btn-insta { + border: none; +} + +.btn-learn { + border: none; + background-color: rgba(0, 90, 194, 1); + color: #fff; +} + +@media screen and (max-width: 575px) { + .btn-insta { + width: 100%; + } + + .btn-learn { + width: 100%; + margin-bottom: 1rem; + } +} +/* End Download And Insta */ + +/* Start Footer */ +.logo-footer { + width: 7rem; +} + +.team { + color: rgba(102, 112, 133, 1); + font-size: 0.9rem; +} + +.coffee { + height: 1.2rem; +} + +.img-namad img { + height: 5rem; +} + +.img-social { + column-gap: 3vh; +} + +.img-social img:hover { + cursor: pointer; +} + +.txt-foot { + color: rgba(102, 112, 133, 1); + font-size: 0.8rem; +} + +@media screen and (max-width: 830px) { + .logo-footer { + width: 5rem; + } +} +/* End Footer */ \ No newline at end of file