@itcenteratunihelsinki/huds-lib 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/cta-button.js +1 -1
- package/components/cta-link.js +1 -1
- package/components/hy-accordion-item.js +1 -1
- package/components/hy-anchor-link-list.js +1 -1
- package/components/hy-breadcrumbs.js +1 -1
- package/components/hy-checkbox.js +1 -1
- package/components/hy-content-list-item2.js +1 -1
- package/components/hy-crisis-banner.js +1 -1
- package/components/hy-dropdown.js +1 -1
- package/components/hy-event-item.js +1 -1
- package/components/hy-events.js +1 -1
- package/components/hy-filter-group.js +1 -1
- package/components/hy-filter-list-type.js +1 -1
- package/components/hy-filter-visibility-tool.js +1 -1
- package/components/hy-footer-action.js +1 -1
- package/components/hy-footer-base.js +1 -1
- package/components/hy-footer-link-item2.js +1 -1
- package/components/hy-general-list-item2.js +1 -1
- package/components/hy-hero-carousel.js +358 -337
- package/components/hy-menu-main-group2.js +1 -1
- package/components/hy-opening-hours.js +1 -1
- package/components/hy-pager-item.js +1 -1
- package/components/hy-person-card.js +1 -1
- package/components/hy-person-profile.js +4 -4
- package/components/hy-search-field2.js +1 -1
- package/components/hy-shortcuts.js +1 -1
- package/components/hy-site-header.js +2 -2
- package/components/hy-tabs2.js +1 -1
- package/components/link-box.js +1 -1
- package/components/menu-language-item.js +1 -1
- package/components/menu-language.js +1 -1
- package/components/site-logo.js +1 -1
- package/components/site-search.js +1 -1
- package/dist/cjs/hy-accordion-container_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-anchor-link-list.cjs.entry.js +1 -1
- package/dist/cjs/hy-breadcrumbs_15.cjs.entry.js +11 -11
- package/dist/cjs/hy-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/hy-content-list_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-crisis-banner.cjs.entry.js +1 -1
- package/dist/cjs/hy-cta-button.cjs.entry.js +1 -1
- package/dist/cjs/hy-cta-link.cjs.entry.js +1 -1
- package/dist/cjs/hy-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/hy-event-item.cjs.entry.js +1 -1
- package/dist/cjs/hy-events.cjs.entry.js +1 -1
- package/dist/cjs/hy-filter-group_6.cjs.entry.js +3 -3
- package/dist/cjs/hy-general-list_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-hero-carousel.cjs.entry.js +358 -337
- package/dist/cjs/hy-link-box_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-menu-main-group.cjs.entry.js +1 -1
- package/dist/cjs/hy-opening-hours_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-pager_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-person-card.cjs.entry.js +1 -1
- package/dist/cjs/hy-person-profile.cjs.entry.js +4 -4
- package/dist/cjs/hy-shortcuts.cjs.entry.js +1 -1
- package/dist/cjs/hy-tabs_2.cjs.entry.js +1 -1
- package/dist/collection/components/footer/hy-footer-action/hy-footer-action.css +6 -0
- package/dist/collection/components/footer/hy-footer-base/hy-footer-base.css +13 -1
- package/dist/collection/components/footer/hy-footer-link-item/hy-footer-link-item.css +18 -0
- package/dist/collection/components/hy-accordion-item/accordion-item.css +6 -0
- package/dist/collection/components/hy-anchor-link-list/hy-anchor-link-list.css +12 -0
- package/dist/collection/components/hy-breadcrumbs/hy-breadcrumbs.css +12 -0
- package/dist/collection/components/hy-checkbox/hy-checkbox.css +12 -8
- package/dist/collection/components/hy-content-lists/hy-content-list-item/hy-content-list-item.css +6 -0
- package/dist/collection/components/hy-crisis-banner/hy-crisis-banner.css +2 -2
- package/dist/collection/components/hy-cta-button/cta-button.css +63 -15
- package/dist/collection/components/hy-cta-link/cta-link.css +8 -2
- package/dist/collection/components/hy-dropdown/hy-dropdown.css +1 -1
- package/dist/collection/components/hy-event-item/hy-event-item.css +4 -4
- package/dist/collection/components/hy-events/hy-events.css +6 -0
- package/dist/collection/components/hy-filter-group/hy-filter-group.css +6 -0
- package/dist/collection/components/hy-filter-list-type/hy-filter-list-type.css +12 -0
- package/dist/collection/components/hy-filter-visibility-tool/hy-filter-visibility-tool.css +8 -4
- package/dist/collection/components/hy-general-list-item/hy-general-list-item.css +8 -2
- package/dist/collection/components/hy-hero-carousel/hy-hero-carousel.css +3 -22
- package/dist/collection/components/hy-hero-carousel/hy-hero-carousel.js +2 -1
- package/dist/collection/components/hy-link-box/link-box.css +4 -1
- package/dist/collection/components/hy-navigation/hy-menu-main-group/hy-menu-main-group.css +29 -2
- package/dist/collection/components/hy-navigation/menu-language/menu-language.css +11 -3
- package/dist/collection/components/hy-navigation/menu-language-item/menu-language-item.css +6 -0
- package/dist/collection/components/hy-opening-hours/hy-opening-hours.css +9 -2
- package/dist/collection/components/hy-pagination/hy-pager-item/hy-pager-item.css +6 -0
- package/dist/collection/components/hy-person-card/hy-person-card.css +1 -1
- package/dist/collection/components/hy-person-profile/person-profile.js +4 -4
- package/dist/collection/components/hy-search-field/hy-search-field.css +12 -6
- package/dist/collection/components/hy-shortcuts/hy-shortcuts.css +6 -0
- package/dist/collection/components/hy-site-header/site-header.css +24 -4
- package/dist/collection/components/hy-site-header/site-header.js +1 -1
- package/dist/collection/components/hy-site-header/site-logo/site-logo.css +6 -4
- package/dist/collection/components/hy-site-header/site-search/site-search.css +20 -6
- package/dist/collection/components/hy-tabs/hy-tabs.css +12 -4
- package/dist/esm/hy-accordion-container_2.entry.js +1 -1
- package/dist/esm/hy-anchor-link-list.entry.js +1 -1
- package/dist/esm/hy-breadcrumbs_15.entry.js +11 -11
- package/dist/esm/hy-checkbox.entry.js +1 -1
- package/dist/esm/hy-content-list_2.entry.js +1 -1
- package/dist/esm/hy-crisis-banner.entry.js +1 -1
- package/dist/esm/hy-cta-button.entry.js +1 -1
- package/dist/esm/hy-cta-link.entry.js +1 -1
- package/dist/esm/hy-dropdown.entry.js +1 -1
- package/dist/esm/hy-event-item.entry.js +1 -1
- package/dist/esm/hy-events.entry.js +1 -1
- package/dist/esm/hy-filter-group_6.entry.js +3 -3
- package/dist/esm/hy-general-list_2.entry.js +1 -1
- package/dist/esm/hy-hero-carousel.entry.js +358 -337
- package/dist/esm/hy-link-box_2.entry.js +1 -1
- package/dist/esm/hy-menu-main-group.entry.js +1 -1
- package/dist/esm/hy-opening-hours_2.entry.js +1 -1
- package/dist/esm/hy-pager_2.entry.js +1 -1
- package/dist/esm/hy-person-card.entry.js +1 -1
- package/dist/esm/hy-person-profile.entry.js +4 -4
- package/dist/esm/hy-shortcuts.entry.js +1 -1
- package/dist/esm/hy-tabs_2.entry.js +1 -1
- package/dist/huds-lib/hy-accordion-container_2.entry.js +1 -1
- package/dist/huds-lib/hy-anchor-link-list.entry.js +1 -1
- package/dist/huds-lib/hy-breadcrumbs_15.entry.js +1 -1
- package/dist/huds-lib/hy-checkbox.entry.js +1 -1
- package/dist/huds-lib/hy-content-list_2.entry.js +1 -1
- package/dist/huds-lib/hy-crisis-banner.entry.js +1 -1
- package/dist/huds-lib/hy-cta-button.entry.js +1 -1
- package/dist/huds-lib/hy-cta-link.entry.js +1 -1
- package/dist/huds-lib/hy-dropdown.entry.js +1 -1
- package/dist/huds-lib/hy-event-item.entry.js +1 -1
- package/dist/huds-lib/hy-events.entry.js +1 -1
- package/dist/huds-lib/hy-filter-group_6.entry.js +1 -1
- package/dist/huds-lib/hy-general-list_2.entry.js +1 -1
- package/dist/huds-lib/hy-hero-carousel.entry.js +1 -1
- package/dist/huds-lib/hy-link-box_2.entry.js +1 -1
- package/dist/huds-lib/hy-menu-main-group.entry.js +1 -1
- package/dist/huds-lib/hy-opening-hours_2.entry.js +1 -1
- package/dist/huds-lib/hy-pager_2.entry.js +1 -1
- package/dist/huds-lib/hy-person-card.entry.js +1 -1
- package/dist/huds-lib/hy-person-profile.entry.js +1 -1
- package/dist/huds-lib/hy-shortcuts.entry.js +1 -1
- package/dist/huds-lib/hy-tabs_2.entry.js +1 -1
- package/package.json +3 -3
|
@@ -7,28 +7,23 @@ const globalScript = require('./globalScript-c309d309.js');
|
|
|
7
7
|
const utils = require('./utils-8e26d681.js');
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* SSR Window
|
|
10
|
+
* SSR Window 5.0.1
|
|
11
11
|
* Better handling for window object in SSR environment
|
|
12
12
|
* https://github.com/nolimits4web/ssr-window
|
|
13
13
|
*
|
|
14
|
-
* Copyright
|
|
14
|
+
* Copyright 2025, Vladimir Kharlampidi
|
|
15
15
|
*
|
|
16
16
|
* Licensed under MIT
|
|
17
17
|
*
|
|
18
|
-
* Released on:
|
|
18
|
+
* Released on: June 27, 2025
|
|
19
19
|
*/
|
|
20
20
|
/* eslint-disable no-param-reassign */
|
|
21
21
|
function isObject$1(obj) {
|
|
22
22
|
return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;
|
|
23
23
|
}
|
|
24
|
-
function extend$1(target, src) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
if (src === void 0) {
|
|
29
|
-
src = {};
|
|
30
|
-
}
|
|
31
|
-
Object.keys(src).forEach(key => {
|
|
24
|
+
function extend$1(target = {}, src = {}) {
|
|
25
|
+
const noExtend = ['__proto__', 'constructor', 'prototype'];
|
|
26
|
+
Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {
|
|
32
27
|
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) {
|
|
33
28
|
extend$1(target[key], src[key]);
|
|
34
29
|
}
|
|
@@ -150,10 +145,7 @@ function getWindow() {
|
|
|
150
145
|
return win;
|
|
151
146
|
}
|
|
152
147
|
|
|
153
|
-
function classesToTokens(classes) {
|
|
154
|
-
if (classes === void 0) {
|
|
155
|
-
classes = '';
|
|
156
|
-
}
|
|
148
|
+
function classesToTokens(classes = '') {
|
|
157
149
|
return classes.trim().split(' ').filter(c => !!c.trim());
|
|
158
150
|
}
|
|
159
151
|
|
|
@@ -172,10 +164,7 @@ function deleteProps(obj) {
|
|
|
172
164
|
}
|
|
173
165
|
});
|
|
174
166
|
}
|
|
175
|
-
function nextTick(callback, delay) {
|
|
176
|
-
if (delay === void 0) {
|
|
177
|
-
delay = 0;
|
|
178
|
-
}
|
|
167
|
+
function nextTick(callback, delay = 0) {
|
|
179
168
|
return setTimeout(callback, delay);
|
|
180
169
|
}
|
|
181
170
|
function now() {
|
|
@@ -195,10 +184,7 @@ function getComputedStyle$1(el) {
|
|
|
195
184
|
}
|
|
196
185
|
return style;
|
|
197
186
|
}
|
|
198
|
-
function getTranslate(el, axis) {
|
|
199
|
-
if (axis === void 0) {
|
|
200
|
-
axis = 'x';
|
|
201
|
-
}
|
|
187
|
+
function getTranslate(el, axis = 'x') {
|
|
202
188
|
const window = getWindow();
|
|
203
189
|
let matrix;
|
|
204
190
|
let curTransform;
|
|
@@ -244,13 +230,12 @@ function isNode(node) {
|
|
|
244
230
|
}
|
|
245
231
|
return node && (node.nodeType === 1 || node.nodeType === 11);
|
|
246
232
|
}
|
|
247
|
-
function extend() {
|
|
248
|
-
const to = Object(
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];
|
|
233
|
+
function extend(...args) {
|
|
234
|
+
const to = Object(args[0]);
|
|
235
|
+
for (let i = 1; i < args.length; i += 1) {
|
|
236
|
+
const nextSource = args[i];
|
|
252
237
|
if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {
|
|
253
|
-
const keysArray = Object.keys(Object(nextSource)).filter(key =>
|
|
238
|
+
const keysArray = Object.keys(Object(nextSource)).filter(key => key !== '__proto__' && key !== 'constructor' && key !== 'prototype');
|
|
254
239
|
for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
|
|
255
240
|
const nextKey = keysArray[nextIndex];
|
|
256
241
|
const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
|
|
@@ -280,12 +265,11 @@ function extend() {
|
|
|
280
265
|
function setCSSProperty(el, varName, varValue) {
|
|
281
266
|
el.style.setProperty(varName, varValue);
|
|
282
267
|
}
|
|
283
|
-
function animateCSSModeScroll(
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
} = _ref;
|
|
268
|
+
function animateCSSModeScroll({
|
|
269
|
+
swiper,
|
|
270
|
+
targetPosition,
|
|
271
|
+
side
|
|
272
|
+
}) {
|
|
289
273
|
const window = getWindow();
|
|
290
274
|
const startPosition = -swiper.translate;
|
|
291
275
|
let startTime = null;
|
|
@@ -330,12 +314,10 @@ function animateCSSModeScroll(_ref) {
|
|
|
330
314
|
function getSlideTransformEl(slideEl) {
|
|
331
315
|
return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl;
|
|
332
316
|
}
|
|
333
|
-
function elementChildren(element, selector) {
|
|
334
|
-
|
|
335
|
-
selector = '';
|
|
336
|
-
}
|
|
317
|
+
function elementChildren(element, selector = '') {
|
|
318
|
+
const window = getWindow();
|
|
337
319
|
const children = [...element.children];
|
|
338
|
-
if (element instanceof HTMLSlotElement) {
|
|
320
|
+
if (window.HTMLSlotElement && element instanceof HTMLSlotElement) {
|
|
339
321
|
children.push(...element.assignedElements());
|
|
340
322
|
}
|
|
341
323
|
if (!selector) {
|
|
@@ -343,11 +325,26 @@ function elementChildren(element, selector) {
|
|
|
343
325
|
}
|
|
344
326
|
return children.filter(el => el.matches(selector));
|
|
345
327
|
}
|
|
328
|
+
function elementIsChildOfSlot(el, slot) {
|
|
329
|
+
// Breadth-first search through all parent's children and assigned elements
|
|
330
|
+
const elementsQueue = [slot];
|
|
331
|
+
while (elementsQueue.length > 0) {
|
|
332
|
+
const elementToCheck = elementsQueue.shift();
|
|
333
|
+
if (el === elementToCheck) {
|
|
334
|
+
return true;
|
|
335
|
+
}
|
|
336
|
+
elementsQueue.push(...elementToCheck.children, ...(elementToCheck.shadowRoot ? elementToCheck.shadowRoot.children : []), ...(elementToCheck.assignedElements ? elementToCheck.assignedElements() : []));
|
|
337
|
+
}
|
|
338
|
+
}
|
|
346
339
|
function elementIsChildOf(el, parent) {
|
|
347
|
-
const
|
|
348
|
-
|
|
340
|
+
const window = getWindow();
|
|
341
|
+
let isChild = parent.contains(el);
|
|
342
|
+
if (!isChild && window.HTMLSlotElement && parent instanceof HTMLSlotElement) {
|
|
349
343
|
const children = [...parent.assignedElements()];
|
|
350
|
-
|
|
344
|
+
isChild = children.includes(el);
|
|
345
|
+
if (!isChild) {
|
|
346
|
+
isChild = elementIsChildOfSlot(el, parent);
|
|
347
|
+
}
|
|
351
348
|
}
|
|
352
349
|
return isChild;
|
|
353
350
|
}
|
|
@@ -359,10 +356,7 @@ function showWarning(text) {
|
|
|
359
356
|
// err
|
|
360
357
|
}
|
|
361
358
|
}
|
|
362
|
-
function createElement(tag, classes) {
|
|
363
|
-
if (classes === void 0) {
|
|
364
|
-
classes = [];
|
|
365
|
-
}
|
|
359
|
+
function createElement(tag, classes = []) {
|
|
366
360
|
const el = document.createElement(tag);
|
|
367
361
|
el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes)));
|
|
368
362
|
return el;
|
|
@@ -439,6 +433,15 @@ function elementOuterSize(el, size, includeMargins) {
|
|
|
439
433
|
function makeElementsArray(el) {
|
|
440
434
|
return (Array.isArray(el) ? el : [el]).filter(e => !!e);
|
|
441
435
|
}
|
|
436
|
+
function setInnerHTML(el, html = '') {
|
|
437
|
+
if (typeof trustedTypes !== 'undefined') {
|
|
438
|
+
el.innerHTML = trustedTypes.createPolicy('html', {
|
|
439
|
+
createHTML: s => s
|
|
440
|
+
}).createHTML(html);
|
|
441
|
+
} else {
|
|
442
|
+
el.innerHTML = html;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
442
445
|
|
|
443
446
|
let support;
|
|
444
447
|
function calcSupport() {
|
|
@@ -457,10 +460,9 @@ function getSupport() {
|
|
|
457
460
|
}
|
|
458
461
|
|
|
459
462
|
let deviceCached;
|
|
460
|
-
function calcDevice(
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
} = _temp === void 0 ? {} : _temp;
|
|
463
|
+
function calcDevice({
|
|
464
|
+
userAgent
|
|
465
|
+
} = {}) {
|
|
464
466
|
const support = getSupport();
|
|
465
467
|
const window = getWindow();
|
|
466
468
|
const platform = window.navigator.platform;
|
|
@@ -472,7 +474,7 @@ function calcDevice(_temp) {
|
|
|
472
474
|
const screenWidth = window.screen.width;
|
|
473
475
|
const screenHeight = window.screen.height;
|
|
474
476
|
const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
|
|
475
|
-
let ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
|
|
477
|
+
let ipad = ua.match(/(iPad)(?!\1).*OS\s([\d_]+)/);
|
|
476
478
|
const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
|
|
477
479
|
const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
|
|
478
480
|
const windows = platform === 'Win32';
|
|
@@ -499,10 +501,7 @@ function calcDevice(_temp) {
|
|
|
499
501
|
// Export object
|
|
500
502
|
return device;
|
|
501
503
|
}
|
|
502
|
-
function getDevice(overrides) {
|
|
503
|
-
if (overrides === void 0) {
|
|
504
|
-
overrides = {};
|
|
505
|
-
}
|
|
504
|
+
function getDevice(overrides = {}) {
|
|
506
505
|
if (!deviceCached) {
|
|
507
506
|
deviceCached = calcDevice(overrides);
|
|
508
507
|
}
|
|
@@ -542,12 +541,11 @@ function getBrowser() {
|
|
|
542
541
|
return browser;
|
|
543
542
|
}
|
|
544
543
|
|
|
545
|
-
function Resize(
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
} = _ref;
|
|
544
|
+
function Resize({
|
|
545
|
+
swiper,
|
|
546
|
+
on,
|
|
547
|
+
emit
|
|
548
|
+
}) {
|
|
551
549
|
const window = getWindow();
|
|
552
550
|
let observer = null;
|
|
553
551
|
let animationFrame = null;
|
|
@@ -566,12 +564,11 @@ function Resize(_ref) {
|
|
|
566
564
|
} = swiper;
|
|
567
565
|
let newWidth = width;
|
|
568
566
|
let newHeight = height;
|
|
569
|
-
entries.forEach(
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
} = _ref2;
|
|
567
|
+
entries.forEach(({
|
|
568
|
+
contentBoxSize,
|
|
569
|
+
contentRect,
|
|
570
|
+
target
|
|
571
|
+
}) => {
|
|
575
572
|
if (target && target !== swiper.el) return;
|
|
576
573
|
newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;
|
|
577
574
|
newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;
|
|
@@ -611,19 +608,15 @@ function Resize(_ref) {
|
|
|
611
608
|
});
|
|
612
609
|
}
|
|
613
610
|
|
|
614
|
-
function Observer(
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
} = _ref;
|
|
611
|
+
function Observer({
|
|
612
|
+
swiper,
|
|
613
|
+
extendParams,
|
|
614
|
+
on,
|
|
615
|
+
emit
|
|
616
|
+
}) {
|
|
621
617
|
const observers = [];
|
|
622
618
|
const window = getWindow();
|
|
623
|
-
const attach =
|
|
624
|
-
if (options === void 0) {
|
|
625
|
-
options = {};
|
|
626
|
-
}
|
|
619
|
+
const attach = (target, options = {}) => {
|
|
627
620
|
const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;
|
|
628
621
|
const observer = new ObserverFunc(mutations => {
|
|
629
622
|
// The observerUpdate event should only be triggered
|
|
@@ -701,14 +694,11 @@ var eventsEmitter = {
|
|
|
701
694
|
const self = this;
|
|
702
695
|
if (!self.eventsListeners || self.destroyed) return self;
|
|
703
696
|
if (typeof handler !== 'function') return self;
|
|
704
|
-
function onceHandler() {
|
|
697
|
+
function onceHandler(...args) {
|
|
705
698
|
self.off(events, onceHandler);
|
|
706
699
|
if (onceHandler.__emitterProxy) {
|
|
707
700
|
delete onceHandler.__emitterProxy;
|
|
708
701
|
}
|
|
709
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
710
|
-
args[_key] = arguments[_key];
|
|
711
|
-
}
|
|
712
702
|
handler.apply(self, args);
|
|
713
703
|
}
|
|
714
704
|
onceHandler.__emitterProxy = handler;
|
|
@@ -751,16 +741,13 @@ var eventsEmitter = {
|
|
|
751
741
|
});
|
|
752
742
|
return self;
|
|
753
743
|
},
|
|
754
|
-
emit() {
|
|
744
|
+
emit(...args) {
|
|
755
745
|
const self = this;
|
|
756
746
|
if (!self.eventsListeners || self.destroyed) return self;
|
|
757
747
|
if (!self.eventsListeners) return self;
|
|
758
748
|
let events;
|
|
759
749
|
let data;
|
|
760
750
|
let context;
|
|
761
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
762
|
-
args[_key2] = arguments[_key2];
|
|
763
|
-
}
|
|
764
751
|
if (typeof args[0] === 'string' || Array.isArray(args[0])) {
|
|
765
752
|
events = args[0];
|
|
766
753
|
data = args.slice(1, args.length);
|
|
@@ -828,7 +815,6 @@ function updateSlides() {
|
|
|
828
815
|
const {
|
|
829
816
|
wrapperEl,
|
|
830
817
|
slidesEl,
|
|
831
|
-
size: swiperSize,
|
|
832
818
|
rtlTranslate: rtl,
|
|
833
819
|
wrongRTL
|
|
834
820
|
} = swiper;
|
|
@@ -849,6 +835,7 @@ function updateSlides() {
|
|
|
849
835
|
}
|
|
850
836
|
const previousSnapGridLength = swiper.snapGrid.length;
|
|
851
837
|
const previousSlidesGridLength = swiper.slidesGrid.length;
|
|
838
|
+
const swiperSize = swiper.size - offsetBefore - offsetAfter;
|
|
852
839
|
let spaceBetween = params.spaceBetween;
|
|
853
840
|
let slidePosition = -offsetBefore;
|
|
854
841
|
let prevSlideSize = 0;
|
|
@@ -861,7 +848,7 @@ function updateSlides() {
|
|
|
861
848
|
} else if (typeof spaceBetween === 'string') {
|
|
862
849
|
spaceBetween = parseFloat(spaceBetween);
|
|
863
850
|
}
|
|
864
|
-
swiper.virtualSize = -spaceBetween;
|
|
851
|
+
swiper.virtualSize = -spaceBetween - offsetBefore - offsetAfter;
|
|
865
852
|
|
|
866
853
|
// reset margins
|
|
867
854
|
slides.forEach(slideEl => {
|
|
@@ -879,6 +866,12 @@ function updateSlides() {
|
|
|
879
866
|
setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');
|
|
880
867
|
setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');
|
|
881
868
|
}
|
|
869
|
+
|
|
870
|
+
// set cssMode offsets
|
|
871
|
+
if (params.cssMode) {
|
|
872
|
+
setCSSProperty(wrapperEl, '--swiper-slides-offset-before', `${offsetBefore}px`);
|
|
873
|
+
setCSSProperty(wrapperEl, '--swiper-slides-offset-after', `${offsetAfter}px`);
|
|
874
|
+
}
|
|
882
875
|
const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
|
|
883
876
|
if (gridEnabled) {
|
|
884
877
|
swiper.grid.initSlides(slides);
|
|
@@ -893,16 +886,25 @@ function updateSlides() {
|
|
|
893
886
|
}).length > 0;
|
|
894
887
|
for (let i = 0; i < slidesLength; i += 1) {
|
|
895
888
|
slideSize = 0;
|
|
896
|
-
|
|
897
|
-
if (
|
|
898
|
-
|
|
899
|
-
|
|
889
|
+
const slide = slides[i];
|
|
890
|
+
if (slide) {
|
|
891
|
+
if (gridEnabled) {
|
|
892
|
+
swiper.grid.updateSlide(i, slide, slides);
|
|
893
|
+
}
|
|
894
|
+
if (elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line
|
|
900
895
|
}
|
|
901
|
-
if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line
|
|
902
896
|
|
|
903
|
-
if (params.slidesPerView === 'auto') {
|
|
897
|
+
if (isVirtual && params.slidesPerView === 'auto') {
|
|
898
|
+
if (params.virtual.slidesPerViewAutoSlideSize) {
|
|
899
|
+
slideSize = params.virtual.slidesPerViewAutoSlideSize;
|
|
900
|
+
}
|
|
901
|
+
if (slideSize && slide) {
|
|
902
|
+
if (params.roundLengths) slideSize = Math.floor(slideSize);
|
|
903
|
+
slide.style[swiper.getDirectionLabel('width')] = `${slideSize}px`;
|
|
904
|
+
}
|
|
905
|
+
} else if (params.slidesPerView === 'auto') {
|
|
904
906
|
if (shouldResetSlideSize) {
|
|
905
|
-
|
|
907
|
+
slide.style[swiper.getDirectionLabel('width')] = ``;
|
|
906
908
|
}
|
|
907
909
|
const slideStyles = getComputedStyle(slide);
|
|
908
910
|
const currentTransform = slide.style.transform;
|
|
@@ -943,12 +945,12 @@ function updateSlides() {
|
|
|
943
945
|
} else {
|
|
944
946
|
slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
|
|
945
947
|
if (params.roundLengths) slideSize = Math.floor(slideSize);
|
|
946
|
-
if (
|
|
947
|
-
|
|
948
|
+
if (slide) {
|
|
949
|
+
slide.style[swiper.getDirectionLabel('width')] = `${slideSize}px`;
|
|
948
950
|
}
|
|
949
951
|
}
|
|
950
|
-
if (
|
|
951
|
-
|
|
952
|
+
if (slide) {
|
|
953
|
+
slide.swiperSlideSize = slideSize;
|
|
952
954
|
}
|
|
953
955
|
slidesSizesGrid.push(slideSize);
|
|
954
956
|
if (params.centeredSlides) {
|
|
@@ -982,17 +984,52 @@ function updateSlides() {
|
|
|
982
984
|
|
|
983
985
|
// Remove last grid elements depending on width
|
|
984
986
|
if (!params.centeredSlides) {
|
|
987
|
+
// Check if snapToSlideEdge should be applied
|
|
988
|
+
const isFractionalSlidesPerView = params.slidesPerView !== 'auto' && params.slidesPerView % 1 !== 0;
|
|
989
|
+
const shouldSnapToSlideEdge = params.snapToSlideEdge && !params.loop && (params.slidesPerView === 'auto' || isFractionalSlidesPerView);
|
|
990
|
+
|
|
991
|
+
// Calculate the last allowed snap index when snapToSlideEdge is enabled
|
|
992
|
+
// This ensures minimum slides are visible at the end
|
|
993
|
+
let lastAllowedSnapIndex = snapGrid.length;
|
|
994
|
+
if (shouldSnapToSlideEdge) {
|
|
995
|
+
let minVisibleSlides;
|
|
996
|
+
if (params.slidesPerView === 'auto') {
|
|
997
|
+
// For 'auto' mode, calculate how many slides fit based on actual sizes
|
|
998
|
+
minVisibleSlides = 1;
|
|
999
|
+
let accumulatedSize = 0;
|
|
1000
|
+
for (let i = slidesSizesGrid.length - 1; i >= 0; i -= 1) {
|
|
1001
|
+
accumulatedSize += slidesSizesGrid[i] + (i < slidesSizesGrid.length - 1 ? spaceBetween : 0);
|
|
1002
|
+
if (accumulatedSize <= swiperSize) {
|
|
1003
|
+
minVisibleSlides = slidesSizesGrid.length - i;
|
|
1004
|
+
} else {
|
|
1005
|
+
break;
|
|
1006
|
+
}
|
|
1007
|
+
}
|
|
1008
|
+
} else {
|
|
1009
|
+
minVisibleSlides = Math.floor(params.slidesPerView);
|
|
1010
|
+
}
|
|
1011
|
+
lastAllowedSnapIndex = Math.max(slidesLength - minVisibleSlides, 0);
|
|
1012
|
+
}
|
|
985
1013
|
const newSlidesGrid = [];
|
|
986
1014
|
for (let i = 0; i < snapGrid.length; i += 1) {
|
|
987
1015
|
let slidesGridItem = snapGrid[i];
|
|
988
1016
|
if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
|
|
989
|
-
if (
|
|
1017
|
+
if (shouldSnapToSlideEdge) {
|
|
1018
|
+
// When snapToSlideEdge is enabled, only keep snaps up to lastAllowedSnapIndex
|
|
1019
|
+
if (i <= lastAllowedSnapIndex) {
|
|
1020
|
+
newSlidesGrid.push(slidesGridItem);
|
|
1021
|
+
}
|
|
1022
|
+
} else if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
|
|
1023
|
+
// When snapToSlideEdge is disabled, keep snaps that fit within scrollable area
|
|
990
1024
|
newSlidesGrid.push(slidesGridItem);
|
|
991
1025
|
}
|
|
992
1026
|
}
|
|
993
1027
|
snapGrid = newSlidesGrid;
|
|
994
1028
|
if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
|
|
995
|
-
|
|
1029
|
+
// Only add edge-aligned snap if snapToSlideEdge is not enabled
|
|
1030
|
+
if (!shouldSnapToSlideEdge) {
|
|
1031
|
+
snapGrid.push(swiper.virtualSize - swiperSize);
|
|
1032
|
+
}
|
|
996
1033
|
}
|
|
997
1034
|
}
|
|
998
1035
|
if (isVirtual && params.loop) {
|
|
@@ -1044,9 +1081,8 @@ function updateSlides() {
|
|
|
1044
1081
|
allSlidesSize += slideSizeValue + (spaceBetween || 0);
|
|
1045
1082
|
});
|
|
1046
1083
|
allSlidesSize -= spaceBetween;
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;
|
|
1084
|
+
if (allSlidesSize < swiperSize) {
|
|
1085
|
+
const allSlidesOffset = (swiperSize - allSlidesSize) / 2;
|
|
1050
1086
|
snapGrid.forEach((snap, snapIndex) => {
|
|
1051
1087
|
snapGrid[snapIndex] = snap - allSlidesOffset;
|
|
1052
1088
|
});
|
|
@@ -1157,10 +1193,7 @@ const toggleSlideClasses$1 = (slideEl, condition, className) => {
|
|
|
1157
1193
|
slideEl.classList.remove(className);
|
|
1158
1194
|
}
|
|
1159
1195
|
};
|
|
1160
|
-
function updateSlidesProgress(translate) {
|
|
1161
|
-
if (translate === void 0) {
|
|
1162
|
-
translate = this && this.translate || 0;
|
|
1163
|
-
}
|
|
1196
|
+
function updateSlidesProgress(translate = this && this.translate || 0) {
|
|
1164
1197
|
const swiper = this;
|
|
1165
1198
|
const params = swiper.params;
|
|
1166
1199
|
const {
|
|
@@ -1300,9 +1333,9 @@ function updateSlidesClasses() {
|
|
|
1300
1333
|
}
|
|
1301
1334
|
} else {
|
|
1302
1335
|
if (gridEnabled) {
|
|
1303
|
-
activeSlide = slides.
|
|
1304
|
-
nextSlide = slides.
|
|
1305
|
-
prevSlide = slides.
|
|
1336
|
+
activeSlide = slides.find(slideEl => slideEl.column === activeIndex);
|
|
1337
|
+
nextSlide = slides.find(slideEl => slideEl.column === activeIndex + 1);
|
|
1338
|
+
prevSlide = slides.find(slideEl => slideEl.column === activeIndex - 1);
|
|
1306
1339
|
} else {
|
|
1307
1340
|
activeSlide = slides[activeIndex];
|
|
1308
1341
|
}
|
|
@@ -1344,12 +1377,13 @@ const processLazyPreloader = (swiper, imageEl) => {
|
|
|
1344
1377
|
requestAnimationFrame(() => {
|
|
1345
1378
|
if (slideEl.shadowRoot) {
|
|
1346
1379
|
lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);
|
|
1347
|
-
if (lazyEl) lazyEl.remove();
|
|
1380
|
+
if (lazyEl && !lazyEl.lazyPreloaderManaged) lazyEl.remove();
|
|
1348
1381
|
}
|
|
1349
1382
|
});
|
|
1350
1383
|
}
|
|
1351
1384
|
}
|
|
1352
|
-
if
|
|
1385
|
+
// Skip removal if managed by React/Vue component
|
|
1386
|
+
if (lazyEl && !lazyEl.lazyPreloaderManaged) lazyEl.remove();
|
|
1353
1387
|
}
|
|
1354
1388
|
};
|
|
1355
1389
|
const unlazy = (swiper, index) => {
|
|
@@ -1464,10 +1498,14 @@ function updateActiveIndex(newActiveIndex) {
|
|
|
1464
1498
|
|
|
1465
1499
|
// Get real index
|
|
1466
1500
|
let realIndex;
|
|
1467
|
-
if (swiper.virtual && params.virtual.enabled
|
|
1468
|
-
|
|
1501
|
+
if (swiper.virtual && params.virtual.enabled) {
|
|
1502
|
+
if (params.loop) {
|
|
1503
|
+
realIndex = getVirtualRealIndex(activeIndex);
|
|
1504
|
+
} else {
|
|
1505
|
+
realIndex = activeIndex;
|
|
1506
|
+
}
|
|
1469
1507
|
} else if (gridEnabled) {
|
|
1470
|
-
const firstSlideInColumn = swiper.slides.
|
|
1508
|
+
const firstSlideInColumn = swiper.slides.find(slideEl => slideEl.column === activeIndex);
|
|
1471
1509
|
let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);
|
|
1472
1510
|
if (Number.isNaN(activeSlideIndex)) {
|
|
1473
1511
|
activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);
|
|
@@ -1555,10 +1593,7 @@ var update = {
|
|
|
1555
1593
|
updateClickedSlide
|
|
1556
1594
|
};
|
|
1557
1595
|
|
|
1558
|
-
function getSwiperTranslate(axis) {
|
|
1559
|
-
if (axis === void 0) {
|
|
1560
|
-
axis = this.isHorizontal() ? 'x' : 'y';
|
|
1561
|
-
}
|
|
1596
|
+
function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {
|
|
1562
1597
|
const swiper = this;
|
|
1563
1598
|
const {
|
|
1564
1599
|
params,
|
|
@@ -1633,19 +1668,7 @@ function maxTranslate() {
|
|
|
1633
1668
|
return -this.snapGrid[this.snapGrid.length - 1];
|
|
1634
1669
|
}
|
|
1635
1670
|
|
|
1636
|
-
function translateTo(translate, speed, runCallbacks, translateBounds, internal) {
|
|
1637
|
-
if (translate === void 0) {
|
|
1638
|
-
translate = 0;
|
|
1639
|
-
}
|
|
1640
|
-
if (speed === void 0) {
|
|
1641
|
-
speed = this.params.speed;
|
|
1642
|
-
}
|
|
1643
|
-
if (runCallbacks === void 0) {
|
|
1644
|
-
runCallbacks = true;
|
|
1645
|
-
}
|
|
1646
|
-
if (translateBounds === void 0) {
|
|
1647
|
-
translateBounds = true;
|
|
1648
|
-
}
|
|
1671
|
+
function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {
|
|
1649
1672
|
const swiper = this;
|
|
1650
1673
|
const {
|
|
1651
1674
|
params,
|
|
@@ -1733,13 +1756,12 @@ function setTransition(duration, byController) {
|
|
|
1733
1756
|
swiper.emit('setTransition', duration, byController);
|
|
1734
1757
|
}
|
|
1735
1758
|
|
|
1736
|
-
function transitionEmit(
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
} = _ref;
|
|
1759
|
+
function transitionEmit({
|
|
1760
|
+
swiper,
|
|
1761
|
+
runCallbacks,
|
|
1762
|
+
direction,
|
|
1763
|
+
step
|
|
1764
|
+
}) {
|
|
1743
1765
|
const {
|
|
1744
1766
|
activeIndex,
|
|
1745
1767
|
previousIndex
|
|
@@ -1749,11 +1771,9 @@ function transitionEmit(_ref) {
|
|
|
1749
1771
|
if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
|
|
1750
1772
|
}
|
|
1751
1773
|
swiper.emit(`transition${step}`);
|
|
1752
|
-
if (runCallbacks &&
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
return;
|
|
1756
|
-
}
|
|
1774
|
+
if (runCallbacks && dir === 'reset') {
|
|
1775
|
+
swiper.emit(`slideResetTransition${step}`);
|
|
1776
|
+
} else if (runCallbacks && activeIndex !== previousIndex) {
|
|
1757
1777
|
swiper.emit(`slideChangeTransition${step}`);
|
|
1758
1778
|
if (dir === 'next') {
|
|
1759
1779
|
swiper.emit(`slideNextTransition${step}`);
|
|
@@ -1763,10 +1783,7 @@ function transitionEmit(_ref) {
|
|
|
1763
1783
|
}
|
|
1764
1784
|
}
|
|
1765
1785
|
|
|
1766
|
-
function transitionStart(runCallbacks, direction) {
|
|
1767
|
-
if (runCallbacks === void 0) {
|
|
1768
|
-
runCallbacks = true;
|
|
1769
|
-
}
|
|
1786
|
+
function transitionStart(runCallbacks = true, direction) {
|
|
1770
1787
|
const swiper = this;
|
|
1771
1788
|
const {
|
|
1772
1789
|
params
|
|
@@ -1783,10 +1800,7 @@ function transitionStart(runCallbacks, direction) {
|
|
|
1783
1800
|
});
|
|
1784
1801
|
}
|
|
1785
1802
|
|
|
1786
|
-
function transitionEnd(runCallbacks, direction) {
|
|
1787
|
-
if (runCallbacks === void 0) {
|
|
1788
|
-
runCallbacks = true;
|
|
1789
|
-
}
|
|
1803
|
+
function transitionEnd(runCallbacks = true, direction) {
|
|
1790
1804
|
const swiper = this;
|
|
1791
1805
|
const {
|
|
1792
1806
|
params
|
|
@@ -1808,13 +1822,7 @@ var transition = {
|
|
|
1808
1822
|
transitionEnd
|
|
1809
1823
|
};
|
|
1810
1824
|
|
|
1811
|
-
function slideTo(index, speed, runCallbacks, internal, initial) {
|
|
1812
|
-
if (index === void 0) {
|
|
1813
|
-
index = 0;
|
|
1814
|
-
}
|
|
1815
|
-
if (runCallbacks === void 0) {
|
|
1816
|
-
runCallbacks = true;
|
|
1817
|
-
}
|
|
1825
|
+
function slideTo(index = 0, speed, runCallbacks = true, internal, initial) {
|
|
1818
1826
|
if (typeof index === 'string') {
|
|
1819
1827
|
index = parseInt(index, 10);
|
|
1820
1828
|
}
|
|
@@ -1936,6 +1944,11 @@ function slideTo(index, speed, runCallbacks, internal, initial) {
|
|
|
1936
1944
|
}
|
|
1937
1945
|
return true;
|
|
1938
1946
|
}
|
|
1947
|
+
const browser = getBrowser();
|
|
1948
|
+
const isSafari = browser.isSafari;
|
|
1949
|
+
if (isVirtual && !initial && isSafari && swiper.isElement) {
|
|
1950
|
+
swiper.virtual.update(false, false, slideIndex);
|
|
1951
|
+
}
|
|
1939
1952
|
swiper.setTransition(speed);
|
|
1940
1953
|
swiper.setTranslate(translate);
|
|
1941
1954
|
swiper.updateActiveIndex(slideIndex);
|
|
@@ -1961,13 +1974,7 @@ function slideTo(index, speed, runCallbacks, internal, initial) {
|
|
|
1961
1974
|
return true;
|
|
1962
1975
|
}
|
|
1963
1976
|
|
|
1964
|
-
function slideToLoop(index, speed, runCallbacks, internal) {
|
|
1965
|
-
if (index === void 0) {
|
|
1966
|
-
index = 0;
|
|
1967
|
-
}
|
|
1968
|
-
if (runCallbacks === void 0) {
|
|
1969
|
-
runCallbacks = true;
|
|
1970
|
-
}
|
|
1977
|
+
function slideToLoop(index = 0, speed, runCallbacks = true, internal) {
|
|
1971
1978
|
if (typeof index === 'string') {
|
|
1972
1979
|
const indexAsNumber = parseInt(index, 10);
|
|
1973
1980
|
index = indexAsNumber;
|
|
@@ -1987,32 +1994,35 @@ function slideToLoop(index, speed, runCallbacks, internal) {
|
|
|
1987
1994
|
let targetSlideIndex;
|
|
1988
1995
|
if (gridEnabled) {
|
|
1989
1996
|
const slideIndex = newIndex * swiper.params.grid.rows;
|
|
1990
|
-
targetSlideIndex = swiper.slides.
|
|
1997
|
+
targetSlideIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;
|
|
1991
1998
|
} else {
|
|
1992
1999
|
targetSlideIndex = swiper.getSlideIndexByData(newIndex);
|
|
1993
2000
|
}
|
|
1994
2001
|
const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;
|
|
1995
2002
|
const {
|
|
1996
|
-
centeredSlides
|
|
2003
|
+
centeredSlides,
|
|
2004
|
+
slidesOffsetBefore,
|
|
2005
|
+
slidesOffsetAfter
|
|
1997
2006
|
} = swiper.params;
|
|
2007
|
+
const bothDirections = centeredSlides || !!slidesOffsetBefore || !!slidesOffsetAfter;
|
|
1998
2008
|
let slidesPerView = swiper.params.slidesPerView;
|
|
1999
2009
|
if (slidesPerView === 'auto') {
|
|
2000
2010
|
slidesPerView = swiper.slidesPerViewDynamic();
|
|
2001
2011
|
} else {
|
|
2002
2012
|
slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));
|
|
2003
|
-
if (
|
|
2013
|
+
if (bothDirections && slidesPerView % 2 === 0) {
|
|
2004
2014
|
slidesPerView = slidesPerView + 1;
|
|
2005
2015
|
}
|
|
2006
2016
|
}
|
|
2007
2017
|
let needLoopFix = cols - targetSlideIndex < slidesPerView;
|
|
2008
|
-
if (
|
|
2018
|
+
if (bothDirections) {
|
|
2009
2019
|
needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);
|
|
2010
2020
|
}
|
|
2011
|
-
if (internal &&
|
|
2021
|
+
if (internal && bothDirections && swiper.params.slidesPerView !== 'auto' && !gridEnabled) {
|
|
2012
2022
|
needLoopFix = false;
|
|
2013
2023
|
}
|
|
2014
2024
|
if (needLoopFix) {
|
|
2015
|
-
const direction =
|
|
2025
|
+
const direction = bothDirections ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';
|
|
2016
2026
|
swiper.loopFix({
|
|
2017
2027
|
direction,
|
|
2018
2028
|
slideTo: true,
|
|
@@ -2022,7 +2032,7 @@ function slideToLoop(index, speed, runCallbacks, internal) {
|
|
|
2022
2032
|
}
|
|
2023
2033
|
if (gridEnabled) {
|
|
2024
2034
|
const slideIndex = newIndex * swiper.params.grid.rows;
|
|
2025
|
-
newIndex = swiper.slides.
|
|
2035
|
+
newIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;
|
|
2026
2036
|
} else {
|
|
2027
2037
|
newIndex = swiper.getSlideIndexByData(newIndex);
|
|
2028
2038
|
}
|
|
@@ -2035,10 +2045,7 @@ function slideToLoop(index, speed, runCallbacks, internal) {
|
|
|
2035
2045
|
}
|
|
2036
2046
|
|
|
2037
2047
|
/* eslint no-unused-vars: "off" */
|
|
2038
|
-
function slideNext(speed, runCallbacks, internal) {
|
|
2039
|
-
if (runCallbacks === void 0) {
|
|
2040
|
-
runCallbacks = true;
|
|
2041
|
-
}
|
|
2048
|
+
function slideNext(speed, runCallbacks = true, internal) {
|
|
2042
2049
|
const swiper = this;
|
|
2043
2050
|
const {
|
|
2044
2051
|
enabled,
|
|
@@ -2076,10 +2083,7 @@ function slideNext(speed, runCallbacks, internal) {
|
|
|
2076
2083
|
}
|
|
2077
2084
|
|
|
2078
2085
|
/* eslint no-unused-vars: "off" */
|
|
2079
|
-
function slidePrev(speed, runCallbacks, internal) {
|
|
2080
|
-
if (runCallbacks === void 0) {
|
|
2081
|
-
runCallbacks = true;
|
|
2082
|
-
}
|
|
2086
|
+
function slidePrev(speed, runCallbacks = true, internal) {
|
|
2083
2087
|
const swiper = this;
|
|
2084
2088
|
const {
|
|
2085
2089
|
params,
|
|
@@ -2109,8 +2113,9 @@ function slidePrev(speed, runCallbacks, internal) {
|
|
|
2109
2113
|
}
|
|
2110
2114
|
const normalizedTranslate = normalize(translate);
|
|
2111
2115
|
const normalizedSnapGrid = snapGrid.map(val => normalize(val));
|
|
2116
|
+
const isFreeMode = params.freeMode && params.freeMode.enabled;
|
|
2112
2117
|
let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
|
|
2113
|
-
if (typeof prevSnap === 'undefined' && params.cssMode) {
|
|
2118
|
+
if (typeof prevSnap === 'undefined' && (params.cssMode || isFreeMode)) {
|
|
2114
2119
|
let prevSnapIndex;
|
|
2115
2120
|
snapGrid.forEach((snap, snapIndex) => {
|
|
2116
2121
|
if (normalizedTranslate >= snap) {
|
|
@@ -2119,7 +2124,7 @@ function slidePrev(speed, runCallbacks, internal) {
|
|
|
2119
2124
|
}
|
|
2120
2125
|
});
|
|
2121
2126
|
if (typeof prevSnapIndex !== 'undefined') {
|
|
2122
|
-
prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
|
|
2127
|
+
prevSnap = isFreeMode ? snapGrid[prevSnapIndex] : snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
|
|
2123
2128
|
}
|
|
2124
2129
|
}
|
|
2125
2130
|
let prevIndex = 0;
|
|
@@ -2144,10 +2149,7 @@ function slidePrev(speed, runCallbacks, internal) {
|
|
|
2144
2149
|
}
|
|
2145
2150
|
|
|
2146
2151
|
/* eslint no-unused-vars: "off" */
|
|
2147
|
-
function slideReset(speed, runCallbacks, internal) {
|
|
2148
|
-
if (runCallbacks === void 0) {
|
|
2149
|
-
runCallbacks = true;
|
|
2150
|
-
}
|
|
2152
|
+
function slideReset(speed, runCallbacks = true, internal) {
|
|
2151
2153
|
const swiper = this;
|
|
2152
2154
|
if (swiper.destroyed) return;
|
|
2153
2155
|
if (typeof speed === 'undefined') {
|
|
@@ -2157,13 +2159,7 @@ function slideReset(speed, runCallbacks, internal) {
|
|
|
2157
2159
|
}
|
|
2158
2160
|
|
|
2159
2161
|
/* eslint no-unused-vars: "off" */
|
|
2160
|
-
function slideToClosest(speed, runCallbacks, internal, threshold) {
|
|
2161
|
-
if (runCallbacks === void 0) {
|
|
2162
|
-
runCallbacks = true;
|
|
2163
|
-
}
|
|
2164
|
-
if (threshold === void 0) {
|
|
2165
|
-
threshold = 0.5;
|
|
2166
|
-
}
|
|
2162
|
+
function slideToClosest(speed, runCallbacks = true, internal, threshold = 0.5) {
|
|
2167
2163
|
const swiper = this;
|
|
2168
2164
|
if (swiper.destroyed) return;
|
|
2169
2165
|
if (typeof speed === 'undefined') {
|
|
@@ -2203,23 +2199,16 @@ function slideToClickedSlide() {
|
|
|
2203
2199
|
slidesEl
|
|
2204
2200
|
} = swiper;
|
|
2205
2201
|
const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
|
|
2206
|
-
let slideToIndex = swiper.clickedIndex;
|
|
2202
|
+
let slideToIndex = swiper.getSlideIndexWhenGrid(swiper.clickedIndex);
|
|
2207
2203
|
let realIndex;
|
|
2208
2204
|
const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;
|
|
2205
|
+
const isGrid = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;
|
|
2209
2206
|
if (params.loop) {
|
|
2210
2207
|
if (swiper.animating) return;
|
|
2211
2208
|
realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
|
|
2212
2209
|
if (params.centeredSlides) {
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
|
|
2216
|
-
nextTick(() => {
|
|
2217
|
-
swiper.slideTo(slideToIndex);
|
|
2218
|
-
});
|
|
2219
|
-
} else {
|
|
2220
|
-
swiper.slideTo(slideToIndex);
|
|
2221
|
-
}
|
|
2222
|
-
} else if (slideToIndex > swiper.slides.length - slidesPerView) {
|
|
2210
|
+
swiper.slideToLoop(realIndex);
|
|
2211
|
+
} else if (slideToIndex > (isGrid ? (swiper.slides.length - slidesPerView) / 2 - (swiper.params.grid.rows - 1) : swiper.slides.length - slidesPerView)) {
|
|
2223
2212
|
swiper.loopFix();
|
|
2224
2213
|
slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
|
|
2225
2214
|
nextTick(() => {
|
|
@@ -2243,7 +2232,7 @@ var slide = {
|
|
|
2243
2232
|
slideToClickedSlide
|
|
2244
2233
|
};
|
|
2245
2234
|
|
|
2246
|
-
function loopCreate(slideRealIndex) {
|
|
2235
|
+
function loopCreate(slideRealIndex, initial) {
|
|
2247
2236
|
const swiper = this;
|
|
2248
2237
|
const {
|
|
2249
2238
|
params,
|
|
@@ -2256,7 +2245,20 @@ function loopCreate(slideRealIndex) {
|
|
|
2256
2245
|
el.setAttribute('data-swiper-slide-index', index);
|
|
2257
2246
|
});
|
|
2258
2247
|
};
|
|
2248
|
+
const clearBlankSlides = () => {
|
|
2249
|
+
const slides = elementChildren(slidesEl, `.${params.slideBlankClass}`);
|
|
2250
|
+
slides.forEach(el => {
|
|
2251
|
+
el.remove();
|
|
2252
|
+
});
|
|
2253
|
+
if (slides.length > 0) {
|
|
2254
|
+
swiper.recalcSlides();
|
|
2255
|
+
swiper.updateSlides();
|
|
2256
|
+
}
|
|
2257
|
+
};
|
|
2259
2258
|
const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;
|
|
2259
|
+
if (params.loopAddBlankSlides && (params.slidesPerGroup > 1 || gridEnabled)) {
|
|
2260
|
+
clearBlankSlides();
|
|
2261
|
+
}
|
|
2260
2262
|
const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);
|
|
2261
2263
|
const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;
|
|
2262
2264
|
const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;
|
|
@@ -2289,22 +2291,24 @@ function loopCreate(slideRealIndex) {
|
|
|
2289
2291
|
} else {
|
|
2290
2292
|
initSlides();
|
|
2291
2293
|
}
|
|
2294
|
+
const bothDirections = params.centeredSlides || !!params.slidesOffsetBefore || !!params.slidesOffsetAfter;
|
|
2292
2295
|
swiper.loopFix({
|
|
2293
2296
|
slideRealIndex,
|
|
2294
|
-
direction:
|
|
2297
|
+
direction: bothDirections ? undefined : 'next',
|
|
2298
|
+
initial
|
|
2295
2299
|
});
|
|
2296
2300
|
}
|
|
2297
2301
|
|
|
2298
|
-
function loopFix(
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2302
|
+
function loopFix({
|
|
2303
|
+
slideRealIndex,
|
|
2304
|
+
slideTo = true,
|
|
2305
|
+
direction,
|
|
2306
|
+
setTranslate,
|
|
2307
|
+
activeSlideIndex,
|
|
2308
|
+
initial,
|
|
2309
|
+
byController,
|
|
2310
|
+
byMousewheel
|
|
2311
|
+
} = {}) {
|
|
2308
2312
|
const swiper = this;
|
|
2309
2313
|
if (!swiper.params.loop) return;
|
|
2310
2314
|
swiper.emit('beforeLoopFix');
|
|
@@ -2316,15 +2320,19 @@ function loopFix(_temp) {
|
|
|
2316
2320
|
params
|
|
2317
2321
|
} = swiper;
|
|
2318
2322
|
const {
|
|
2319
|
-
centeredSlides
|
|
2323
|
+
centeredSlides,
|
|
2324
|
+
slidesOffsetBefore,
|
|
2325
|
+
slidesOffsetAfter,
|
|
2326
|
+
initialSlide
|
|
2320
2327
|
} = params;
|
|
2328
|
+
const bothDirections = centeredSlides || !!slidesOffsetBefore || !!slidesOffsetAfter;
|
|
2321
2329
|
swiper.allowSlidePrev = true;
|
|
2322
2330
|
swiper.allowSlideNext = true;
|
|
2323
2331
|
if (swiper.virtual && params.virtual.enabled) {
|
|
2324
2332
|
if (slideTo) {
|
|
2325
|
-
if (!
|
|
2333
|
+
if (!bothDirections && swiper.snapIndex === 0) {
|
|
2326
2334
|
swiper.slideTo(swiper.virtual.slides.length, 0, false, true);
|
|
2327
|
-
} else if (
|
|
2335
|
+
} else if (bothDirections && swiper.snapIndex < params.slidesPerView) {
|
|
2328
2336
|
swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);
|
|
2329
2337
|
} else if (swiper.snapIndex === swiper.snapGrid.length - 1) {
|
|
2330
2338
|
swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);
|
|
@@ -2340,28 +2348,30 @@ function loopFix(_temp) {
|
|
|
2340
2348
|
slidesPerView = swiper.slidesPerViewDynamic();
|
|
2341
2349
|
} else {
|
|
2342
2350
|
slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));
|
|
2343
|
-
if (
|
|
2351
|
+
if (bothDirections && slidesPerView % 2 === 0) {
|
|
2344
2352
|
slidesPerView = slidesPerView + 1;
|
|
2345
2353
|
}
|
|
2346
2354
|
}
|
|
2347
2355
|
const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;
|
|
2348
|
-
let loopedSlides = slidesPerGroup;
|
|
2356
|
+
let loopedSlides = bothDirections ? Math.max(slidesPerGroup, Math.ceil(slidesPerView / 2)) : slidesPerGroup;
|
|
2349
2357
|
if (loopedSlides % slidesPerGroup !== 0) {
|
|
2350
2358
|
loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;
|
|
2351
2359
|
}
|
|
2352
2360
|
loopedSlides += params.loopAdditionalSlides;
|
|
2353
2361
|
swiper.loopedSlides = loopedSlides;
|
|
2354
2362
|
const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;
|
|
2355
|
-
if (slides.length < slidesPerView + loopedSlides) {
|
|
2356
|
-
showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled
|
|
2363
|
+
if (slides.length < slidesPerView + loopedSlides || swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {
|
|
2364
|
+
showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');
|
|
2357
2365
|
} else if (gridEnabled && params.grid.fill === 'row') {
|
|
2358
2366
|
showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');
|
|
2359
2367
|
}
|
|
2360
2368
|
const prependSlidesIndexes = [];
|
|
2361
2369
|
const appendSlidesIndexes = [];
|
|
2362
|
-
|
|
2370
|
+
const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;
|
|
2371
|
+
const isInitialOverflow = initial && cols - initialSlide < slidesPerView && !bothDirections;
|
|
2372
|
+
let activeIndex = isInitialOverflow ? initialSlide : swiper.activeIndex;
|
|
2363
2373
|
if (typeof activeSlideIndex === 'undefined') {
|
|
2364
|
-
activeSlideIndex = swiper.getSlideIndex(slides.
|
|
2374
|
+
activeSlideIndex = swiper.getSlideIndex(slides.find(el => el.classList.contains(params.slideActiveClass)));
|
|
2365
2375
|
} else {
|
|
2366
2376
|
activeIndex = activeSlideIndex;
|
|
2367
2377
|
}
|
|
@@ -2369,9 +2379,8 @@ function loopFix(_temp) {
|
|
|
2369
2379
|
const isPrev = direction === 'prev' || !direction;
|
|
2370
2380
|
let slidesPrepended = 0;
|
|
2371
2381
|
let slidesAppended = 0;
|
|
2372
|
-
const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;
|
|
2373
2382
|
const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;
|
|
2374
|
-
const activeColIndexWithShift = activeColIndex + (
|
|
2383
|
+
const activeColIndexWithShift = activeColIndex + (bothDirections && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);
|
|
2375
2384
|
// prepend last slides before start
|
|
2376
2385
|
if (activeColIndexWithShift < loopedSlides) {
|
|
2377
2386
|
slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);
|
|
@@ -2391,6 +2400,9 @@ function loopFix(_temp) {
|
|
|
2391
2400
|
}
|
|
2392
2401
|
} else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {
|
|
2393
2402
|
slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);
|
|
2403
|
+
if (isInitialOverflow) {
|
|
2404
|
+
slidesAppended = Math.max(slidesAppended, slidesPerView - cols + initialSlide + 1);
|
|
2405
|
+
}
|
|
2394
2406
|
for (let i = 0; i < slidesAppended; i += 1) {
|
|
2395
2407
|
const index = i - Math.floor(i / cols) * cols;
|
|
2396
2408
|
if (gridEnabled) {
|
|
@@ -2406,6 +2418,14 @@ function loopFix(_temp) {
|
|
|
2406
2418
|
requestAnimationFrame(() => {
|
|
2407
2419
|
swiper.__preventObserver__ = false;
|
|
2408
2420
|
});
|
|
2421
|
+
if (swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {
|
|
2422
|
+
if (appendSlidesIndexes.includes(activeSlideIndex)) {
|
|
2423
|
+
appendSlidesIndexes.splice(appendSlidesIndexes.indexOf(activeSlideIndex), 1);
|
|
2424
|
+
}
|
|
2425
|
+
if (prependSlidesIndexes.includes(activeSlideIndex)) {
|
|
2426
|
+
prependSlidesIndexes.splice(prependSlidesIndexes.indexOf(activeSlideIndex), 1);
|
|
2427
|
+
}
|
|
2428
|
+
}
|
|
2409
2429
|
if (isPrev) {
|
|
2410
2430
|
prependSlidesIndexes.forEach(index => {
|
|
2411
2431
|
slides[index].swiperLoopMoveDOM = true;
|
|
@@ -2506,7 +2526,7 @@ function loopDestroy() {
|
|
|
2506
2526
|
params,
|
|
2507
2527
|
slidesEl
|
|
2508
2528
|
} = swiper;
|
|
2509
|
-
if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;
|
|
2529
|
+
if (!params.loop || !slidesEl || swiper.virtual && swiper.params.virtual.enabled) return;
|
|
2510
2530
|
swiper.recalcSlides();
|
|
2511
2531
|
const newSlidesOrder = [];
|
|
2512
2532
|
swiper.slides.forEach(slideEl => {
|
|
@@ -2567,10 +2587,7 @@ var grabCursor = {
|
|
|
2567
2587
|
};
|
|
2568
2588
|
|
|
2569
2589
|
// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd
|
|
2570
|
-
function closestElement(selector, base) {
|
|
2571
|
-
if (base === void 0) {
|
|
2572
|
-
base = this;
|
|
2573
|
-
}
|
|
2590
|
+
function closestElement(selector, base = this) {
|
|
2574
2591
|
function __closestFrom(el) {
|
|
2575
2592
|
if (!el || el === getDocument() || el === getWindow()) return null;
|
|
2576
2593
|
if (el.assignedSlot) el = el.assignedSlot;
|
|
@@ -2687,7 +2704,7 @@ function onTouchStart(event) {
|
|
|
2687
2704
|
data.isTouched = false;
|
|
2688
2705
|
}
|
|
2689
2706
|
}
|
|
2690
|
-
if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {
|
|
2707
|
+
if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {
|
|
2691
2708
|
document.activeElement.blur();
|
|
2692
2709
|
}
|
|
2693
2710
|
const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
|
|
@@ -2721,7 +2738,7 @@ function onTouchMove(event) {
|
|
|
2721
2738
|
}
|
|
2722
2739
|
let targetTouch;
|
|
2723
2740
|
if (e.type === 'touchmove') {
|
|
2724
|
-
targetTouch = [...e.changedTouches].
|
|
2741
|
+
targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);
|
|
2725
2742
|
if (!targetTouch || targetTouch.identifier !== data.touchId) return;
|
|
2726
2743
|
} else {
|
|
2727
2744
|
targetTouch = e;
|
|
@@ -2762,10 +2779,15 @@ function onTouchMove(event) {
|
|
|
2762
2779
|
data.isMoved = false;
|
|
2763
2780
|
return;
|
|
2764
2781
|
}
|
|
2765
|
-
} else if (pageX
|
|
2782
|
+
} else if (rtl && (pageX > touches.startX && -swiper.translate <= swiper.maxTranslate() || pageX < touches.startX && -swiper.translate >= swiper.minTranslate())) {
|
|
2783
|
+
return;
|
|
2784
|
+
} else if (!rtl && (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate())) {
|
|
2766
2785
|
return;
|
|
2767
2786
|
}
|
|
2768
2787
|
}
|
|
2788
|
+
if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {
|
|
2789
|
+
document.activeElement.blur();
|
|
2790
|
+
}
|
|
2769
2791
|
if (document.activeElement) {
|
|
2770
2792
|
if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {
|
|
2771
2793
|
data.isMoved = true;
|
|
@@ -2861,7 +2883,7 @@ function onTouchMove(event) {
|
|
|
2861
2883
|
}
|
|
2862
2884
|
let loopFixed;
|
|
2863
2885
|
new Date().getTime();
|
|
2864
|
-
if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {
|
|
2886
|
+
if (params._loopSwapReset !== false && data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {
|
|
2865
2887
|
Object.assign(touches, {
|
|
2866
2888
|
startX: pageX,
|
|
2867
2889
|
startY: pageY,
|
|
@@ -2969,7 +2991,7 @@ function onTouchEnd(event) {
|
|
|
2969
2991
|
if (e.pointerId !== data.pointerId) return;
|
|
2970
2992
|
targetTouch = e;
|
|
2971
2993
|
} else {
|
|
2972
|
-
targetTouch = [...e.changedTouches].
|
|
2994
|
+
targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);
|
|
2973
2995
|
if (!targetTouch || targetTouch.identifier !== data.touchId) return;
|
|
2974
2996
|
}
|
|
2975
2997
|
if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {
|
|
@@ -3146,7 +3168,8 @@ function onResize() {
|
|
|
3146
3168
|
swiper.updateSlidesClasses();
|
|
3147
3169
|
const isVirtualLoop = isVirtual && params.loop;
|
|
3148
3170
|
if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {
|
|
3149
|
-
swiper.
|
|
3171
|
+
const slides = isVirtual ? swiper.virtual.slides : swiper.slides;
|
|
3172
|
+
swiper.slideTo(slides.length - 1, 0, false, true);
|
|
3150
3173
|
} else {
|
|
3151
3174
|
if (swiper.params.loop && !isVirtual) {
|
|
3152
3175
|
swiper.slideToLoop(swiper.realIndex, 0, false, true);
|
|
@@ -3343,9 +3366,12 @@ function setBreakpoint() {
|
|
|
3343
3366
|
} = swiper;
|
|
3344
3367
|
const breakpoints = params.breakpoints;
|
|
3345
3368
|
if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;
|
|
3369
|
+
const document = getDocument();
|
|
3346
3370
|
|
|
3347
|
-
// Get breakpoint for window width and update parameters
|
|
3348
|
-
const
|
|
3371
|
+
// Get breakpoint for window/container width and update parameters
|
|
3372
|
+
const breakpointsBase = params.breakpointsBase === 'window' || !params.breakpointsBase ? params.breakpointsBase : 'container';
|
|
3373
|
+
const breakpointContainer = ['window', 'container'].includes(params.breakpointsBase) || !params.breakpointsBase ? swiper.el : document.querySelector(params.breakpointsBase);
|
|
3374
|
+
const breakpoint = swiper.getBreakpoint(breakpoints, breakpointsBase, breakpointContainer);
|
|
3349
3375
|
if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;
|
|
3350
3376
|
const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
|
|
3351
3377
|
const breakpointParams = breakpointOnlyParams || swiper.originalParams;
|
|
@@ -3418,10 +3444,7 @@ function setBreakpoint() {
|
|
|
3418
3444
|
swiper.emit('breakpoint', breakpointParams);
|
|
3419
3445
|
}
|
|
3420
3446
|
|
|
3421
|
-
function getBreakpoint(breakpoints, base, containerEl) {
|
|
3422
|
-
if (base === void 0) {
|
|
3423
|
-
base = 'window';
|
|
3424
|
-
}
|
|
3447
|
+
function getBreakpoint(breakpoints, base = 'window', containerEl) {
|
|
3425
3448
|
if (!breakpoints || base === 'container' && !containerEl) return undefined;
|
|
3426
3449
|
let breakpoint = false;
|
|
3427
3450
|
const window = getWindow();
|
|
@@ -3616,6 +3639,7 @@ var defaults = {
|
|
|
3616
3639
|
// in px
|
|
3617
3640
|
normalizeSlideIndex: true,
|
|
3618
3641
|
centerInsufficientSlides: false,
|
|
3642
|
+
snapToSlideEdge: false,
|
|
3619
3643
|
// Disable swiper and hide navigation when container not overflow
|
|
3620
3644
|
watchOverflow: true,
|
|
3621
3645
|
// Round length
|
|
@@ -3686,10 +3710,7 @@ var defaults = {
|
|
|
3686
3710
|
};
|
|
3687
3711
|
|
|
3688
3712
|
function moduleExtendParams(params, allModulesParams) {
|
|
3689
|
-
return function extendParams(obj) {
|
|
3690
|
-
if (obj === void 0) {
|
|
3691
|
-
obj = {};
|
|
3692
|
-
}
|
|
3713
|
+
return function extendParams(obj = {}) {
|
|
3693
3714
|
const moduleParamName = Object.keys(obj)[0];
|
|
3694
3715
|
const moduleParams = obj[moduleParamName];
|
|
3695
3716
|
if (typeof moduleParams !== 'object' || moduleParams === null) {
|
|
@@ -3737,12 +3758,9 @@ const prototypes = {
|
|
|
3737
3758
|
};
|
|
3738
3759
|
const extendedDefaults = {};
|
|
3739
3760
|
class Swiper {
|
|
3740
|
-
constructor() {
|
|
3761
|
+
constructor(...args) {
|
|
3741
3762
|
let el;
|
|
3742
3763
|
let params;
|
|
3743
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
3744
|
-
args[_key] = arguments[_key];
|
|
3745
|
-
}
|
|
3746
3764
|
if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {
|
|
3747
3765
|
params = args[0];
|
|
3748
3766
|
} else {
|
|
@@ -3776,7 +3794,11 @@ class Swiper {
|
|
|
3776
3794
|
swiper.eventsAnyListeners = [];
|
|
3777
3795
|
swiper.modules = [...swiper.__modules__];
|
|
3778
3796
|
if (params.modules && Array.isArray(params.modules)) {
|
|
3779
|
-
|
|
3797
|
+
params.modules.forEach(mod => {
|
|
3798
|
+
if (typeof mod === 'function' && swiper.modules.indexOf(mod) < 0) {
|
|
3799
|
+
swiper.modules.push(mod);
|
|
3800
|
+
}
|
|
3801
|
+
});
|
|
3780
3802
|
}
|
|
3781
3803
|
const allModulesParams = {};
|
|
3782
3804
|
swiper.modules.forEach(mod => {
|
|
@@ -3921,7 +3943,17 @@ class Swiper {
|
|
|
3921
3943
|
return elementIndex(slideEl) - firstSlideIndex;
|
|
3922
3944
|
}
|
|
3923
3945
|
getSlideIndexByData(index) {
|
|
3924
|
-
return this.getSlideIndex(this.slides.
|
|
3946
|
+
return this.getSlideIndex(this.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index));
|
|
3947
|
+
}
|
|
3948
|
+
getSlideIndexWhenGrid(index) {
|
|
3949
|
+
if (this.grid && this.params.grid && this.params.grid.rows > 1) {
|
|
3950
|
+
if (this.params.grid.fill === 'column') {
|
|
3951
|
+
index = Math.floor(index / this.params.grid.rows);
|
|
3952
|
+
} else if (this.params.grid.fill === 'row') {
|
|
3953
|
+
index = index % Math.ceil(this.slides.length / this.params.grid.rows);
|
|
3954
|
+
}
|
|
3955
|
+
}
|
|
3956
|
+
return index;
|
|
3925
3957
|
}
|
|
3926
3958
|
recalcSlides() {
|
|
3927
3959
|
const swiper = this;
|
|
@@ -3988,13 +4020,7 @@ class Swiper {
|
|
|
3988
4020
|
});
|
|
3989
4021
|
swiper.emit('_slideClasses', updates);
|
|
3990
4022
|
}
|
|
3991
|
-
slidesPerViewDynamic(view, exact) {
|
|
3992
|
-
if (view === void 0) {
|
|
3993
|
-
view = 'current';
|
|
3994
|
-
}
|
|
3995
|
-
if (exact === void 0) {
|
|
3996
|
-
exact = false;
|
|
3997
|
-
}
|
|
4023
|
+
slidesPerViewDynamic(view = 'current', exact = false) {
|
|
3998
4024
|
const swiper = this;
|
|
3999
4025
|
const {
|
|
4000
4026
|
params,
|
|
@@ -4093,10 +4119,7 @@ class Swiper {
|
|
|
4093
4119
|
}
|
|
4094
4120
|
swiper.emit('update');
|
|
4095
4121
|
}
|
|
4096
|
-
changeDirection(newDirection, needUpdate) {
|
|
4097
|
-
if (needUpdate === void 0) {
|
|
4098
|
-
needUpdate = true;
|
|
4099
|
-
}
|
|
4122
|
+
changeDirection(newDirection, needUpdate = true) {
|
|
4100
4123
|
const swiper = this;
|
|
4101
4124
|
const currentDirection = swiper.params.direction;
|
|
4102
4125
|
if (!newDirection) {
|
|
@@ -4222,7 +4245,7 @@ class Swiper {
|
|
|
4222
4245
|
|
|
4223
4246
|
// Create loop
|
|
4224
4247
|
if (swiper.params.loop) {
|
|
4225
|
-
swiper.loopCreate();
|
|
4248
|
+
swiper.loopCreate(undefined, true);
|
|
4226
4249
|
}
|
|
4227
4250
|
|
|
4228
4251
|
// Attach events
|
|
@@ -4251,13 +4274,7 @@ class Swiper {
|
|
|
4251
4274
|
swiper.emit('afterInit');
|
|
4252
4275
|
return swiper;
|
|
4253
4276
|
}
|
|
4254
|
-
destroy(deleteInstance, cleanStyles) {
|
|
4255
|
-
if (deleteInstance === void 0) {
|
|
4256
|
-
deleteInstance = true;
|
|
4257
|
-
}
|
|
4258
|
-
if (cleanStyles === void 0) {
|
|
4259
|
-
cleanStyles = true;
|
|
4260
|
-
}
|
|
4277
|
+
destroy(deleteInstance = true, cleanStyles = true) {
|
|
4261
4278
|
const swiper = this;
|
|
4262
4279
|
const {
|
|
4263
4280
|
params,
|
|
@@ -4363,17 +4380,18 @@ function createElementIfNotDefined(swiper, originalParams, params, checkProps) {
|
|
|
4363
4380
|
return params;
|
|
4364
4381
|
}
|
|
4365
4382
|
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4383
|
+
const arrowSvg = `<svg class="swiper-navigation-icon" width="11" height="20" viewBox="0 0 11 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.38296 20.0762C0.111788 19.805 0.111788 19.3654 0.38296 19.0942L9.19758 10.2796L0.38296 1.46497C0.111788 1.19379 0.111788 0.754138 0.38296 0.482966C0.654131 0.211794 1.09379 0.211794 1.36496 0.482966L10.4341 9.55214C10.8359 9.9539 10.8359 10.6053 10.4341 11.007L1.36496 20.0762C1.09379 20.3474 0.654131 20.3474 0.38296 20.0762Z" fill="currentColor"/></svg>`;
|
|
4384
|
+
function Navigation({
|
|
4385
|
+
swiper,
|
|
4386
|
+
extendParams,
|
|
4387
|
+
on,
|
|
4388
|
+
emit
|
|
4389
|
+
}) {
|
|
4373
4390
|
extendParams({
|
|
4374
4391
|
navigation: {
|
|
4375
4392
|
nextEl: null,
|
|
4376
4393
|
prevEl: null,
|
|
4394
|
+
addIcons: true,
|
|
4377
4395
|
hideOnClick: false,
|
|
4378
4396
|
disabledClass: 'swiper-button-disabled',
|
|
4379
4397
|
hiddenClass: 'swiper-button-hidden',
|
|
@@ -4383,12 +4401,13 @@ function Navigation(_ref) {
|
|
|
4383
4401
|
});
|
|
4384
4402
|
swiper.navigation = {
|
|
4385
4403
|
nextEl: null,
|
|
4386
|
-
prevEl: null
|
|
4404
|
+
prevEl: null,
|
|
4405
|
+
arrowSvg
|
|
4387
4406
|
};
|
|
4388
4407
|
function getEl(el) {
|
|
4389
4408
|
let res;
|
|
4390
4409
|
if (el && typeof el === 'string' && swiper.isElement) {
|
|
4391
|
-
res = swiper.el.querySelector(el);
|
|
4410
|
+
res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);
|
|
4392
4411
|
if (res) return res;
|
|
4393
4412
|
}
|
|
4394
4413
|
if (el) {
|
|
@@ -4459,6 +4478,12 @@ function Navigation(_ref) {
|
|
|
4459
4478
|
prevEl = makeElementsArray(prevEl);
|
|
4460
4479
|
const initButton = (el, dir) => {
|
|
4461
4480
|
if (el) {
|
|
4481
|
+
if (params.addIcons && el.matches('.swiper-button-next,.swiper-button-prev') && !el.querySelector('svg')) {
|
|
4482
|
+
const tempEl = document.createElement('div');
|
|
4483
|
+
setInnerHTML(tempEl, arrowSvg);
|
|
4484
|
+
el.appendChild(tempEl.querySelector('svg'));
|
|
4485
|
+
tempEl.remove();
|
|
4486
|
+
}
|
|
4462
4487
|
el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);
|
|
4463
4488
|
}
|
|
4464
4489
|
if (!swiper.enabled && el) {
|
|
@@ -4559,21 +4584,18 @@ function Navigation(_ref) {
|
|
|
4559
4584
|
});
|
|
4560
4585
|
}
|
|
4561
4586
|
|
|
4562
|
-
function classesToSelector(classes) {
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
}
|
|
4566
|
-
return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line
|
|
4587
|
+
function classesToSelector(classes = '') {
|
|
4588
|
+
// Escape all CSS selector special characters
|
|
4589
|
+
return `.${classes.trim().replace(/([\.:!+\/()[\]#>~*^$|=,'"@{}\\])/g, '\\$1') // eslint-disable-line
|
|
4567
4590
|
.replace(/ /g, '.')}`;
|
|
4568
4591
|
}
|
|
4569
4592
|
|
|
4570
|
-
function Pagination(
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
} = _ref;
|
|
4593
|
+
function Pagination({
|
|
4594
|
+
swiper,
|
|
4595
|
+
extendParams,
|
|
4596
|
+
on,
|
|
4597
|
+
emit
|
|
4598
|
+
}) {
|
|
4577
4599
|
const pfx = 'swiper-pagination';
|
|
4578
4600
|
extendParams({
|
|
4579
4601
|
pagination: {
|
|
@@ -4791,7 +4813,7 @@ function Pagination(_ref) {
|
|
|
4791
4813
|
});
|
|
4792
4814
|
}
|
|
4793
4815
|
if (params.type === 'custom' && params.renderCustom) {
|
|
4794
|
-
subEl
|
|
4816
|
+
setInnerHTML(subEl, params.renderCustom(swiper, current + 1, total));
|
|
4795
4817
|
if (subElIndex === 0) emit('paginationRender', subEl);
|
|
4796
4818
|
} else {
|
|
4797
4819
|
if (subElIndex === 0) emit('paginationRender', subEl);
|
|
@@ -4841,7 +4863,7 @@ function Pagination(_ref) {
|
|
|
4841
4863
|
swiper.pagination.bullets = [];
|
|
4842
4864
|
el.forEach(subEl => {
|
|
4843
4865
|
if (params.type !== 'custom') {
|
|
4844
|
-
subEl
|
|
4866
|
+
setInnerHTML(subEl, paginationHTML || '');
|
|
4845
4867
|
}
|
|
4846
4868
|
if (params.type === 'bullets') {
|
|
4847
4869
|
swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));
|
|
@@ -4872,10 +4894,10 @@ function Pagination(_ref) {
|
|
|
4872
4894
|
el = [...swiper.el.querySelectorAll(params.el)];
|
|
4873
4895
|
// check if it belongs to another nested Swiper
|
|
4874
4896
|
if (el.length > 1) {
|
|
4875
|
-
el = el.
|
|
4897
|
+
el = el.find(subEl => {
|
|
4876
4898
|
if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;
|
|
4877
4899
|
return true;
|
|
4878
|
-
})
|
|
4900
|
+
});
|
|
4879
4901
|
}
|
|
4880
4902
|
}
|
|
4881
4903
|
if (Array.isArray(el) && el.length === 1) el = el[0];
|
|
@@ -5022,12 +5044,11 @@ function Pagination(_ref) {
|
|
|
5022
5044
|
});
|
|
5023
5045
|
}
|
|
5024
5046
|
|
|
5025
|
-
function A11y(
|
|
5026
|
-
|
|
5027
|
-
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
} = _ref;
|
|
5047
|
+
function A11y({
|
|
5048
|
+
swiper,
|
|
5049
|
+
extendParams,
|
|
5050
|
+
on
|
|
5051
|
+
}) {
|
|
5031
5052
|
extendParams({
|
|
5032
5053
|
a11y: {
|
|
5033
5054
|
enabled: true,
|
|
@@ -5044,7 +5065,8 @@ function A11y(_ref) {
|
|
|
5044
5065
|
itemRoleDescriptionMessage: null,
|
|
5045
5066
|
slideRole: 'group',
|
|
5046
5067
|
id: null,
|
|
5047
|
-
scrollOnFocus: true
|
|
5068
|
+
scrollOnFocus: true,
|
|
5069
|
+
wrapperLiveRegion: true
|
|
5048
5070
|
}
|
|
5049
5071
|
});
|
|
5050
5072
|
swiper.a11y = {
|
|
@@ -5057,13 +5079,9 @@ function A11y(_ref) {
|
|
|
5057
5079
|
function notify(message) {
|
|
5058
5080
|
const notification = liveRegion;
|
|
5059
5081
|
if (notification.length === 0) return;
|
|
5060
|
-
notification
|
|
5061
|
-
notification.innerHTML = message;
|
|
5082
|
+
setInnerHTML(notification, message);
|
|
5062
5083
|
}
|
|
5063
|
-
function getRandomNumber(size) {
|
|
5064
|
-
if (size === void 0) {
|
|
5065
|
-
size = 16;
|
|
5066
|
-
}
|
|
5084
|
+
function getRandomNumber(size = 16) {
|
|
5067
5085
|
const randomChar = () => Math.round(16 * Math.random()).toString(16);
|
|
5068
5086
|
return 'x'.repeat(size).replace(/x/g, randomChar);
|
|
5069
5087
|
}
|
|
@@ -5245,7 +5263,8 @@ function A11y(_ref) {
|
|
|
5245
5263
|
const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
|
|
5246
5264
|
if (!slideEl || !swiper.slides.includes(slideEl)) return;
|
|
5247
5265
|
focusTargetSlideEl = slideEl;
|
|
5248
|
-
const
|
|
5266
|
+
const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
|
|
5267
|
+
const isActive = (isVirtual ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : swiper.slides.indexOf(slideEl)) === swiper.activeIndex;
|
|
5249
5268
|
const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);
|
|
5250
5269
|
if (isActive || isVisible) return;
|
|
5251
5270
|
if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;
|
|
@@ -5257,9 +5276,11 @@ function A11y(_ref) {
|
|
|
5257
5276
|
requestAnimationFrame(() => {
|
|
5258
5277
|
if (preventFocusHandler) return;
|
|
5259
5278
|
if (swiper.params.loop) {
|
|
5260
|
-
swiper.slideToLoop(parseInt(slideEl.getAttribute('data-swiper-slide-index')), 0);
|
|
5279
|
+
swiper.slideToLoop(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index'))), 0);
|
|
5280
|
+
} else if (isVirtual) {
|
|
5281
|
+
swiper.slideTo(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10)), 0);
|
|
5261
5282
|
} else {
|
|
5262
|
-
swiper.slideTo(swiper.slides.indexOf(slideEl), 0);
|
|
5283
|
+
swiper.slideTo(swiper.getSlideIndexWhenGrid(swiper.slides.indexOf(slideEl)), 0);
|
|
5263
5284
|
}
|
|
5264
5285
|
preventFocusHandler = false;
|
|
5265
5286
|
});
|
|
@@ -5300,9 +5321,11 @@ function A11y(_ref) {
|
|
|
5300
5321
|
// Wrapper
|
|
5301
5322
|
const wrapperEl = swiper.wrapperEl;
|
|
5302
5323
|
const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;
|
|
5303
|
-
const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';
|
|
5304
5324
|
addElId(wrapperEl, wrapperId);
|
|
5305
|
-
|
|
5325
|
+
if (params.wrapperLiveRegion) {
|
|
5326
|
+
const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';
|
|
5327
|
+
addElLive(wrapperEl, live);
|
|
5328
|
+
}
|
|
5306
5329
|
|
|
5307
5330
|
// Slide
|
|
5308
5331
|
initSlides();
|
|
@@ -5333,7 +5356,6 @@ function A11y(_ref) {
|
|
|
5333
5356
|
const document = getDocument();
|
|
5334
5357
|
document.addEventListener('visibilitychange', onVisibilityChange);
|
|
5335
5358
|
swiper.el.addEventListener('focus', handleFocus, true);
|
|
5336
|
-
swiper.el.addEventListener('focus', handleFocus, true);
|
|
5337
5359
|
swiper.el.addEventListener('pointerdown', handlePointerDown, true);
|
|
5338
5360
|
swiper.el.addEventListener('pointerup', handlePointerUp, true);
|
|
5339
5361
|
};
|
|
@@ -5417,7 +5439,7 @@ function effectInit(params) {
|
|
|
5417
5439
|
Object.assign(swiper.params, overwriteParamsResult);
|
|
5418
5440
|
Object.assign(swiper.originalParams, overwriteParamsResult);
|
|
5419
5441
|
});
|
|
5420
|
-
on('setTranslate', () => {
|
|
5442
|
+
on('setTranslate _virtualUpdated', () => {
|
|
5421
5443
|
if (swiper.params.effect !== effect) return;
|
|
5422
5444
|
setTranslate();
|
|
5423
5445
|
});
|
|
@@ -5461,20 +5483,19 @@ function effectTarget(effectParams, slideEl) {
|
|
|
5461
5483
|
return transformEl;
|
|
5462
5484
|
}
|
|
5463
5485
|
|
|
5464
|
-
function effectVirtualTransitionEnd(
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5470
|
-
} = _ref;
|
|
5486
|
+
function effectVirtualTransitionEnd({
|
|
5487
|
+
swiper,
|
|
5488
|
+
duration,
|
|
5489
|
+
transformElements,
|
|
5490
|
+
allSlides
|
|
5491
|
+
}) {
|
|
5471
5492
|
const {
|
|
5472
5493
|
activeIndex
|
|
5473
5494
|
} = swiper;
|
|
5474
5495
|
const getSlide = el => {
|
|
5475
5496
|
if (!el.parentElement) {
|
|
5476
5497
|
// assume shadow root
|
|
5477
|
-
const slide = swiper.slides.
|
|
5498
|
+
const slide = swiper.slides.find(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode);
|
|
5478
5499
|
return slide;
|
|
5479
5500
|
}
|
|
5480
5501
|
return el.parentElement;
|
|
@@ -5506,12 +5527,11 @@ function effectVirtualTransitionEnd(_ref) {
|
|
|
5506
5527
|
}
|
|
5507
5528
|
}
|
|
5508
5529
|
|
|
5509
|
-
function EffectFade(
|
|
5510
|
-
|
|
5511
|
-
|
|
5512
|
-
|
|
5513
|
-
|
|
5514
|
-
} = _ref;
|
|
5530
|
+
function EffectFade({
|
|
5531
|
+
swiper,
|
|
5532
|
+
extendParams,
|
|
5533
|
+
on
|
|
5534
|
+
}) {
|
|
5515
5535
|
extendParams({
|
|
5516
5536
|
fadeEffect: {
|
|
5517
5537
|
crossFade: false
|
|
@@ -5566,7 +5586,7 @@ function EffectFade(_ref) {
|
|
|
5566
5586
|
});
|
|
5567
5587
|
}
|
|
5568
5588
|
|
|
5569
|
-
const hyHeroCarouselCss = "@font-face{font-family:swiper-icons;src:url(\"data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA\");font-weight:400;font-style:normal}:root{--swiper-theme-color:var(--brand-main)}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-slide,swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-backface-hidden .swiper-slide{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{-webkit-perspective:1200px;perspective:1200px}.swiper-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.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{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.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, 0.15)}.swiper-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));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:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));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:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));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:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.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-horizontal.swiper-css-mode>.swiper-wrapper{-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:\"\";-ms-flex-negative:0;flex-shrink:0;-webkit-box-ordinal-group:10000;-ms-flex-order:9999;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-centered-offset-before);margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-centered-offset-before);margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;transform-origin:50%;-webkit-box-sizing:border-box;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,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{-webkit-animation:swiper-preloader-spin 1s infinite linear;animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@-webkit-keyframes swiper-preloader-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack: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:0.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: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,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset, 10px);right:auto}.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-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:0.3s opacity;transition:0.3s opacity;-webkit-transform:translate3d(0, 0, 0);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{-webkit-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);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;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-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%;-webkit-transform:translate3d(0px, -50%, 0);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%;-webkit-transform:translateY(-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;-webkit-transition:0.2s top, 0.2s -webkit-transform;transition:0.2s top, 0.2s -webkit-transform;transition:0.2s transform, 0.2s top;transition:0.2s transform, 0.2s top, 0.2s -webkit-transform}.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%;-webkit-transform:translateX(-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{-webkit-transition:0.2s left, 0.2s -webkit-transform;transition:0.2s left, 0.2s -webkit-transform;transition:0.2s transform, 0.2s left;transition:0.2s transform, 0.2s left, 0.2s -webkit-transform}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:0.2s right, 0.2s -webkit-transform;transition:0.2s right, 0.2s -webkit-transform;transition:0.2s transform, 0.2s right;transition:0.2s transform, 0.2s right, 0.2s -webkit-transform}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.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%;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;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;-ms-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-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, 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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align: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%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move;-ms-touch-action:none;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.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;-webkit-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{-webkit-transform-origin:100% 0;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-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.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:var(--grayscale-black);position:absolute;left:0;top:0;bottom:0;right:0;-webkit-filter:blur(50px);filter:blur(50px)}.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-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-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;-webkit-transition-property:opacity, height, -webkit-transform;transition-property:opacity, height, -webkit-transform;transition-property:transform, opacity, height;transition-property:transform, opacity, height, -webkit-transform}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}*{-webkit-box-sizing:border-box;box-sizing:border-box}.swiper-slide{display:grid;height:auto;align-self:stretch}.hero-carousel-container{border-bottom:1px solid var(--grayscale-medium-dark);margin:1.5rem 0;--button-size:35px;--button-offset:0px}@media (min-width: 60rem){.hero-carousel-container{border:none;margin:1.5rem 0 0 0}.hero-carousel-container .swiper{padding:0 10px}}.hero-carousel-container .swiper-button-prev,.hero-carousel-container .swiper-button-next{-webkit-box-align:center;-ms-flex-align:center;align-items:center;aspect-ratio:1;background-color:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:var(--button-size);z-index:9}@media (min-width: 60rem){.hero-carousel-container .swiper-button-prev,.hero-carousel-container .swiper-button-next{background-color:var(--brand-main-light);width:40px}.hero-carousel-container .swiper-button-prev:hover,.hero-carousel-container .swiper-button-next:hover{background-color:var(--brand-main-active)}}.hero-carousel-container .swiper-button-prev::after,.hero-carousel-container .swiper-button-next::after{display:none}.swiper .hero-carousel-container .swiper-button-prev-fade .swiper-slide-prev,.swiper .hero-carousel-container .swiper-button-prev-fade .swiper-slide-next,.swiper .hero-carousel-container .swiper-button-next-fade .swiper-slide-prev,.swiper .hero-carousel-container .swiper-button-next-fade .swiper-slide-next{z-index:-1}@media (min-width: 60rem){.hero-carousel-container .swiper-button-next{bottom:50%;position:absolute;right:var(--button-offset);-webkit-transform:translateY(-50%);transform:translateY(-50%)}}@media (min-width: 60rem){.hero-carousel-container .swiper-button-prev{bottom:50%;left:var(--button-offset);position:absolute;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}.hero-carousel-container .arrow svg{display:none}@media (min-width: 60rem){.hero-carousel-container .arrow svg{display:block}}.hero-carousel-container .caret svg{display:block}@media (min-width: 60rem){.hero-carousel-container .caret svg{display:none}}.hero-carousel-container svg{fill:var(--grayscale-medium-dark);height:16px;width:16px}@media (min-width: 60rem){.hero-carousel-container svg{fill:var(--grayscale-white)}}.hero-carousel--controls{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin:30px 0;padding:0 1rem;position:relative;width:100%}@media (min-width: 60rem){.hero-carousel--controls{display:block;margin:0;padding:0;position:initial;width:auto}}.hero-carousel--pagination--mobile{bottom:auto !important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:12px;left:auto !important;position:relative;top:auto !important;width:100px !important}@media (min-width: 60rem){.hero-carousel--pagination--mobile{display:none}}.hero-carousel--controls__buttons{position:relative;margin-right:-15px;width:100px}@media (min-width: 60rem){.hero-carousel--controls__buttons{margin:0;position:initial;width:auto}}.hero-carousel--pagination__bullet{background-color:var(--grayscale-medium);content:\"\";display:block;height:12px;width:12px}.hero-carousel--pagination__bullet--active{background-color:var(--brand-main-active)}.hero-carousel--item__pagination ul{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:none;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;list-style-type:none;margin:24px 0 0 0;padding:0;gap:1rem}@media (min-width: 60rem){.hero-carousel--item__pagination ul{display:-webkit-box;display:-ms-flexbox;display:flex}}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button button{font-size:1.125rem;line-height:24px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;background:none;border:none;-webkit-box-shadow:none;box-shadow:none;color:var(--grayscale-white);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--main-font-family);font-style:normal;font-weight:700;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-hyphens:auto;hyphens:auto;letter-spacing:-0.36px;opacity:0.8;text-align:left}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button button:is(:hover,:focus){cursor:pointer;opacity:1}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button button .hero-carousel--item__pagination__button__theme{font-size:0.875rem;line-height:18px;font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.5px;text-transform:uppercase;text-align:left;margin-bottom:0.4rem}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button.is-current button{opacity:1}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button.is-current button:after{border-bottom:4px solid var(--grayscale-white, #FFF);content:\"\";display:block;margin-top:0.45rem;width:33.3333333333%}.hero-carousel--item{display:grid;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:auto;align-self:stretch}@media (min-width: 60rem){.hero-carousel--item{display:grid;grid-template-columns:1fr 1fr}}.hero-carousel--item__content{background-color:var(--brand-main);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:1rem 0.95rem}@media (min-width: 48rem){.hero-carousel--item__content{padding:clamp(15px, 8%, 62px) clamp(24px, 10%, 52px) clamp(15px, 8%, 55px) clamp(24px, 10%, 52px)}}@media (min-width: 1601px){.hero-carousel--item__content{padding:clamp(15px, 10%, 72px) clamp(24px, 15%, 102px) clamp(15px, 10%, 65px) clamp(24px, 15%, 102px)}}.hero-carousel--item__content hy-cta-button{margin-bottom:30px}@media (min-width: 48rem){.hero-carousel--item__content hy-cta-button{margin-bottom:48px}}@media (min-width: 75.0625rem){.hero-carousel--item__content hy-cta-button{margin-bottom:60px}}.hero-carousel--item__title{color:var(--ds-palette-white);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-40);font-weight:var(--ds-fontWeight-bold);letter-spacing:-1.2px;font-stretch:var(--ds-fontWidth-normal);line-height:48px;text-transform:uppercase;text-wrap:balance;margin:1rem 0;}@media (min-width: 60rem){.hero-carousel--item__title{font-size:var(--ds-fontSize-56);letter-spacing:var(--ds-letterSpacing-tight);line-height:64px;font-stretch:var(--ds-fontWidth-condense)}}.hero-carousel--item__desc{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);-ms-hyphens:auto;hyphens:auto;text-wrap:pretty;-webkit-box-orient:vertical;-webkit-line-clamp:5;color:var(--grayscale-white);display:-webkit-box;font-style:normal;line-clamp:3;margin-bottom:2rem;overflow:hidden;text-overflow:ellipsis;text-wrap:pretty}@media (min-width: 60rem){.hero-carousel--item__desc{font-size:var(--ds-fontSize-22)}}@media (min-width: 60rem){.hero-carousel--item__desc{margin-bottom:2.5rem}}.hero-carousel--item__image{--swiper-preloader-color:var(--brand-main-light);position:relative;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}@media (min-width: 60rem){.hero-carousel--item__image{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;margin:10px 0}}.hero-carousel--item__image .hy-image__image{display:block;height:100%;min-height:205px;width:100%}.hero-carousel--item__image img{-o-object-fit:cover;object-fit:cover}";
|
|
5589
|
+
const hyHeroCarouselCss = ":root{--swiper-theme-color:var(--brand-main)}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-slide,swiper-slide{-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-backface-hidden .swiper-slide{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{-webkit-perspective:1200px;perspective:1200px}.swiper-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.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{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.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, 0.15)}.swiper-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));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:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));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:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));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:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.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-horizontal.swiper-css-mode>.swiper-wrapper{-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:\"\";-ms-flex-negative:0;flex-shrink:0;-webkit-box-ordinal-group:10000;-ms-flex-order:9999;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-centered-offset-before);margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-centered-offset-before);margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;transform-origin:50%;-webkit-box-sizing:border-box;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,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{-webkit-animation:swiper-preloader-spin 1s infinite linear;animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@-webkit-keyframes swiper-preloader-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack: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:0.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-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset, 10px);right:auto}.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-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:0.3s opacity;transition:0.3s opacity;-webkit-transform:translate3d(0, 0, 0);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{-webkit-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);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;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-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%;-webkit-transform:translate3d(0px, -50%, 0);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%;-webkit-transform:translateY(-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;-webkit-transition:0.2s top, 0.2s -webkit-transform;transition:0.2s top, 0.2s -webkit-transform;transition:0.2s transform, 0.2s top;transition:0.2s transform, 0.2s top, 0.2s -webkit-transform}.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%;-webkit-transform:translateX(-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{-webkit-transition:0.2s left, 0.2s -webkit-transform;transition:0.2s left, 0.2s -webkit-transform;transition:0.2s transform, 0.2s left;transition:0.2s transform, 0.2s left, 0.2s -webkit-transform}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:0.2s right, 0.2s -webkit-transform;transition:0.2s right, 0.2s -webkit-transform;transition:0.2s transform, 0.2s right;transition:0.2s transform, 0.2s right, 0.2s -webkit-transform}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.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%;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;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;-ms-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-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, 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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align: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%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move;-ms-touch-action:none;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.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;-webkit-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{-webkit-transform-origin:100% 0;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-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.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:var(--grayscale-black);position:absolute;left:0;top:0;bottom:0;right:0;-webkit-filter:blur(50px);filter:blur(50px)}.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-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-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;-webkit-transition-property:opacity, height, -webkit-transform;transition-property:opacity, height, -webkit-transform;transition-property:transform, opacity, height;transition-property:transform, opacity, height, -webkit-transform}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}*{-webkit-box-sizing:border-box;box-sizing:border-box}.swiper-slide{display:grid;height:auto;align-self:stretch}.hero-carousel-container{border-bottom:1px solid var(--grayscale-medium-dark);margin:1.5rem 0;--button-size:35px;--button-offset:0px}@media (min-width: 60rem){.hero-carousel-container{border:none;margin:1.5rem 0 0 0}.hero-carousel-container .swiper{padding:0 10px}}.hero-carousel-container .swiper-button-prev,.hero-carousel-container .swiper-button-next{-webkit-box-align:center;-ms-flex-align:center;align-items:center;aspect-ratio:1;background-color:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:var(--button-size);z-index:9}@media (min-width: 60rem){.hero-carousel-container .swiper-button-prev,.hero-carousel-container .swiper-button-next{background-color:var(--brand-main-light);width:40px}.hero-carousel-container .swiper-button-prev:hover,.hero-carousel-container .swiper-button-next:hover{background-color:var(--brand-main-active)}}.hero-carousel-container .swiper-button-prev::after,.hero-carousel-container .swiper-button-next::after{display:none}.swiper .hero-carousel-container .swiper-button-prev-fade .swiper-slide-prev,.swiper .hero-carousel-container .swiper-button-prev-fade .swiper-slide-next,.swiper .hero-carousel-container .swiper-button-next-fade .swiper-slide-prev,.swiper .hero-carousel-container .swiper-button-next-fade .swiper-slide-next{z-index:-1}@media (min-width: 60rem){.hero-carousel-container .swiper-button-next{bottom:50%;position:absolute;right:var(--button-offset);-webkit-transform:translateY(-50%);transform:translateY(-50%)}}@media (min-width: 60rem){.hero-carousel-container .swiper-button-prev{bottom:50%;left:var(--button-offset);position:absolute;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}.hero-carousel-container .arrow svg{display:none}@media (min-width: 60rem){.hero-carousel-container .arrow svg{display:block}}.hero-carousel-container .caret svg{display:block}@media (min-width: 60rem){.hero-carousel-container .caret svg{display:none}}.hero-carousel-container svg{fill:var(--grayscale-medium-dark);height:16px;width:16px}@media (min-width: 60rem){.hero-carousel-container svg{fill:var(--grayscale-white)}}.hero-carousel--controls{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin:30px 0;padding:0 1rem;position:relative;width:100%}@media (min-width: 60rem){.hero-carousel--controls{display:block;margin:0;padding:0;position:initial;width:auto}}.hero-carousel--pagination--mobile{bottom:auto !important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:12px;left:auto !important;position:relative;top:auto !important;width:100px !important}@media (min-width: 60rem){.hero-carousel--pagination--mobile{display:none}}.hero-carousel--controls__buttons{position:relative;margin-right:-15px;width:100px}@media (min-width: 60rem){.hero-carousel--controls__buttons{margin:0;position:initial;width:auto}}.hero-carousel--pagination__bullet{background-color:var(--grayscale-medium);content:\"\";display:block;height:12px;width:12px}.hero-carousel--pagination__bullet--active{background-color:var(--brand-main-active)}.hero-carousel--item__pagination ul{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;display:none;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;list-style-type:none;margin:24px 0 0 0;padding:0;gap:1rem}@media (min-width: 60rem){.hero-carousel--item__pagination ul{display:-webkit-box;display:-ms-flexbox;display:flex}}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button button{font-size:1.125rem;line-height:24px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;background:none;border:none;-webkit-box-shadow:none;box-shadow:none;color:var(--grayscale-white);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--main-font-family);font-style:normal;font-weight:700;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-hyphens:auto;hyphens:auto;letter-spacing:-0.36px;opacity:0.8;text-align:left}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button button:is(:hover,:focus-visible){cursor:pointer;opacity:1}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button button .hero-carousel--item__pagination__button__theme{font-size:0.875rem;line-height:18px;font-family:var(--main-font-family);font-weight:600;letter-spacing:-0.5px;text-transform:uppercase;text-align:left;margin-bottom:0.4rem}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button.is-current button{opacity:1}.hero-carousel--item__pagination ul li.hero-carousel--item__pagination__button.is-current button:after{border-bottom:4px solid var(--grayscale-white, #FFF);content:\"\";display:block;margin-top:0.45rem;width:33.3333333333%}.hero-carousel--item{display:grid;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:auto;align-self:stretch}@media (min-width: 60rem){.hero-carousel--item{display:grid;grid-template-columns:1fr 1fr}}.hero-carousel--item__content{background-color:var(--brand-main);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:1rem 0.95rem}@media (min-width: 48rem){.hero-carousel--item__content{padding:clamp(15px, 8%, 62px) clamp(24px, 10%, 52px) clamp(15px, 8%, 55px) clamp(24px, 10%, 52px)}}@media (min-width: 1601px){.hero-carousel--item__content{padding:clamp(15px, 10%, 72px) clamp(24px, 15%, 102px) clamp(15px, 10%, 65px) clamp(24px, 15%, 102px)}}.hero-carousel--item__content hy-cta-button{margin-bottom:30px}@media (min-width: 48rem){.hero-carousel--item__content hy-cta-button{margin-bottom:48px}}@media (min-width: 75.0625rem){.hero-carousel--item__content hy-cta-button{margin-bottom:60px}}.hero-carousel--item__title{color:var(--ds-palette-white);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-40);font-weight:var(--ds-fontWeight-bold);letter-spacing:-1.2px;font-stretch:var(--ds-fontWidth-normal);line-height:48px;text-transform:uppercase;text-wrap:balance;margin:1rem 0;}@media (min-width: 60rem){.hero-carousel--item__title{font-size:var(--ds-fontSize-56);letter-spacing:var(--ds-letterSpacing-tight);line-height:64px;font-stretch:var(--ds-fontWidth-condense)}}.hero-carousel--item__desc{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);-ms-hyphens:auto;hyphens:auto;text-wrap:pretty;-webkit-box-orient:vertical;-webkit-line-clamp:5;color:var(--grayscale-white);display:-webkit-box;font-style:normal;line-clamp:3;margin-bottom:2rem;overflow:hidden;text-overflow:ellipsis;text-wrap:pretty}@media (min-width: 60rem){.hero-carousel--item__desc{font-size:var(--ds-fontSize-22)}}@media (min-width: 60rem){.hero-carousel--item__desc{margin-bottom:2.5rem}}.hero-carousel--item__image{--swiper-preloader-color:var(--brand-main-light);position:relative;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}@media (min-width: 60rem){.hero-carousel--item__image{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;margin:10px 0}}.hero-carousel--item__image .hy-image__image{display:block;height:100%;min-height:205px;width:100%}.hero-carousel--item__image img{-o-object-fit:cover;object-fit:cover}";
|
|
5570
5590
|
const HyHeroCarouselStyle0 = hyHeroCarouselCss;
|
|
5571
5591
|
|
|
5572
5592
|
const HyHeroCarousel = class {
|
|
@@ -5597,6 +5617,7 @@ const HyHeroCarousel = class {
|
|
|
5597
5617
|
navigation: {
|
|
5598
5618
|
nextEl: ".swiper-button-next",
|
|
5599
5619
|
prevEl: ".swiper-button-prev",
|
|
5620
|
+
addIcons: false,
|
|
5600
5621
|
},
|
|
5601
5622
|
pagination: {
|
|
5602
5623
|
el: ".swiper-pagination",
|
|
@@ -5623,7 +5644,7 @@ const HyHeroCarousel = class {
|
|
|
5623
5644
|
}
|
|
5624
5645
|
render() {
|
|
5625
5646
|
const carouselContentClasses = ["hero-carousel--item__content", this.itemCount > 1 ? "has-pagination" : ""].join(" ");
|
|
5626
|
-
return (index.h("div", { key: '
|
|
5647
|
+
return (index.h("div", { key: '6edb4f0431901d93792c815d98c3d1b0530b028d', class: "hero-carousel-container" }, index.h("div", { key: '56818055b029489cd68ec5bd242c7fa0f6cbda65', class: "swiper" }, index.h("div", { key: '10e2871e58c3eac5fe6a5793d435a0ebe126bb25', class: "swiper-wrapper" }, this._data["items"] &&
|
|
5627
5648
|
this._data["items"].map((i, index$1) => {
|
|
5628
5649
|
const currentIndex = index$1;
|
|
5629
5650
|
const srcSet = JSON.parse(i.image_sources);
|