@itcenteratunihelsinki/huds-lib 0.11.1 → 0.12.1
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 +1 -1
- 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 +1 -1
- 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.css +0 -1
- 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 +1 -1
- 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
|
@@ -5,28 +5,23 @@ import { d as defineCustomElement$3 } from './cta-button.js';
|
|
|
5
5
|
import { d as defineCustomElement$2 } from './icon.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* SSR Window
|
|
8
|
+
* SSR Window 5.0.1
|
|
9
9
|
* Better handling for window object in SSR environment
|
|
10
10
|
* https://github.com/nolimits4web/ssr-window
|
|
11
11
|
*
|
|
12
|
-
* Copyright
|
|
12
|
+
* Copyright 2025, Vladimir Kharlampidi
|
|
13
13
|
*
|
|
14
14
|
* Licensed under MIT
|
|
15
15
|
*
|
|
16
|
-
* Released on:
|
|
16
|
+
* Released on: June 27, 2025
|
|
17
17
|
*/
|
|
18
18
|
/* eslint-disable no-param-reassign */
|
|
19
19
|
function isObject$1(obj) {
|
|
20
20
|
return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;
|
|
21
21
|
}
|
|
22
|
-
function extend$1(target, src) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
if (src === void 0) {
|
|
27
|
-
src = {};
|
|
28
|
-
}
|
|
29
|
-
Object.keys(src).forEach(key => {
|
|
22
|
+
function extend$1(target = {}, src = {}) {
|
|
23
|
+
const noExtend = ['__proto__', 'constructor', 'prototype'];
|
|
24
|
+
Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {
|
|
30
25
|
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) {
|
|
31
26
|
extend$1(target[key], src[key]);
|
|
32
27
|
}
|
|
@@ -148,10 +143,7 @@ function getWindow() {
|
|
|
148
143
|
return win;
|
|
149
144
|
}
|
|
150
145
|
|
|
151
|
-
function classesToTokens(classes) {
|
|
152
|
-
if (classes === void 0) {
|
|
153
|
-
classes = '';
|
|
154
|
-
}
|
|
146
|
+
function classesToTokens(classes = '') {
|
|
155
147
|
return classes.trim().split(' ').filter(c => !!c.trim());
|
|
156
148
|
}
|
|
157
149
|
|
|
@@ -170,10 +162,7 @@ function deleteProps(obj) {
|
|
|
170
162
|
}
|
|
171
163
|
});
|
|
172
164
|
}
|
|
173
|
-
function nextTick(callback, delay) {
|
|
174
|
-
if (delay === void 0) {
|
|
175
|
-
delay = 0;
|
|
176
|
-
}
|
|
165
|
+
function nextTick(callback, delay = 0) {
|
|
177
166
|
return setTimeout(callback, delay);
|
|
178
167
|
}
|
|
179
168
|
function now() {
|
|
@@ -193,10 +182,7 @@ function getComputedStyle$1(el) {
|
|
|
193
182
|
}
|
|
194
183
|
return style;
|
|
195
184
|
}
|
|
196
|
-
function getTranslate(el, axis) {
|
|
197
|
-
if (axis === void 0) {
|
|
198
|
-
axis = 'x';
|
|
199
|
-
}
|
|
185
|
+
function getTranslate(el, axis = 'x') {
|
|
200
186
|
const window = getWindow();
|
|
201
187
|
let matrix;
|
|
202
188
|
let curTransform;
|
|
@@ -242,13 +228,12 @@ function isNode(node) {
|
|
|
242
228
|
}
|
|
243
229
|
return node && (node.nodeType === 1 || node.nodeType === 11);
|
|
244
230
|
}
|
|
245
|
-
function extend() {
|
|
246
|
-
const to = Object(
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];
|
|
231
|
+
function extend(...args) {
|
|
232
|
+
const to = Object(args[0]);
|
|
233
|
+
for (let i = 1; i < args.length; i += 1) {
|
|
234
|
+
const nextSource = args[i];
|
|
250
235
|
if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {
|
|
251
|
-
const keysArray = Object.keys(Object(nextSource)).filter(key =>
|
|
236
|
+
const keysArray = Object.keys(Object(nextSource)).filter(key => key !== '__proto__' && key !== 'constructor' && key !== 'prototype');
|
|
252
237
|
for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
|
|
253
238
|
const nextKey = keysArray[nextIndex];
|
|
254
239
|
const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
|
|
@@ -278,12 +263,11 @@ function extend() {
|
|
|
278
263
|
function setCSSProperty(el, varName, varValue) {
|
|
279
264
|
el.style.setProperty(varName, varValue);
|
|
280
265
|
}
|
|
281
|
-
function animateCSSModeScroll(
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
} = _ref;
|
|
266
|
+
function animateCSSModeScroll({
|
|
267
|
+
swiper,
|
|
268
|
+
targetPosition,
|
|
269
|
+
side
|
|
270
|
+
}) {
|
|
287
271
|
const window = getWindow();
|
|
288
272
|
const startPosition = -swiper.translate;
|
|
289
273
|
let startTime = null;
|
|
@@ -328,12 +312,10 @@ function animateCSSModeScroll(_ref) {
|
|
|
328
312
|
function getSlideTransformEl(slideEl) {
|
|
329
313
|
return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl;
|
|
330
314
|
}
|
|
331
|
-
function elementChildren(element, selector) {
|
|
332
|
-
|
|
333
|
-
selector = '';
|
|
334
|
-
}
|
|
315
|
+
function elementChildren(element, selector = '') {
|
|
316
|
+
const window = getWindow();
|
|
335
317
|
const children = [...element.children];
|
|
336
|
-
if (element instanceof HTMLSlotElement) {
|
|
318
|
+
if (window.HTMLSlotElement && element instanceof HTMLSlotElement) {
|
|
337
319
|
children.push(...element.assignedElements());
|
|
338
320
|
}
|
|
339
321
|
if (!selector) {
|
|
@@ -341,11 +323,26 @@ function elementChildren(element, selector) {
|
|
|
341
323
|
}
|
|
342
324
|
return children.filter(el => el.matches(selector));
|
|
343
325
|
}
|
|
326
|
+
function elementIsChildOfSlot(el, slot) {
|
|
327
|
+
// Breadth-first search through all parent's children and assigned elements
|
|
328
|
+
const elementsQueue = [slot];
|
|
329
|
+
while (elementsQueue.length > 0) {
|
|
330
|
+
const elementToCheck = elementsQueue.shift();
|
|
331
|
+
if (el === elementToCheck) {
|
|
332
|
+
return true;
|
|
333
|
+
}
|
|
334
|
+
elementsQueue.push(...elementToCheck.children, ...(elementToCheck.shadowRoot ? elementToCheck.shadowRoot.children : []), ...(elementToCheck.assignedElements ? elementToCheck.assignedElements() : []));
|
|
335
|
+
}
|
|
336
|
+
}
|
|
344
337
|
function elementIsChildOf(el, parent) {
|
|
345
|
-
const
|
|
346
|
-
|
|
338
|
+
const window = getWindow();
|
|
339
|
+
let isChild = parent.contains(el);
|
|
340
|
+
if (!isChild && window.HTMLSlotElement && parent instanceof HTMLSlotElement) {
|
|
347
341
|
const children = [...parent.assignedElements()];
|
|
348
|
-
|
|
342
|
+
isChild = children.includes(el);
|
|
343
|
+
if (!isChild) {
|
|
344
|
+
isChild = elementIsChildOfSlot(el, parent);
|
|
345
|
+
}
|
|
349
346
|
}
|
|
350
347
|
return isChild;
|
|
351
348
|
}
|
|
@@ -357,10 +354,7 @@ function showWarning(text) {
|
|
|
357
354
|
// err
|
|
358
355
|
}
|
|
359
356
|
}
|
|
360
|
-
function createElement(tag, classes) {
|
|
361
|
-
if (classes === void 0) {
|
|
362
|
-
classes = [];
|
|
363
|
-
}
|
|
357
|
+
function createElement(tag, classes = []) {
|
|
364
358
|
const el = document.createElement(tag);
|
|
365
359
|
el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes)));
|
|
366
360
|
return el;
|
|
@@ -437,6 +431,15 @@ function elementOuterSize(el, size, includeMargins) {
|
|
|
437
431
|
function makeElementsArray(el) {
|
|
438
432
|
return (Array.isArray(el) ? el : [el]).filter(e => !!e);
|
|
439
433
|
}
|
|
434
|
+
function setInnerHTML(el, html = '') {
|
|
435
|
+
if (typeof trustedTypes !== 'undefined') {
|
|
436
|
+
el.innerHTML = trustedTypes.createPolicy('html', {
|
|
437
|
+
createHTML: s => s
|
|
438
|
+
}).createHTML(html);
|
|
439
|
+
} else {
|
|
440
|
+
el.innerHTML = html;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
440
443
|
|
|
441
444
|
let support;
|
|
442
445
|
function calcSupport() {
|
|
@@ -455,10 +458,9 @@ function getSupport() {
|
|
|
455
458
|
}
|
|
456
459
|
|
|
457
460
|
let deviceCached;
|
|
458
|
-
function calcDevice(
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
} = _temp === void 0 ? {} : _temp;
|
|
461
|
+
function calcDevice({
|
|
462
|
+
userAgent
|
|
463
|
+
} = {}) {
|
|
462
464
|
const support = getSupport();
|
|
463
465
|
const window = getWindow();
|
|
464
466
|
const platform = window.navigator.platform;
|
|
@@ -470,7 +472,7 @@ function calcDevice(_temp) {
|
|
|
470
472
|
const screenWidth = window.screen.width;
|
|
471
473
|
const screenHeight = window.screen.height;
|
|
472
474
|
const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
|
|
473
|
-
let ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
|
|
475
|
+
let ipad = ua.match(/(iPad)(?!\1).*OS\s([\d_]+)/);
|
|
474
476
|
const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
|
|
475
477
|
const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
|
|
476
478
|
const windows = platform === 'Win32';
|
|
@@ -497,10 +499,7 @@ function calcDevice(_temp) {
|
|
|
497
499
|
// Export object
|
|
498
500
|
return device;
|
|
499
501
|
}
|
|
500
|
-
function getDevice(overrides) {
|
|
501
|
-
if (overrides === void 0) {
|
|
502
|
-
overrides = {};
|
|
503
|
-
}
|
|
502
|
+
function getDevice(overrides = {}) {
|
|
504
503
|
if (!deviceCached) {
|
|
505
504
|
deviceCached = calcDevice(overrides);
|
|
506
505
|
}
|
|
@@ -540,12 +539,11 @@ function getBrowser() {
|
|
|
540
539
|
return browser;
|
|
541
540
|
}
|
|
542
541
|
|
|
543
|
-
function Resize(
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
} = _ref;
|
|
542
|
+
function Resize({
|
|
543
|
+
swiper,
|
|
544
|
+
on,
|
|
545
|
+
emit
|
|
546
|
+
}) {
|
|
549
547
|
const window = getWindow();
|
|
550
548
|
let observer = null;
|
|
551
549
|
let animationFrame = null;
|
|
@@ -564,12 +562,11 @@ function Resize(_ref) {
|
|
|
564
562
|
} = swiper;
|
|
565
563
|
let newWidth = width;
|
|
566
564
|
let newHeight = height;
|
|
567
|
-
entries.forEach(
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
} = _ref2;
|
|
565
|
+
entries.forEach(({
|
|
566
|
+
contentBoxSize,
|
|
567
|
+
contentRect,
|
|
568
|
+
target
|
|
569
|
+
}) => {
|
|
573
570
|
if (target && target !== swiper.el) return;
|
|
574
571
|
newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;
|
|
575
572
|
newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;
|
|
@@ -609,19 +606,15 @@ function Resize(_ref) {
|
|
|
609
606
|
});
|
|
610
607
|
}
|
|
611
608
|
|
|
612
|
-
function Observer(
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
} = _ref;
|
|
609
|
+
function Observer({
|
|
610
|
+
swiper,
|
|
611
|
+
extendParams,
|
|
612
|
+
on,
|
|
613
|
+
emit
|
|
614
|
+
}) {
|
|
619
615
|
const observers = [];
|
|
620
616
|
const window = getWindow();
|
|
621
|
-
const attach =
|
|
622
|
-
if (options === void 0) {
|
|
623
|
-
options = {};
|
|
624
|
-
}
|
|
617
|
+
const attach = (target, options = {}) => {
|
|
625
618
|
const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;
|
|
626
619
|
const observer = new ObserverFunc(mutations => {
|
|
627
620
|
// The observerUpdate event should only be triggered
|
|
@@ -699,14 +692,11 @@ var eventsEmitter = {
|
|
|
699
692
|
const self = this;
|
|
700
693
|
if (!self.eventsListeners || self.destroyed) return self;
|
|
701
694
|
if (typeof handler !== 'function') return self;
|
|
702
|
-
function onceHandler() {
|
|
695
|
+
function onceHandler(...args) {
|
|
703
696
|
self.off(events, onceHandler);
|
|
704
697
|
if (onceHandler.__emitterProxy) {
|
|
705
698
|
delete onceHandler.__emitterProxy;
|
|
706
699
|
}
|
|
707
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
708
|
-
args[_key] = arguments[_key];
|
|
709
|
-
}
|
|
710
700
|
handler.apply(self, args);
|
|
711
701
|
}
|
|
712
702
|
onceHandler.__emitterProxy = handler;
|
|
@@ -749,16 +739,13 @@ var eventsEmitter = {
|
|
|
749
739
|
});
|
|
750
740
|
return self;
|
|
751
741
|
},
|
|
752
|
-
emit() {
|
|
742
|
+
emit(...args) {
|
|
753
743
|
const self = this;
|
|
754
744
|
if (!self.eventsListeners || self.destroyed) return self;
|
|
755
745
|
if (!self.eventsListeners) return self;
|
|
756
746
|
let events;
|
|
757
747
|
let data;
|
|
758
748
|
let context;
|
|
759
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
760
|
-
args[_key2] = arguments[_key2];
|
|
761
|
-
}
|
|
762
749
|
if (typeof args[0] === 'string' || Array.isArray(args[0])) {
|
|
763
750
|
events = args[0];
|
|
764
751
|
data = args.slice(1, args.length);
|
|
@@ -826,7 +813,6 @@ function updateSlides() {
|
|
|
826
813
|
const {
|
|
827
814
|
wrapperEl,
|
|
828
815
|
slidesEl,
|
|
829
|
-
size: swiperSize,
|
|
830
816
|
rtlTranslate: rtl,
|
|
831
817
|
wrongRTL
|
|
832
818
|
} = swiper;
|
|
@@ -847,6 +833,7 @@ function updateSlides() {
|
|
|
847
833
|
}
|
|
848
834
|
const previousSnapGridLength = swiper.snapGrid.length;
|
|
849
835
|
const previousSlidesGridLength = swiper.slidesGrid.length;
|
|
836
|
+
const swiperSize = swiper.size - offsetBefore - offsetAfter;
|
|
850
837
|
let spaceBetween = params.spaceBetween;
|
|
851
838
|
let slidePosition = -offsetBefore;
|
|
852
839
|
let prevSlideSize = 0;
|
|
@@ -859,7 +846,7 @@ function updateSlides() {
|
|
|
859
846
|
} else if (typeof spaceBetween === 'string') {
|
|
860
847
|
spaceBetween = parseFloat(spaceBetween);
|
|
861
848
|
}
|
|
862
|
-
swiper.virtualSize = -spaceBetween;
|
|
849
|
+
swiper.virtualSize = -spaceBetween - offsetBefore - offsetAfter;
|
|
863
850
|
|
|
864
851
|
// reset margins
|
|
865
852
|
slides.forEach(slideEl => {
|
|
@@ -877,6 +864,12 @@ function updateSlides() {
|
|
|
877
864
|
setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');
|
|
878
865
|
setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');
|
|
879
866
|
}
|
|
867
|
+
|
|
868
|
+
// set cssMode offsets
|
|
869
|
+
if (params.cssMode) {
|
|
870
|
+
setCSSProperty(wrapperEl, '--swiper-slides-offset-before', `${offsetBefore}px`);
|
|
871
|
+
setCSSProperty(wrapperEl, '--swiper-slides-offset-after', `${offsetAfter}px`);
|
|
872
|
+
}
|
|
880
873
|
const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
|
|
881
874
|
if (gridEnabled) {
|
|
882
875
|
swiper.grid.initSlides(slides);
|
|
@@ -891,16 +884,25 @@ function updateSlides() {
|
|
|
891
884
|
}).length > 0;
|
|
892
885
|
for (let i = 0; i < slidesLength; i += 1) {
|
|
893
886
|
slideSize = 0;
|
|
894
|
-
|
|
895
|
-
if (
|
|
896
|
-
|
|
897
|
-
|
|
887
|
+
const slide = slides[i];
|
|
888
|
+
if (slide) {
|
|
889
|
+
if (gridEnabled) {
|
|
890
|
+
swiper.grid.updateSlide(i, slide, slides);
|
|
891
|
+
}
|
|
892
|
+
if (elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line
|
|
898
893
|
}
|
|
899
|
-
if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line
|
|
900
894
|
|
|
901
|
-
if (params.slidesPerView === 'auto') {
|
|
895
|
+
if (isVirtual && params.slidesPerView === 'auto') {
|
|
896
|
+
if (params.virtual.slidesPerViewAutoSlideSize) {
|
|
897
|
+
slideSize = params.virtual.slidesPerViewAutoSlideSize;
|
|
898
|
+
}
|
|
899
|
+
if (slideSize && slide) {
|
|
900
|
+
if (params.roundLengths) slideSize = Math.floor(slideSize);
|
|
901
|
+
slide.style[swiper.getDirectionLabel('width')] = `${slideSize}px`;
|
|
902
|
+
}
|
|
903
|
+
} else if (params.slidesPerView === 'auto') {
|
|
902
904
|
if (shouldResetSlideSize) {
|
|
903
|
-
|
|
905
|
+
slide.style[swiper.getDirectionLabel('width')] = ``;
|
|
904
906
|
}
|
|
905
907
|
const slideStyles = getComputedStyle(slide);
|
|
906
908
|
const currentTransform = slide.style.transform;
|
|
@@ -941,12 +943,12 @@ function updateSlides() {
|
|
|
941
943
|
} else {
|
|
942
944
|
slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
|
|
943
945
|
if (params.roundLengths) slideSize = Math.floor(slideSize);
|
|
944
|
-
if (
|
|
945
|
-
|
|
946
|
+
if (slide) {
|
|
947
|
+
slide.style[swiper.getDirectionLabel('width')] = `${slideSize}px`;
|
|
946
948
|
}
|
|
947
949
|
}
|
|
948
|
-
if (
|
|
949
|
-
|
|
950
|
+
if (slide) {
|
|
951
|
+
slide.swiperSlideSize = slideSize;
|
|
950
952
|
}
|
|
951
953
|
slidesSizesGrid.push(slideSize);
|
|
952
954
|
if (params.centeredSlides) {
|
|
@@ -980,17 +982,52 @@ function updateSlides() {
|
|
|
980
982
|
|
|
981
983
|
// Remove last grid elements depending on width
|
|
982
984
|
if (!params.centeredSlides) {
|
|
985
|
+
// Check if snapToSlideEdge should be applied
|
|
986
|
+
const isFractionalSlidesPerView = params.slidesPerView !== 'auto' && params.slidesPerView % 1 !== 0;
|
|
987
|
+
const shouldSnapToSlideEdge = params.snapToSlideEdge && !params.loop && (params.slidesPerView === 'auto' || isFractionalSlidesPerView);
|
|
988
|
+
|
|
989
|
+
// Calculate the last allowed snap index when snapToSlideEdge is enabled
|
|
990
|
+
// This ensures minimum slides are visible at the end
|
|
991
|
+
let lastAllowedSnapIndex = snapGrid.length;
|
|
992
|
+
if (shouldSnapToSlideEdge) {
|
|
993
|
+
let minVisibleSlides;
|
|
994
|
+
if (params.slidesPerView === 'auto') {
|
|
995
|
+
// For 'auto' mode, calculate how many slides fit based on actual sizes
|
|
996
|
+
minVisibleSlides = 1;
|
|
997
|
+
let accumulatedSize = 0;
|
|
998
|
+
for (let i = slidesSizesGrid.length - 1; i >= 0; i -= 1) {
|
|
999
|
+
accumulatedSize += slidesSizesGrid[i] + (i < slidesSizesGrid.length - 1 ? spaceBetween : 0);
|
|
1000
|
+
if (accumulatedSize <= swiperSize) {
|
|
1001
|
+
minVisibleSlides = slidesSizesGrid.length - i;
|
|
1002
|
+
} else {
|
|
1003
|
+
break;
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
} else {
|
|
1007
|
+
minVisibleSlides = Math.floor(params.slidesPerView);
|
|
1008
|
+
}
|
|
1009
|
+
lastAllowedSnapIndex = Math.max(slidesLength - minVisibleSlides, 0);
|
|
1010
|
+
}
|
|
983
1011
|
const newSlidesGrid = [];
|
|
984
1012
|
for (let i = 0; i < snapGrid.length; i += 1) {
|
|
985
1013
|
let slidesGridItem = snapGrid[i];
|
|
986
1014
|
if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
|
|
987
|
-
if (
|
|
1015
|
+
if (shouldSnapToSlideEdge) {
|
|
1016
|
+
// When snapToSlideEdge is enabled, only keep snaps up to lastAllowedSnapIndex
|
|
1017
|
+
if (i <= lastAllowedSnapIndex) {
|
|
1018
|
+
newSlidesGrid.push(slidesGridItem);
|
|
1019
|
+
}
|
|
1020
|
+
} else if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
|
|
1021
|
+
// When snapToSlideEdge is disabled, keep snaps that fit within scrollable area
|
|
988
1022
|
newSlidesGrid.push(slidesGridItem);
|
|
989
1023
|
}
|
|
990
1024
|
}
|
|
991
1025
|
snapGrid = newSlidesGrid;
|
|
992
1026
|
if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
|
|
993
|
-
|
|
1027
|
+
// Only add edge-aligned snap if snapToSlideEdge is not enabled
|
|
1028
|
+
if (!shouldSnapToSlideEdge) {
|
|
1029
|
+
snapGrid.push(swiper.virtualSize - swiperSize);
|
|
1030
|
+
}
|
|
994
1031
|
}
|
|
995
1032
|
}
|
|
996
1033
|
if (isVirtual && params.loop) {
|
|
@@ -1042,9 +1079,8 @@ function updateSlides() {
|
|
|
1042
1079
|
allSlidesSize += slideSizeValue + (spaceBetween || 0);
|
|
1043
1080
|
});
|
|
1044
1081
|
allSlidesSize -= spaceBetween;
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;
|
|
1082
|
+
if (allSlidesSize < swiperSize) {
|
|
1083
|
+
const allSlidesOffset = (swiperSize - allSlidesSize) / 2;
|
|
1048
1084
|
snapGrid.forEach((snap, snapIndex) => {
|
|
1049
1085
|
snapGrid[snapIndex] = snap - allSlidesOffset;
|
|
1050
1086
|
});
|
|
@@ -1155,10 +1191,7 @@ const toggleSlideClasses$1 = (slideEl, condition, className) => {
|
|
|
1155
1191
|
slideEl.classList.remove(className);
|
|
1156
1192
|
}
|
|
1157
1193
|
};
|
|
1158
|
-
function updateSlidesProgress(translate) {
|
|
1159
|
-
if (translate === void 0) {
|
|
1160
|
-
translate = this && this.translate || 0;
|
|
1161
|
-
}
|
|
1194
|
+
function updateSlidesProgress(translate = this && this.translate || 0) {
|
|
1162
1195
|
const swiper = this;
|
|
1163
1196
|
const params = swiper.params;
|
|
1164
1197
|
const {
|
|
@@ -1298,9 +1331,9 @@ function updateSlidesClasses() {
|
|
|
1298
1331
|
}
|
|
1299
1332
|
} else {
|
|
1300
1333
|
if (gridEnabled) {
|
|
1301
|
-
activeSlide = slides.
|
|
1302
|
-
nextSlide = slides.
|
|
1303
|
-
prevSlide = slides.
|
|
1334
|
+
activeSlide = slides.find(slideEl => slideEl.column === activeIndex);
|
|
1335
|
+
nextSlide = slides.find(slideEl => slideEl.column === activeIndex + 1);
|
|
1336
|
+
prevSlide = slides.find(slideEl => slideEl.column === activeIndex - 1);
|
|
1304
1337
|
} else {
|
|
1305
1338
|
activeSlide = slides[activeIndex];
|
|
1306
1339
|
}
|
|
@@ -1342,12 +1375,13 @@ const processLazyPreloader = (swiper, imageEl) => {
|
|
|
1342
1375
|
requestAnimationFrame(() => {
|
|
1343
1376
|
if (slideEl.shadowRoot) {
|
|
1344
1377
|
lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);
|
|
1345
|
-
if (lazyEl) lazyEl.remove();
|
|
1378
|
+
if (lazyEl && !lazyEl.lazyPreloaderManaged) lazyEl.remove();
|
|
1346
1379
|
}
|
|
1347
1380
|
});
|
|
1348
1381
|
}
|
|
1349
1382
|
}
|
|
1350
|
-
if
|
|
1383
|
+
// Skip removal if managed by React/Vue component
|
|
1384
|
+
if (lazyEl && !lazyEl.lazyPreloaderManaged) lazyEl.remove();
|
|
1351
1385
|
}
|
|
1352
1386
|
};
|
|
1353
1387
|
const unlazy = (swiper, index) => {
|
|
@@ -1462,10 +1496,14 @@ function updateActiveIndex(newActiveIndex) {
|
|
|
1462
1496
|
|
|
1463
1497
|
// Get real index
|
|
1464
1498
|
let realIndex;
|
|
1465
|
-
if (swiper.virtual && params.virtual.enabled
|
|
1466
|
-
|
|
1499
|
+
if (swiper.virtual && params.virtual.enabled) {
|
|
1500
|
+
if (params.loop) {
|
|
1501
|
+
realIndex = getVirtualRealIndex(activeIndex);
|
|
1502
|
+
} else {
|
|
1503
|
+
realIndex = activeIndex;
|
|
1504
|
+
}
|
|
1467
1505
|
} else if (gridEnabled) {
|
|
1468
|
-
const firstSlideInColumn = swiper.slides.
|
|
1506
|
+
const firstSlideInColumn = swiper.slides.find(slideEl => slideEl.column === activeIndex);
|
|
1469
1507
|
let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);
|
|
1470
1508
|
if (Number.isNaN(activeSlideIndex)) {
|
|
1471
1509
|
activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);
|
|
@@ -1553,10 +1591,7 @@ var update = {
|
|
|
1553
1591
|
updateClickedSlide
|
|
1554
1592
|
};
|
|
1555
1593
|
|
|
1556
|
-
function getSwiperTranslate(axis) {
|
|
1557
|
-
if (axis === void 0) {
|
|
1558
|
-
axis = this.isHorizontal() ? 'x' : 'y';
|
|
1559
|
-
}
|
|
1594
|
+
function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {
|
|
1560
1595
|
const swiper = this;
|
|
1561
1596
|
const {
|
|
1562
1597
|
params,
|
|
@@ -1631,19 +1666,7 @@ function maxTranslate() {
|
|
|
1631
1666
|
return -this.snapGrid[this.snapGrid.length - 1];
|
|
1632
1667
|
}
|
|
1633
1668
|
|
|
1634
|
-
function translateTo(translate, speed, runCallbacks, translateBounds, internal) {
|
|
1635
|
-
if (translate === void 0) {
|
|
1636
|
-
translate = 0;
|
|
1637
|
-
}
|
|
1638
|
-
if (speed === void 0) {
|
|
1639
|
-
speed = this.params.speed;
|
|
1640
|
-
}
|
|
1641
|
-
if (runCallbacks === void 0) {
|
|
1642
|
-
runCallbacks = true;
|
|
1643
|
-
}
|
|
1644
|
-
if (translateBounds === void 0) {
|
|
1645
|
-
translateBounds = true;
|
|
1646
|
-
}
|
|
1669
|
+
function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {
|
|
1647
1670
|
const swiper = this;
|
|
1648
1671
|
const {
|
|
1649
1672
|
params,
|
|
@@ -1731,13 +1754,12 @@ function setTransition(duration, byController) {
|
|
|
1731
1754
|
swiper.emit('setTransition', duration, byController);
|
|
1732
1755
|
}
|
|
1733
1756
|
|
|
1734
|
-
function transitionEmit(
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
} = _ref;
|
|
1757
|
+
function transitionEmit({
|
|
1758
|
+
swiper,
|
|
1759
|
+
runCallbacks,
|
|
1760
|
+
direction,
|
|
1761
|
+
step
|
|
1762
|
+
}) {
|
|
1741
1763
|
const {
|
|
1742
1764
|
activeIndex,
|
|
1743
1765
|
previousIndex
|
|
@@ -1747,11 +1769,9 @@ function transitionEmit(_ref) {
|
|
|
1747
1769
|
if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
|
|
1748
1770
|
}
|
|
1749
1771
|
swiper.emit(`transition${step}`);
|
|
1750
|
-
if (runCallbacks &&
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
return;
|
|
1754
|
-
}
|
|
1772
|
+
if (runCallbacks && dir === 'reset') {
|
|
1773
|
+
swiper.emit(`slideResetTransition${step}`);
|
|
1774
|
+
} else if (runCallbacks && activeIndex !== previousIndex) {
|
|
1755
1775
|
swiper.emit(`slideChangeTransition${step}`);
|
|
1756
1776
|
if (dir === 'next') {
|
|
1757
1777
|
swiper.emit(`slideNextTransition${step}`);
|
|
@@ -1761,10 +1781,7 @@ function transitionEmit(_ref) {
|
|
|
1761
1781
|
}
|
|
1762
1782
|
}
|
|
1763
1783
|
|
|
1764
|
-
function transitionStart(runCallbacks, direction) {
|
|
1765
|
-
if (runCallbacks === void 0) {
|
|
1766
|
-
runCallbacks = true;
|
|
1767
|
-
}
|
|
1784
|
+
function transitionStart(runCallbacks = true, direction) {
|
|
1768
1785
|
const swiper = this;
|
|
1769
1786
|
const {
|
|
1770
1787
|
params
|
|
@@ -1781,10 +1798,7 @@ function transitionStart(runCallbacks, direction) {
|
|
|
1781
1798
|
});
|
|
1782
1799
|
}
|
|
1783
1800
|
|
|
1784
|
-
function transitionEnd(runCallbacks, direction) {
|
|
1785
|
-
if (runCallbacks === void 0) {
|
|
1786
|
-
runCallbacks = true;
|
|
1787
|
-
}
|
|
1801
|
+
function transitionEnd(runCallbacks = true, direction) {
|
|
1788
1802
|
const swiper = this;
|
|
1789
1803
|
const {
|
|
1790
1804
|
params
|
|
@@ -1806,13 +1820,7 @@ var transition = {
|
|
|
1806
1820
|
transitionEnd
|
|
1807
1821
|
};
|
|
1808
1822
|
|
|
1809
|
-
function slideTo(index, speed, runCallbacks, internal, initial) {
|
|
1810
|
-
if (index === void 0) {
|
|
1811
|
-
index = 0;
|
|
1812
|
-
}
|
|
1813
|
-
if (runCallbacks === void 0) {
|
|
1814
|
-
runCallbacks = true;
|
|
1815
|
-
}
|
|
1823
|
+
function slideTo(index = 0, speed, runCallbacks = true, internal, initial) {
|
|
1816
1824
|
if (typeof index === 'string') {
|
|
1817
1825
|
index = parseInt(index, 10);
|
|
1818
1826
|
}
|
|
@@ -1934,6 +1942,11 @@ function slideTo(index, speed, runCallbacks, internal, initial) {
|
|
|
1934
1942
|
}
|
|
1935
1943
|
return true;
|
|
1936
1944
|
}
|
|
1945
|
+
const browser = getBrowser();
|
|
1946
|
+
const isSafari = browser.isSafari;
|
|
1947
|
+
if (isVirtual && !initial && isSafari && swiper.isElement) {
|
|
1948
|
+
swiper.virtual.update(false, false, slideIndex);
|
|
1949
|
+
}
|
|
1937
1950
|
swiper.setTransition(speed);
|
|
1938
1951
|
swiper.setTranslate(translate);
|
|
1939
1952
|
swiper.updateActiveIndex(slideIndex);
|
|
@@ -1959,13 +1972,7 @@ function slideTo(index, speed, runCallbacks, internal, initial) {
|
|
|
1959
1972
|
return true;
|
|
1960
1973
|
}
|
|
1961
1974
|
|
|
1962
|
-
function slideToLoop(index, speed, runCallbacks, internal) {
|
|
1963
|
-
if (index === void 0) {
|
|
1964
|
-
index = 0;
|
|
1965
|
-
}
|
|
1966
|
-
if (runCallbacks === void 0) {
|
|
1967
|
-
runCallbacks = true;
|
|
1968
|
-
}
|
|
1975
|
+
function slideToLoop(index = 0, speed, runCallbacks = true, internal) {
|
|
1969
1976
|
if (typeof index === 'string') {
|
|
1970
1977
|
const indexAsNumber = parseInt(index, 10);
|
|
1971
1978
|
index = indexAsNumber;
|
|
@@ -1985,32 +1992,35 @@ function slideToLoop(index, speed, runCallbacks, internal) {
|
|
|
1985
1992
|
let targetSlideIndex;
|
|
1986
1993
|
if (gridEnabled) {
|
|
1987
1994
|
const slideIndex = newIndex * swiper.params.grid.rows;
|
|
1988
|
-
targetSlideIndex = swiper.slides.
|
|
1995
|
+
targetSlideIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;
|
|
1989
1996
|
} else {
|
|
1990
1997
|
targetSlideIndex = swiper.getSlideIndexByData(newIndex);
|
|
1991
1998
|
}
|
|
1992
1999
|
const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;
|
|
1993
2000
|
const {
|
|
1994
|
-
centeredSlides
|
|
2001
|
+
centeredSlides,
|
|
2002
|
+
slidesOffsetBefore,
|
|
2003
|
+
slidesOffsetAfter
|
|
1995
2004
|
} = swiper.params;
|
|
2005
|
+
const bothDirections = centeredSlides || !!slidesOffsetBefore || !!slidesOffsetAfter;
|
|
1996
2006
|
let slidesPerView = swiper.params.slidesPerView;
|
|
1997
2007
|
if (slidesPerView === 'auto') {
|
|
1998
2008
|
slidesPerView = swiper.slidesPerViewDynamic();
|
|
1999
2009
|
} else {
|
|
2000
2010
|
slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));
|
|
2001
|
-
if (
|
|
2011
|
+
if (bothDirections && slidesPerView % 2 === 0) {
|
|
2002
2012
|
slidesPerView = slidesPerView + 1;
|
|
2003
2013
|
}
|
|
2004
2014
|
}
|
|
2005
2015
|
let needLoopFix = cols - targetSlideIndex < slidesPerView;
|
|
2006
|
-
if (
|
|
2016
|
+
if (bothDirections) {
|
|
2007
2017
|
needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);
|
|
2008
2018
|
}
|
|
2009
|
-
if (internal &&
|
|
2019
|
+
if (internal && bothDirections && swiper.params.slidesPerView !== 'auto' && !gridEnabled) {
|
|
2010
2020
|
needLoopFix = false;
|
|
2011
2021
|
}
|
|
2012
2022
|
if (needLoopFix) {
|
|
2013
|
-
const direction =
|
|
2023
|
+
const direction = bothDirections ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';
|
|
2014
2024
|
swiper.loopFix({
|
|
2015
2025
|
direction,
|
|
2016
2026
|
slideTo: true,
|
|
@@ -2020,7 +2030,7 @@ function slideToLoop(index, speed, runCallbacks, internal) {
|
|
|
2020
2030
|
}
|
|
2021
2031
|
if (gridEnabled) {
|
|
2022
2032
|
const slideIndex = newIndex * swiper.params.grid.rows;
|
|
2023
|
-
newIndex = swiper.slides.
|
|
2033
|
+
newIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;
|
|
2024
2034
|
} else {
|
|
2025
2035
|
newIndex = swiper.getSlideIndexByData(newIndex);
|
|
2026
2036
|
}
|
|
@@ -2033,10 +2043,7 @@ function slideToLoop(index, speed, runCallbacks, internal) {
|
|
|
2033
2043
|
}
|
|
2034
2044
|
|
|
2035
2045
|
/* eslint no-unused-vars: "off" */
|
|
2036
|
-
function slideNext(speed, runCallbacks, internal) {
|
|
2037
|
-
if (runCallbacks === void 0) {
|
|
2038
|
-
runCallbacks = true;
|
|
2039
|
-
}
|
|
2046
|
+
function slideNext(speed, runCallbacks = true, internal) {
|
|
2040
2047
|
const swiper = this;
|
|
2041
2048
|
const {
|
|
2042
2049
|
enabled,
|
|
@@ -2074,10 +2081,7 @@ function slideNext(speed, runCallbacks, internal) {
|
|
|
2074
2081
|
}
|
|
2075
2082
|
|
|
2076
2083
|
/* eslint no-unused-vars: "off" */
|
|
2077
|
-
function slidePrev(speed, runCallbacks, internal) {
|
|
2078
|
-
if (runCallbacks === void 0) {
|
|
2079
|
-
runCallbacks = true;
|
|
2080
|
-
}
|
|
2084
|
+
function slidePrev(speed, runCallbacks = true, internal) {
|
|
2081
2085
|
const swiper = this;
|
|
2082
2086
|
const {
|
|
2083
2087
|
params,
|
|
@@ -2107,8 +2111,9 @@ function slidePrev(speed, runCallbacks, internal) {
|
|
|
2107
2111
|
}
|
|
2108
2112
|
const normalizedTranslate = normalize(translate);
|
|
2109
2113
|
const normalizedSnapGrid = snapGrid.map(val => normalize(val));
|
|
2114
|
+
const isFreeMode = params.freeMode && params.freeMode.enabled;
|
|
2110
2115
|
let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
|
|
2111
|
-
if (typeof prevSnap === 'undefined' && params.cssMode) {
|
|
2116
|
+
if (typeof prevSnap === 'undefined' && (params.cssMode || isFreeMode)) {
|
|
2112
2117
|
let prevSnapIndex;
|
|
2113
2118
|
snapGrid.forEach((snap, snapIndex) => {
|
|
2114
2119
|
if (normalizedTranslate >= snap) {
|
|
@@ -2117,7 +2122,7 @@ function slidePrev(speed, runCallbacks, internal) {
|
|
|
2117
2122
|
}
|
|
2118
2123
|
});
|
|
2119
2124
|
if (typeof prevSnapIndex !== 'undefined') {
|
|
2120
|
-
prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
|
|
2125
|
+
prevSnap = isFreeMode ? snapGrid[prevSnapIndex] : snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
|
|
2121
2126
|
}
|
|
2122
2127
|
}
|
|
2123
2128
|
let prevIndex = 0;
|
|
@@ -2142,10 +2147,7 @@ function slidePrev(speed, runCallbacks, internal) {
|
|
|
2142
2147
|
}
|
|
2143
2148
|
|
|
2144
2149
|
/* eslint no-unused-vars: "off" */
|
|
2145
|
-
function slideReset(speed, runCallbacks, internal) {
|
|
2146
|
-
if (runCallbacks === void 0) {
|
|
2147
|
-
runCallbacks = true;
|
|
2148
|
-
}
|
|
2150
|
+
function slideReset(speed, runCallbacks = true, internal) {
|
|
2149
2151
|
const swiper = this;
|
|
2150
2152
|
if (swiper.destroyed) return;
|
|
2151
2153
|
if (typeof speed === 'undefined') {
|
|
@@ -2155,13 +2157,7 @@ function slideReset(speed, runCallbacks, internal) {
|
|
|
2155
2157
|
}
|
|
2156
2158
|
|
|
2157
2159
|
/* eslint no-unused-vars: "off" */
|
|
2158
|
-
function slideToClosest(speed, runCallbacks, internal, threshold) {
|
|
2159
|
-
if (runCallbacks === void 0) {
|
|
2160
|
-
runCallbacks = true;
|
|
2161
|
-
}
|
|
2162
|
-
if (threshold === void 0) {
|
|
2163
|
-
threshold = 0.5;
|
|
2164
|
-
}
|
|
2160
|
+
function slideToClosest(speed, runCallbacks = true, internal, threshold = 0.5) {
|
|
2165
2161
|
const swiper = this;
|
|
2166
2162
|
if (swiper.destroyed) return;
|
|
2167
2163
|
if (typeof speed === 'undefined') {
|
|
@@ -2201,23 +2197,16 @@ function slideToClickedSlide() {
|
|
|
2201
2197
|
slidesEl
|
|
2202
2198
|
} = swiper;
|
|
2203
2199
|
const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
|
|
2204
|
-
let slideToIndex = swiper.clickedIndex;
|
|
2200
|
+
let slideToIndex = swiper.getSlideIndexWhenGrid(swiper.clickedIndex);
|
|
2205
2201
|
let realIndex;
|
|
2206
2202
|
const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;
|
|
2203
|
+
const isGrid = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;
|
|
2207
2204
|
if (params.loop) {
|
|
2208
2205
|
if (swiper.animating) return;
|
|
2209
2206
|
realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
|
|
2210
2207
|
if (params.centeredSlides) {
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
|
|
2214
|
-
nextTick(() => {
|
|
2215
|
-
swiper.slideTo(slideToIndex);
|
|
2216
|
-
});
|
|
2217
|
-
} else {
|
|
2218
|
-
swiper.slideTo(slideToIndex);
|
|
2219
|
-
}
|
|
2220
|
-
} else if (slideToIndex > swiper.slides.length - slidesPerView) {
|
|
2208
|
+
swiper.slideToLoop(realIndex);
|
|
2209
|
+
} else if (slideToIndex > (isGrid ? (swiper.slides.length - slidesPerView) / 2 - (swiper.params.grid.rows - 1) : swiper.slides.length - slidesPerView)) {
|
|
2221
2210
|
swiper.loopFix();
|
|
2222
2211
|
slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
|
|
2223
2212
|
nextTick(() => {
|
|
@@ -2241,7 +2230,7 @@ var slide = {
|
|
|
2241
2230
|
slideToClickedSlide
|
|
2242
2231
|
};
|
|
2243
2232
|
|
|
2244
|
-
function loopCreate(slideRealIndex) {
|
|
2233
|
+
function loopCreate(slideRealIndex, initial) {
|
|
2245
2234
|
const swiper = this;
|
|
2246
2235
|
const {
|
|
2247
2236
|
params,
|
|
@@ -2254,7 +2243,20 @@ function loopCreate(slideRealIndex) {
|
|
|
2254
2243
|
el.setAttribute('data-swiper-slide-index', index);
|
|
2255
2244
|
});
|
|
2256
2245
|
};
|
|
2246
|
+
const clearBlankSlides = () => {
|
|
2247
|
+
const slides = elementChildren(slidesEl, `.${params.slideBlankClass}`);
|
|
2248
|
+
slides.forEach(el => {
|
|
2249
|
+
el.remove();
|
|
2250
|
+
});
|
|
2251
|
+
if (slides.length > 0) {
|
|
2252
|
+
swiper.recalcSlides();
|
|
2253
|
+
swiper.updateSlides();
|
|
2254
|
+
}
|
|
2255
|
+
};
|
|
2257
2256
|
const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;
|
|
2257
|
+
if (params.loopAddBlankSlides && (params.slidesPerGroup > 1 || gridEnabled)) {
|
|
2258
|
+
clearBlankSlides();
|
|
2259
|
+
}
|
|
2258
2260
|
const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);
|
|
2259
2261
|
const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;
|
|
2260
2262
|
const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;
|
|
@@ -2287,22 +2289,24 @@ function loopCreate(slideRealIndex) {
|
|
|
2287
2289
|
} else {
|
|
2288
2290
|
initSlides();
|
|
2289
2291
|
}
|
|
2292
|
+
const bothDirections = params.centeredSlides || !!params.slidesOffsetBefore || !!params.slidesOffsetAfter;
|
|
2290
2293
|
swiper.loopFix({
|
|
2291
2294
|
slideRealIndex,
|
|
2292
|
-
direction:
|
|
2295
|
+
direction: bothDirections ? undefined : 'next',
|
|
2296
|
+
initial
|
|
2293
2297
|
});
|
|
2294
2298
|
}
|
|
2295
2299
|
|
|
2296
|
-
function loopFix(
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2300
|
+
function loopFix({
|
|
2301
|
+
slideRealIndex,
|
|
2302
|
+
slideTo = true,
|
|
2303
|
+
direction,
|
|
2304
|
+
setTranslate,
|
|
2305
|
+
activeSlideIndex,
|
|
2306
|
+
initial,
|
|
2307
|
+
byController,
|
|
2308
|
+
byMousewheel
|
|
2309
|
+
} = {}) {
|
|
2306
2310
|
const swiper = this;
|
|
2307
2311
|
if (!swiper.params.loop) return;
|
|
2308
2312
|
swiper.emit('beforeLoopFix');
|
|
@@ -2314,15 +2318,19 @@ function loopFix(_temp) {
|
|
|
2314
2318
|
params
|
|
2315
2319
|
} = swiper;
|
|
2316
2320
|
const {
|
|
2317
|
-
centeredSlides
|
|
2321
|
+
centeredSlides,
|
|
2322
|
+
slidesOffsetBefore,
|
|
2323
|
+
slidesOffsetAfter,
|
|
2324
|
+
initialSlide
|
|
2318
2325
|
} = params;
|
|
2326
|
+
const bothDirections = centeredSlides || !!slidesOffsetBefore || !!slidesOffsetAfter;
|
|
2319
2327
|
swiper.allowSlidePrev = true;
|
|
2320
2328
|
swiper.allowSlideNext = true;
|
|
2321
2329
|
if (swiper.virtual && params.virtual.enabled) {
|
|
2322
2330
|
if (slideTo) {
|
|
2323
|
-
if (!
|
|
2331
|
+
if (!bothDirections && swiper.snapIndex === 0) {
|
|
2324
2332
|
swiper.slideTo(swiper.virtual.slides.length, 0, false, true);
|
|
2325
|
-
} else if (
|
|
2333
|
+
} else if (bothDirections && swiper.snapIndex < params.slidesPerView) {
|
|
2326
2334
|
swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);
|
|
2327
2335
|
} else if (swiper.snapIndex === swiper.snapGrid.length - 1) {
|
|
2328
2336
|
swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);
|
|
@@ -2338,28 +2346,30 @@ function loopFix(_temp) {
|
|
|
2338
2346
|
slidesPerView = swiper.slidesPerViewDynamic();
|
|
2339
2347
|
} else {
|
|
2340
2348
|
slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));
|
|
2341
|
-
if (
|
|
2349
|
+
if (bothDirections && slidesPerView % 2 === 0) {
|
|
2342
2350
|
slidesPerView = slidesPerView + 1;
|
|
2343
2351
|
}
|
|
2344
2352
|
}
|
|
2345
2353
|
const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;
|
|
2346
|
-
let loopedSlides = slidesPerGroup;
|
|
2354
|
+
let loopedSlides = bothDirections ? Math.max(slidesPerGroup, Math.ceil(slidesPerView / 2)) : slidesPerGroup;
|
|
2347
2355
|
if (loopedSlides % slidesPerGroup !== 0) {
|
|
2348
2356
|
loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;
|
|
2349
2357
|
}
|
|
2350
2358
|
loopedSlides += params.loopAdditionalSlides;
|
|
2351
2359
|
swiper.loopedSlides = loopedSlides;
|
|
2352
2360
|
const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;
|
|
2353
|
-
if (slides.length < slidesPerView + loopedSlides) {
|
|
2354
|
-
showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled
|
|
2361
|
+
if (slides.length < slidesPerView + loopedSlides || swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {
|
|
2362
|
+
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');
|
|
2355
2363
|
} else if (gridEnabled && params.grid.fill === 'row') {
|
|
2356
2364
|
showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');
|
|
2357
2365
|
}
|
|
2358
2366
|
const prependSlidesIndexes = [];
|
|
2359
2367
|
const appendSlidesIndexes = [];
|
|
2360
|
-
|
|
2368
|
+
const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;
|
|
2369
|
+
const isInitialOverflow = initial && cols - initialSlide < slidesPerView && !bothDirections;
|
|
2370
|
+
let activeIndex = isInitialOverflow ? initialSlide : swiper.activeIndex;
|
|
2361
2371
|
if (typeof activeSlideIndex === 'undefined') {
|
|
2362
|
-
activeSlideIndex = swiper.getSlideIndex(slides.
|
|
2372
|
+
activeSlideIndex = swiper.getSlideIndex(slides.find(el => el.classList.contains(params.slideActiveClass)));
|
|
2363
2373
|
} else {
|
|
2364
2374
|
activeIndex = activeSlideIndex;
|
|
2365
2375
|
}
|
|
@@ -2367,9 +2377,8 @@ function loopFix(_temp) {
|
|
|
2367
2377
|
const isPrev = direction === 'prev' || !direction;
|
|
2368
2378
|
let slidesPrepended = 0;
|
|
2369
2379
|
let slidesAppended = 0;
|
|
2370
|
-
const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;
|
|
2371
2380
|
const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;
|
|
2372
|
-
const activeColIndexWithShift = activeColIndex + (
|
|
2381
|
+
const activeColIndexWithShift = activeColIndex + (bothDirections && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);
|
|
2373
2382
|
// prepend last slides before start
|
|
2374
2383
|
if (activeColIndexWithShift < loopedSlides) {
|
|
2375
2384
|
slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);
|
|
@@ -2389,6 +2398,9 @@ function loopFix(_temp) {
|
|
|
2389
2398
|
}
|
|
2390
2399
|
} else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {
|
|
2391
2400
|
slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);
|
|
2401
|
+
if (isInitialOverflow) {
|
|
2402
|
+
slidesAppended = Math.max(slidesAppended, slidesPerView - cols + initialSlide + 1);
|
|
2403
|
+
}
|
|
2392
2404
|
for (let i = 0; i < slidesAppended; i += 1) {
|
|
2393
2405
|
const index = i - Math.floor(i / cols) * cols;
|
|
2394
2406
|
if (gridEnabled) {
|
|
@@ -2404,6 +2416,14 @@ function loopFix(_temp) {
|
|
|
2404
2416
|
requestAnimationFrame(() => {
|
|
2405
2417
|
swiper.__preventObserver__ = false;
|
|
2406
2418
|
});
|
|
2419
|
+
if (swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {
|
|
2420
|
+
if (appendSlidesIndexes.includes(activeSlideIndex)) {
|
|
2421
|
+
appendSlidesIndexes.splice(appendSlidesIndexes.indexOf(activeSlideIndex), 1);
|
|
2422
|
+
}
|
|
2423
|
+
if (prependSlidesIndexes.includes(activeSlideIndex)) {
|
|
2424
|
+
prependSlidesIndexes.splice(prependSlidesIndexes.indexOf(activeSlideIndex), 1);
|
|
2425
|
+
}
|
|
2426
|
+
}
|
|
2407
2427
|
if (isPrev) {
|
|
2408
2428
|
prependSlidesIndexes.forEach(index => {
|
|
2409
2429
|
slides[index].swiperLoopMoveDOM = true;
|
|
@@ -2504,7 +2524,7 @@ function loopDestroy() {
|
|
|
2504
2524
|
params,
|
|
2505
2525
|
slidesEl
|
|
2506
2526
|
} = swiper;
|
|
2507
|
-
if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;
|
|
2527
|
+
if (!params.loop || !slidesEl || swiper.virtual && swiper.params.virtual.enabled) return;
|
|
2508
2528
|
swiper.recalcSlides();
|
|
2509
2529
|
const newSlidesOrder = [];
|
|
2510
2530
|
swiper.slides.forEach(slideEl => {
|
|
@@ -2565,10 +2585,7 @@ var grabCursor = {
|
|
|
2565
2585
|
};
|
|
2566
2586
|
|
|
2567
2587
|
// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd
|
|
2568
|
-
function closestElement(selector, base) {
|
|
2569
|
-
if (base === void 0) {
|
|
2570
|
-
base = this;
|
|
2571
|
-
}
|
|
2588
|
+
function closestElement(selector, base = this) {
|
|
2572
2589
|
function __closestFrom(el) {
|
|
2573
2590
|
if (!el || el === getDocument() || el === getWindow()) return null;
|
|
2574
2591
|
if (el.assignedSlot) el = el.assignedSlot;
|
|
@@ -2685,7 +2702,7 @@ function onTouchStart(event) {
|
|
|
2685
2702
|
data.isTouched = false;
|
|
2686
2703
|
}
|
|
2687
2704
|
}
|
|
2688
|
-
if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {
|
|
2705
|
+
if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {
|
|
2689
2706
|
document.activeElement.blur();
|
|
2690
2707
|
}
|
|
2691
2708
|
const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
|
|
@@ -2719,7 +2736,7 @@ function onTouchMove(event) {
|
|
|
2719
2736
|
}
|
|
2720
2737
|
let targetTouch;
|
|
2721
2738
|
if (e.type === 'touchmove') {
|
|
2722
|
-
targetTouch = [...e.changedTouches].
|
|
2739
|
+
targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);
|
|
2723
2740
|
if (!targetTouch || targetTouch.identifier !== data.touchId) return;
|
|
2724
2741
|
} else {
|
|
2725
2742
|
targetTouch = e;
|
|
@@ -2760,10 +2777,15 @@ function onTouchMove(event) {
|
|
|
2760
2777
|
data.isMoved = false;
|
|
2761
2778
|
return;
|
|
2762
2779
|
}
|
|
2763
|
-
} else if (pageX
|
|
2780
|
+
} else if (rtl && (pageX > touches.startX && -swiper.translate <= swiper.maxTranslate() || pageX < touches.startX && -swiper.translate >= swiper.minTranslate())) {
|
|
2781
|
+
return;
|
|
2782
|
+
} else if (!rtl && (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate())) {
|
|
2764
2783
|
return;
|
|
2765
2784
|
}
|
|
2766
2785
|
}
|
|
2786
|
+
if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {
|
|
2787
|
+
document.activeElement.blur();
|
|
2788
|
+
}
|
|
2767
2789
|
if (document.activeElement) {
|
|
2768
2790
|
if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {
|
|
2769
2791
|
data.isMoved = true;
|
|
@@ -2859,7 +2881,7 @@ function onTouchMove(event) {
|
|
|
2859
2881
|
}
|
|
2860
2882
|
let loopFixed;
|
|
2861
2883
|
new Date().getTime();
|
|
2862
|
-
if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {
|
|
2884
|
+
if (params._loopSwapReset !== false && data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {
|
|
2863
2885
|
Object.assign(touches, {
|
|
2864
2886
|
startX: pageX,
|
|
2865
2887
|
startY: pageY,
|
|
@@ -2967,7 +2989,7 @@ function onTouchEnd(event) {
|
|
|
2967
2989
|
if (e.pointerId !== data.pointerId) return;
|
|
2968
2990
|
targetTouch = e;
|
|
2969
2991
|
} else {
|
|
2970
|
-
targetTouch = [...e.changedTouches].
|
|
2992
|
+
targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);
|
|
2971
2993
|
if (!targetTouch || targetTouch.identifier !== data.touchId) return;
|
|
2972
2994
|
}
|
|
2973
2995
|
if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {
|
|
@@ -3144,7 +3166,8 @@ function onResize() {
|
|
|
3144
3166
|
swiper.updateSlidesClasses();
|
|
3145
3167
|
const isVirtualLoop = isVirtual && params.loop;
|
|
3146
3168
|
if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {
|
|
3147
|
-
swiper.
|
|
3169
|
+
const slides = isVirtual ? swiper.virtual.slides : swiper.slides;
|
|
3170
|
+
swiper.slideTo(slides.length - 1, 0, false, true);
|
|
3148
3171
|
} else {
|
|
3149
3172
|
if (swiper.params.loop && !isVirtual) {
|
|
3150
3173
|
swiper.slideToLoop(swiper.realIndex, 0, false, true);
|
|
@@ -3341,9 +3364,12 @@ function setBreakpoint() {
|
|
|
3341
3364
|
} = swiper;
|
|
3342
3365
|
const breakpoints = params.breakpoints;
|
|
3343
3366
|
if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;
|
|
3367
|
+
const document = getDocument();
|
|
3344
3368
|
|
|
3345
|
-
// Get breakpoint for window width and update parameters
|
|
3346
|
-
const
|
|
3369
|
+
// Get breakpoint for window/container width and update parameters
|
|
3370
|
+
const breakpointsBase = params.breakpointsBase === 'window' || !params.breakpointsBase ? params.breakpointsBase : 'container';
|
|
3371
|
+
const breakpointContainer = ['window', 'container'].includes(params.breakpointsBase) || !params.breakpointsBase ? swiper.el : document.querySelector(params.breakpointsBase);
|
|
3372
|
+
const breakpoint = swiper.getBreakpoint(breakpoints, breakpointsBase, breakpointContainer);
|
|
3347
3373
|
if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;
|
|
3348
3374
|
const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
|
|
3349
3375
|
const breakpointParams = breakpointOnlyParams || swiper.originalParams;
|
|
@@ -3416,10 +3442,7 @@ function setBreakpoint() {
|
|
|
3416
3442
|
swiper.emit('breakpoint', breakpointParams);
|
|
3417
3443
|
}
|
|
3418
3444
|
|
|
3419
|
-
function getBreakpoint(breakpoints, base, containerEl) {
|
|
3420
|
-
if (base === void 0) {
|
|
3421
|
-
base = 'window';
|
|
3422
|
-
}
|
|
3445
|
+
function getBreakpoint(breakpoints, base = 'window', containerEl) {
|
|
3423
3446
|
if (!breakpoints || base === 'container' && !containerEl) return undefined;
|
|
3424
3447
|
let breakpoint = false;
|
|
3425
3448
|
const window = getWindow();
|
|
@@ -3614,6 +3637,7 @@ var defaults = {
|
|
|
3614
3637
|
// in px
|
|
3615
3638
|
normalizeSlideIndex: true,
|
|
3616
3639
|
centerInsufficientSlides: false,
|
|
3640
|
+
snapToSlideEdge: false,
|
|
3617
3641
|
// Disable swiper and hide navigation when container not overflow
|
|
3618
3642
|
watchOverflow: true,
|
|
3619
3643
|
// Round length
|
|
@@ -3684,10 +3708,7 @@ var defaults = {
|
|
|
3684
3708
|
};
|
|
3685
3709
|
|
|
3686
3710
|
function moduleExtendParams(params, allModulesParams) {
|
|
3687
|
-
return function extendParams(obj) {
|
|
3688
|
-
if (obj === void 0) {
|
|
3689
|
-
obj = {};
|
|
3690
|
-
}
|
|
3711
|
+
return function extendParams(obj = {}) {
|
|
3691
3712
|
const moduleParamName = Object.keys(obj)[0];
|
|
3692
3713
|
const moduleParams = obj[moduleParamName];
|
|
3693
3714
|
if (typeof moduleParams !== 'object' || moduleParams === null) {
|
|
@@ -3735,12 +3756,9 @@ const prototypes = {
|
|
|
3735
3756
|
};
|
|
3736
3757
|
const extendedDefaults = {};
|
|
3737
3758
|
class Swiper {
|
|
3738
|
-
constructor() {
|
|
3759
|
+
constructor(...args) {
|
|
3739
3760
|
let el;
|
|
3740
3761
|
let params;
|
|
3741
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
3742
|
-
args[_key] = arguments[_key];
|
|
3743
|
-
}
|
|
3744
3762
|
if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {
|
|
3745
3763
|
params = args[0];
|
|
3746
3764
|
} else {
|
|
@@ -3774,7 +3792,11 @@ class Swiper {
|
|
|
3774
3792
|
swiper.eventsAnyListeners = [];
|
|
3775
3793
|
swiper.modules = [...swiper.__modules__];
|
|
3776
3794
|
if (params.modules && Array.isArray(params.modules)) {
|
|
3777
|
-
|
|
3795
|
+
params.modules.forEach(mod => {
|
|
3796
|
+
if (typeof mod === 'function' && swiper.modules.indexOf(mod) < 0) {
|
|
3797
|
+
swiper.modules.push(mod);
|
|
3798
|
+
}
|
|
3799
|
+
});
|
|
3778
3800
|
}
|
|
3779
3801
|
const allModulesParams = {};
|
|
3780
3802
|
swiper.modules.forEach(mod => {
|
|
@@ -3919,7 +3941,17 @@ class Swiper {
|
|
|
3919
3941
|
return elementIndex(slideEl) - firstSlideIndex;
|
|
3920
3942
|
}
|
|
3921
3943
|
getSlideIndexByData(index) {
|
|
3922
|
-
return this.getSlideIndex(this.slides.
|
|
3944
|
+
return this.getSlideIndex(this.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index));
|
|
3945
|
+
}
|
|
3946
|
+
getSlideIndexWhenGrid(index) {
|
|
3947
|
+
if (this.grid && this.params.grid && this.params.grid.rows > 1) {
|
|
3948
|
+
if (this.params.grid.fill === 'column') {
|
|
3949
|
+
index = Math.floor(index / this.params.grid.rows);
|
|
3950
|
+
} else if (this.params.grid.fill === 'row') {
|
|
3951
|
+
index = index % Math.ceil(this.slides.length / this.params.grid.rows);
|
|
3952
|
+
}
|
|
3953
|
+
}
|
|
3954
|
+
return index;
|
|
3923
3955
|
}
|
|
3924
3956
|
recalcSlides() {
|
|
3925
3957
|
const swiper = this;
|
|
@@ -3986,13 +4018,7 @@ class Swiper {
|
|
|
3986
4018
|
});
|
|
3987
4019
|
swiper.emit('_slideClasses', updates);
|
|
3988
4020
|
}
|
|
3989
|
-
slidesPerViewDynamic(view, exact) {
|
|
3990
|
-
if (view === void 0) {
|
|
3991
|
-
view = 'current';
|
|
3992
|
-
}
|
|
3993
|
-
if (exact === void 0) {
|
|
3994
|
-
exact = false;
|
|
3995
|
-
}
|
|
4021
|
+
slidesPerViewDynamic(view = 'current', exact = false) {
|
|
3996
4022
|
const swiper = this;
|
|
3997
4023
|
const {
|
|
3998
4024
|
params,
|
|
@@ -4091,10 +4117,7 @@ class Swiper {
|
|
|
4091
4117
|
}
|
|
4092
4118
|
swiper.emit('update');
|
|
4093
4119
|
}
|
|
4094
|
-
changeDirection(newDirection, needUpdate) {
|
|
4095
|
-
if (needUpdate === void 0) {
|
|
4096
|
-
needUpdate = true;
|
|
4097
|
-
}
|
|
4120
|
+
changeDirection(newDirection, needUpdate = true) {
|
|
4098
4121
|
const swiper = this;
|
|
4099
4122
|
const currentDirection = swiper.params.direction;
|
|
4100
4123
|
if (!newDirection) {
|
|
@@ -4220,7 +4243,7 @@ class Swiper {
|
|
|
4220
4243
|
|
|
4221
4244
|
// Create loop
|
|
4222
4245
|
if (swiper.params.loop) {
|
|
4223
|
-
swiper.loopCreate();
|
|
4246
|
+
swiper.loopCreate(undefined, true);
|
|
4224
4247
|
}
|
|
4225
4248
|
|
|
4226
4249
|
// Attach events
|
|
@@ -4249,13 +4272,7 @@ class Swiper {
|
|
|
4249
4272
|
swiper.emit('afterInit');
|
|
4250
4273
|
return swiper;
|
|
4251
4274
|
}
|
|
4252
|
-
destroy(deleteInstance, cleanStyles) {
|
|
4253
|
-
if (deleteInstance === void 0) {
|
|
4254
|
-
deleteInstance = true;
|
|
4255
|
-
}
|
|
4256
|
-
if (cleanStyles === void 0) {
|
|
4257
|
-
cleanStyles = true;
|
|
4258
|
-
}
|
|
4275
|
+
destroy(deleteInstance = true, cleanStyles = true) {
|
|
4259
4276
|
const swiper = this;
|
|
4260
4277
|
const {
|
|
4261
4278
|
params,
|
|
@@ -4361,17 +4378,18 @@ function createElementIfNotDefined(swiper, originalParams, params, checkProps) {
|
|
|
4361
4378
|
return params;
|
|
4362
4379
|
}
|
|
4363
4380
|
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4381
|
+
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>`;
|
|
4382
|
+
function Navigation({
|
|
4383
|
+
swiper,
|
|
4384
|
+
extendParams,
|
|
4385
|
+
on,
|
|
4386
|
+
emit
|
|
4387
|
+
}) {
|
|
4371
4388
|
extendParams({
|
|
4372
4389
|
navigation: {
|
|
4373
4390
|
nextEl: null,
|
|
4374
4391
|
prevEl: null,
|
|
4392
|
+
addIcons: true,
|
|
4375
4393
|
hideOnClick: false,
|
|
4376
4394
|
disabledClass: 'swiper-button-disabled',
|
|
4377
4395
|
hiddenClass: 'swiper-button-hidden',
|
|
@@ -4381,12 +4399,13 @@ function Navigation(_ref) {
|
|
|
4381
4399
|
});
|
|
4382
4400
|
swiper.navigation = {
|
|
4383
4401
|
nextEl: null,
|
|
4384
|
-
prevEl: null
|
|
4402
|
+
prevEl: null,
|
|
4403
|
+
arrowSvg
|
|
4385
4404
|
};
|
|
4386
4405
|
function getEl(el) {
|
|
4387
4406
|
let res;
|
|
4388
4407
|
if (el && typeof el === 'string' && swiper.isElement) {
|
|
4389
|
-
res = swiper.el.querySelector(el);
|
|
4408
|
+
res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);
|
|
4390
4409
|
if (res) return res;
|
|
4391
4410
|
}
|
|
4392
4411
|
if (el) {
|
|
@@ -4457,6 +4476,12 @@ function Navigation(_ref) {
|
|
|
4457
4476
|
prevEl = makeElementsArray(prevEl);
|
|
4458
4477
|
const initButton = (el, dir) => {
|
|
4459
4478
|
if (el) {
|
|
4479
|
+
if (params.addIcons && el.matches('.swiper-button-next,.swiper-button-prev') && !el.querySelector('svg')) {
|
|
4480
|
+
const tempEl = document.createElement('div');
|
|
4481
|
+
setInnerHTML(tempEl, arrowSvg);
|
|
4482
|
+
el.appendChild(tempEl.querySelector('svg'));
|
|
4483
|
+
tempEl.remove();
|
|
4484
|
+
}
|
|
4460
4485
|
el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);
|
|
4461
4486
|
}
|
|
4462
4487
|
if (!swiper.enabled && el) {
|
|
@@ -4557,21 +4582,18 @@ function Navigation(_ref) {
|
|
|
4557
4582
|
});
|
|
4558
4583
|
}
|
|
4559
4584
|
|
|
4560
|
-
function classesToSelector(classes) {
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
}
|
|
4564
|
-
return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line
|
|
4585
|
+
function classesToSelector(classes = '') {
|
|
4586
|
+
// Escape all CSS selector special characters
|
|
4587
|
+
return `.${classes.trim().replace(/([\.:!+\/()[\]#>~*^$|=,'"@{}\\])/g, '\\$1') // eslint-disable-line
|
|
4565
4588
|
.replace(/ /g, '.')}`;
|
|
4566
4589
|
}
|
|
4567
4590
|
|
|
4568
|
-
function Pagination(
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
} = _ref;
|
|
4591
|
+
function Pagination({
|
|
4592
|
+
swiper,
|
|
4593
|
+
extendParams,
|
|
4594
|
+
on,
|
|
4595
|
+
emit
|
|
4596
|
+
}) {
|
|
4575
4597
|
const pfx = 'swiper-pagination';
|
|
4576
4598
|
extendParams({
|
|
4577
4599
|
pagination: {
|
|
@@ -4789,7 +4811,7 @@ function Pagination(_ref) {
|
|
|
4789
4811
|
});
|
|
4790
4812
|
}
|
|
4791
4813
|
if (params.type === 'custom' && params.renderCustom) {
|
|
4792
|
-
subEl
|
|
4814
|
+
setInnerHTML(subEl, params.renderCustom(swiper, current + 1, total));
|
|
4793
4815
|
if (subElIndex === 0) emit('paginationRender', subEl);
|
|
4794
4816
|
} else {
|
|
4795
4817
|
if (subElIndex === 0) emit('paginationRender', subEl);
|
|
@@ -4839,7 +4861,7 @@ function Pagination(_ref) {
|
|
|
4839
4861
|
swiper.pagination.bullets = [];
|
|
4840
4862
|
el.forEach(subEl => {
|
|
4841
4863
|
if (params.type !== 'custom') {
|
|
4842
|
-
subEl
|
|
4864
|
+
setInnerHTML(subEl, paginationHTML || '');
|
|
4843
4865
|
}
|
|
4844
4866
|
if (params.type === 'bullets') {
|
|
4845
4867
|
swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));
|
|
@@ -4870,10 +4892,10 @@ function Pagination(_ref) {
|
|
|
4870
4892
|
el = [...swiper.el.querySelectorAll(params.el)];
|
|
4871
4893
|
// check if it belongs to another nested Swiper
|
|
4872
4894
|
if (el.length > 1) {
|
|
4873
|
-
el = el.
|
|
4895
|
+
el = el.find(subEl => {
|
|
4874
4896
|
if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;
|
|
4875
4897
|
return true;
|
|
4876
|
-
})
|
|
4898
|
+
});
|
|
4877
4899
|
}
|
|
4878
4900
|
}
|
|
4879
4901
|
if (Array.isArray(el) && el.length === 1) el = el[0];
|
|
@@ -5020,12 +5042,11 @@ function Pagination(_ref) {
|
|
|
5020
5042
|
});
|
|
5021
5043
|
}
|
|
5022
5044
|
|
|
5023
|
-
function A11y(
|
|
5024
|
-
|
|
5025
|
-
|
|
5026
|
-
|
|
5027
|
-
|
|
5028
|
-
} = _ref;
|
|
5045
|
+
function A11y({
|
|
5046
|
+
swiper,
|
|
5047
|
+
extendParams,
|
|
5048
|
+
on
|
|
5049
|
+
}) {
|
|
5029
5050
|
extendParams({
|
|
5030
5051
|
a11y: {
|
|
5031
5052
|
enabled: true,
|
|
@@ -5042,7 +5063,8 @@ function A11y(_ref) {
|
|
|
5042
5063
|
itemRoleDescriptionMessage: null,
|
|
5043
5064
|
slideRole: 'group',
|
|
5044
5065
|
id: null,
|
|
5045
|
-
scrollOnFocus: true
|
|
5066
|
+
scrollOnFocus: true,
|
|
5067
|
+
wrapperLiveRegion: true
|
|
5046
5068
|
}
|
|
5047
5069
|
});
|
|
5048
5070
|
swiper.a11y = {
|
|
@@ -5055,13 +5077,9 @@ function A11y(_ref) {
|
|
|
5055
5077
|
function notify(message) {
|
|
5056
5078
|
const notification = liveRegion;
|
|
5057
5079
|
if (notification.length === 0) return;
|
|
5058
|
-
notification
|
|
5059
|
-
notification.innerHTML = message;
|
|
5080
|
+
setInnerHTML(notification, message);
|
|
5060
5081
|
}
|
|
5061
|
-
function getRandomNumber(size) {
|
|
5062
|
-
if (size === void 0) {
|
|
5063
|
-
size = 16;
|
|
5064
|
-
}
|
|
5082
|
+
function getRandomNumber(size = 16) {
|
|
5065
5083
|
const randomChar = () => Math.round(16 * Math.random()).toString(16);
|
|
5066
5084
|
return 'x'.repeat(size).replace(/x/g, randomChar);
|
|
5067
5085
|
}
|
|
@@ -5243,7 +5261,8 @@ function A11y(_ref) {
|
|
|
5243
5261
|
const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
|
|
5244
5262
|
if (!slideEl || !swiper.slides.includes(slideEl)) return;
|
|
5245
5263
|
focusTargetSlideEl = slideEl;
|
|
5246
|
-
const
|
|
5264
|
+
const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
|
|
5265
|
+
const isActive = (isVirtual ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : swiper.slides.indexOf(slideEl)) === swiper.activeIndex;
|
|
5247
5266
|
const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);
|
|
5248
5267
|
if (isActive || isVisible) return;
|
|
5249
5268
|
if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;
|
|
@@ -5255,9 +5274,11 @@ function A11y(_ref) {
|
|
|
5255
5274
|
requestAnimationFrame(() => {
|
|
5256
5275
|
if (preventFocusHandler) return;
|
|
5257
5276
|
if (swiper.params.loop) {
|
|
5258
|
-
swiper.slideToLoop(parseInt(slideEl.getAttribute('data-swiper-slide-index')), 0);
|
|
5277
|
+
swiper.slideToLoop(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index'))), 0);
|
|
5278
|
+
} else if (isVirtual) {
|
|
5279
|
+
swiper.slideTo(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10)), 0);
|
|
5259
5280
|
} else {
|
|
5260
|
-
swiper.slideTo(swiper.slides.indexOf(slideEl), 0);
|
|
5281
|
+
swiper.slideTo(swiper.getSlideIndexWhenGrid(swiper.slides.indexOf(slideEl)), 0);
|
|
5261
5282
|
}
|
|
5262
5283
|
preventFocusHandler = false;
|
|
5263
5284
|
});
|
|
@@ -5298,9 +5319,11 @@ function A11y(_ref) {
|
|
|
5298
5319
|
// Wrapper
|
|
5299
5320
|
const wrapperEl = swiper.wrapperEl;
|
|
5300
5321
|
const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;
|
|
5301
|
-
const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';
|
|
5302
5322
|
addElId(wrapperEl, wrapperId);
|
|
5303
|
-
|
|
5323
|
+
if (params.wrapperLiveRegion) {
|
|
5324
|
+
const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';
|
|
5325
|
+
addElLive(wrapperEl, live);
|
|
5326
|
+
}
|
|
5304
5327
|
|
|
5305
5328
|
// Slide
|
|
5306
5329
|
initSlides();
|
|
@@ -5331,7 +5354,6 @@ function A11y(_ref) {
|
|
|
5331
5354
|
const document = getDocument();
|
|
5332
5355
|
document.addEventListener('visibilitychange', onVisibilityChange);
|
|
5333
5356
|
swiper.el.addEventListener('focus', handleFocus, true);
|
|
5334
|
-
swiper.el.addEventListener('focus', handleFocus, true);
|
|
5335
5357
|
swiper.el.addEventListener('pointerdown', handlePointerDown, true);
|
|
5336
5358
|
swiper.el.addEventListener('pointerup', handlePointerUp, true);
|
|
5337
5359
|
};
|
|
@@ -5415,7 +5437,7 @@ function effectInit(params) {
|
|
|
5415
5437
|
Object.assign(swiper.params, overwriteParamsResult);
|
|
5416
5438
|
Object.assign(swiper.originalParams, overwriteParamsResult);
|
|
5417
5439
|
});
|
|
5418
|
-
on('setTranslate', () => {
|
|
5440
|
+
on('setTranslate _virtualUpdated', () => {
|
|
5419
5441
|
if (swiper.params.effect !== effect) return;
|
|
5420
5442
|
setTranslate();
|
|
5421
5443
|
});
|
|
@@ -5459,20 +5481,19 @@ function effectTarget(effectParams, slideEl) {
|
|
|
5459
5481
|
return transformEl;
|
|
5460
5482
|
}
|
|
5461
5483
|
|
|
5462
|
-
function effectVirtualTransitionEnd(
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
} = _ref;
|
|
5484
|
+
function effectVirtualTransitionEnd({
|
|
5485
|
+
swiper,
|
|
5486
|
+
duration,
|
|
5487
|
+
transformElements,
|
|
5488
|
+
allSlides
|
|
5489
|
+
}) {
|
|
5469
5490
|
const {
|
|
5470
5491
|
activeIndex
|
|
5471
5492
|
} = swiper;
|
|
5472
5493
|
const getSlide = el => {
|
|
5473
5494
|
if (!el.parentElement) {
|
|
5474
5495
|
// assume shadow root
|
|
5475
|
-
const slide = swiper.slides.
|
|
5496
|
+
const slide = swiper.slides.find(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode);
|
|
5476
5497
|
return slide;
|
|
5477
5498
|
}
|
|
5478
5499
|
return el.parentElement;
|
|
@@ -5504,12 +5525,11 @@ function effectVirtualTransitionEnd(_ref) {
|
|
|
5504
5525
|
}
|
|
5505
5526
|
}
|
|
5506
5527
|
|
|
5507
|
-
function EffectFade(
|
|
5508
|
-
|
|
5509
|
-
|
|
5510
|
-
|
|
5511
|
-
|
|
5512
|
-
} = _ref;
|
|
5528
|
+
function EffectFade({
|
|
5529
|
+
swiper,
|
|
5530
|
+
extendParams,
|
|
5531
|
+
on
|
|
5532
|
+
}) {
|
|
5513
5533
|
extendParams({
|
|
5514
5534
|
fadeEffect: {
|
|
5515
5535
|
crossFade: false
|
|
@@ -5564,7 +5584,7 @@ function EffectFade(_ref) {
|
|
|
5564
5584
|
});
|
|
5565
5585
|
}
|
|
5566
5586
|
|
|
5567
|
-
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}";
|
|
5587
|
+
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}";
|
|
5568
5588
|
const HyHeroCarouselStyle0 = hyHeroCarouselCss;
|
|
5569
5589
|
|
|
5570
5590
|
const HyHeroCarousel$1 = /*@__PURE__*/ proxyCustomElement(class HyHeroCarousel extends H {
|
|
@@ -5596,6 +5616,7 @@ const HyHeroCarousel$1 = /*@__PURE__*/ proxyCustomElement(class HyHeroCarousel e
|
|
|
5596
5616
|
navigation: {
|
|
5597
5617
|
nextEl: ".swiper-button-next",
|
|
5598
5618
|
prevEl: ".swiper-button-prev",
|
|
5619
|
+
addIcons: false,
|
|
5599
5620
|
},
|
|
5600
5621
|
pagination: {
|
|
5601
5622
|
el: ".swiper-pagination",
|
|
@@ -5622,7 +5643,7 @@ const HyHeroCarousel$1 = /*@__PURE__*/ proxyCustomElement(class HyHeroCarousel e
|
|
|
5622
5643
|
}
|
|
5623
5644
|
render() {
|
|
5624
5645
|
const carouselContentClasses = ["hero-carousel--item__content", this.itemCount > 1 ? "has-pagination" : ""].join(" ");
|
|
5625
|
-
return (h("div", { key: '
|
|
5646
|
+
return (h("div", { key: '6edb4f0431901d93792c815d98c3d1b0530b028d', class: "hero-carousel-container" }, h("div", { key: '56818055b029489cd68ec5bd242c7fa0f6cbda65', class: "swiper" }, h("div", { key: '10e2871e58c3eac5fe6a5793d435a0ebe126bb25', class: "swiper-wrapper" }, this._data["items"] &&
|
|
5626
5647
|
this._data["items"].map((i, index) => {
|
|
5627
5648
|
const currentIndex = index;
|
|
5628
5649
|
const srcSet = JSON.parse(i.image_sources);
|