From 82172b6043e13fda3366053899806a44918564f7 Mon Sep 17 00:00:00 2001 From: Manu MA Date: Tue, 11 Dec 2018 01:20:17 +0100 Subject: [PATCH] chore(swiper): update deps (#16667) --- core/package.json | 12 +-- .../components/slides/swiper/swiper.bundle.js | 76 ++++++++++--------- 2 files changed, 47 insertions(+), 41 deletions(-) diff --git a/core/package.json b/core/package.json index cff25f4254..8a2960da74 100644 --- a/core/package.json +++ b/core/package.json @@ -34,7 +34,7 @@ "@stencil/utils": "latest", "@types/jest": "^23.3.1", "@types/puppeteer": "1.6.4", - "@types/swiper": "4.2.1", + "@types/swiper": "4.2.4", "@types/node": "10.11.0", "agadoo": "^1.0.0", "autoprefixer": "^9.0.2", @@ -47,11 +47,11 @@ "np": "^3.0.4", "pixelmatch": "4.0.2", "puppeteer": "1.8.0", - "rollup": "^0.66.4", - "rollup-plugin-node-resolve": "^3.4.0", - "stylelint": "~9.6.0", - "stylelint-order": "~1.0.0", - "swiper": "4.4.1", + "rollup": "^0.67.4", + "rollup-plugin-node-resolve": "^4.0.0", + "stylelint": "~9.9.0", + "stylelint-order": "~2.0.0", + "swiper": "4.4.2", "tslint": "^5.10.0", "tslint-ionic-rules": "0.0.21", "tslint-react": "^3.6.0", diff --git a/core/src/components/slides/swiper/swiper.bundle.js b/core/src/components/slides/swiper/swiper.bundle.js index e8b4babd34..bfcad67423 100644 --- a/core/src/components/slides/swiper/swiper.bundle.js +++ b/core/src/components/slides/swiper/swiper.bundle.js @@ -762,7 +762,7 @@ function add(...args) { } /** - * Swiper 4.4.1 + * Swiper 4.4.2 * Most modern mobile touch slider and framework with hardware accelerated transitions * http://www.idangero.us/swiper/ * @@ -770,7 +770,7 @@ function add(...args) { * * Released under the MIT License * - * Released on: September 14, 2018 + * Released on: November 1, 2018 */ const Methods = { @@ -932,7 +932,7 @@ const Support = (function Support() { return !!(('ontouchstart' in win) || (win.DocumentTouch && doc instanceof win.DocumentTouch)); }()), - pointerEvents: !!(win.navigator.pointerEnabled || win.PointerEvent), + pointerEvents: !!(win.navigator.pointerEnabled || win.PointerEvent || ('maxTouchPoints' in win.navigator)), prefixedPointerEvents: !!win.navigator.msPointerEnabled, transition: (function checkTransition() { @@ -1295,11 +1295,11 @@ function updateSlides () { } else { // eslint-disable-next-line if (swiper.isHorizontal()) { - slideSize = slide[0].getBoundingClientRect().width + slideSize = parseFloat(slideStyles.getPropertyValue('width')) + parseFloat(slideStyles.getPropertyValue('margin-left')) + parseFloat(slideStyles.getPropertyValue('margin-right')); } else { - slideSize = slide[0].getBoundingClientRect().height + slideSize = parseFloat(slideStyles.getPropertyValue('height')) + parseFloat(slideStyles.getPropertyValue('margin-top')) + parseFloat(slideStyles.getPropertyValue('margin-bottom')); } @@ -2525,7 +2525,9 @@ function onTouchStart (event) { ) { doc.activeElement.blur(); } - if (preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault) { + + const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; + if (params.touchStartForcePreventDefault || shouldPreventDefault) { e.preventDefault(); } } @@ -3157,13 +3159,30 @@ function setBreakpoint () { } = swiper; const breakpoints = params.breakpoints; if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0)) return; + // Set breakpoint for window width and update parameters const breakpoint = swiper.getBreakpoint(breakpoints); - if (breakpoint && swiper.currentBreakpoint !== breakpoint) { - const breakPointsParams = breakpoint in breakpoints ? breakpoints[breakpoint] : swiper.originalParams; - const needsReLoop = params.loop && (breakPointsParams.slidesPerView !== params.slidesPerView); - Utils.extend(swiper.params, breakPointsParams); + if (breakpoint && swiper.currentBreakpoint !== breakpoint) { + const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; + if (breakpointOnlyParams) { + ['slidesPerView', 'spaceBetween', 'slidesPerGroup'].forEach((param) => { + const paramValue = breakpointOnlyParams[param]; + if (typeof paramValue === 'undefined') return; + if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) { + breakpointOnlyParams[param] = 'auto'; + } else if (param === 'slidesPerView') { + breakpointOnlyParams[param] = parseFloat(paramValue); + } else { + breakpointOnlyParams[param] = parseInt(paramValue, 10); + } + }); + } + + const breakpointParams = breakpointOnlyParams || swiper.originalParams; + const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView); + + Utils.extend(swiper.params, breakpointParams); Utils.extend(swiper, { allowTouchMove: swiper.params.allowTouchMove, @@ -3179,7 +3198,7 @@ function setBreakpoint () { swiper.updateSlides(); swiper.slideTo((activeIndex - loopedSlides) + swiper.loopedSlides, 0, false); } - swiper.emit('breakpoint', breakPointsParams); + swiper.emit('breakpoint', breakpointParams); } } @@ -3418,6 +3437,7 @@ var defaults = { threshold: 0, touchMoveStopPropagation: true, touchStartPreventDefault: true, + touchStartForcePreventDefault: false, touchReleaseOnEdges: false, // Unique Navigation Elements @@ -4787,54 +4807,40 @@ const Scrollbar = { const swiper = this; if (!swiper.params.scrollbar.el) return; const { - scrollbar, touchEvents, touchEventsDesktop, params, + scrollbar, touchEventsTouch, touchEventsDesktop, params, } = swiper; const $el = scrollbar.$el; const target = $el[0]; const activeListener = Support.passiveListener && params.passiveListeners ? { passive: false, capture: false } : false; const passiveListener = Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false; - if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) { + if (!Support.touch) { target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener); doc.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener); doc.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener); } else { - if (Support.touch) { - target.addEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener); - target.addEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener); - target.addEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener); - } - if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) { - target.addEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener); - doc.addEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener); - doc.addEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener); - } + target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener); + target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener); + target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener); } }, disableDraggable() { const swiper = this; if (!swiper.params.scrollbar.el) return; const { - scrollbar, touchEvents, touchEventsDesktop, params, + scrollbar, touchEventsTouch, touchEventsDesktop, params, } = swiper; const $el = scrollbar.$el; const target = $el[0]; const activeListener = Support.passiveListener && params.passiveListeners ? { passive: false, capture: false } : false; const passiveListener = Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false; - if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) { + if (!Support.touch) { target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener); doc.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener); doc.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener); } else { - if (Support.touch) { - target.removeEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener); - target.removeEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener); - target.removeEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener); - } - if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) { - target.removeEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener); - doc.removeEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener); - doc.removeEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener); - } + target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener); + target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener); + target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener); } }, init() {