Version Description
Download this release
Release Info
Developer | nko |
Plugin | Visual Portfolio, Photo Gallery & Post Grid |
Version | 2.6.2 |
Comparing to | |
See all releases |
Code changes from version 2.6.1 to 2.6.2
- assets/admin/css/style-rtl.min.css +1 -1
- assets/admin/css/style.min.css +1 -1
- assets/admin/js/elementor.js +1 -1
- assets/admin/js/elementor.min.js +1 -8
- assets/admin/js/mce-dropdown.js +1 -1
- assets/admin/js/script.js +8 -1
- assets/admin/js/script.min.js +1 -6
- assets/admin/js/vc-frontend.js +1 -1
- assets/js/layout-grid.js +95 -76
- assets/js/layout-grid.min.js +1 -1
- assets/js/main.min.js +1 -1
- assets/js/plugin-isotope.js +2 -2
- assets/js/plugin-isotope.min.js +1 -1
- assets/js/preview.js +1 -1
- assets/vendor/fancybox/{jquery.fancybox.min.css → dist/jquery.fancybox.min.css} +0 -0
- assets/vendor/fancybox/{jquery.fancybox.min.js → dist/jquery.fancybox.min.js} +0 -0
- assets/vendor/flickr-justified-gallery/{fjGallery.css → dist/fjGallery.css} +0 -0
- assets/vendor/flickr-justified-gallery/{fjGallery.min.js → dist/fjGallery.min.js} +0 -0
- assets/vendor/flickr-justified-gallery/{fjGallery.min.js.map → dist/fjGallery.min.js.map} +0 -0
- assets/vendor/flickr-justified-gallery/fjGallery.js +0 -1450
- assets/vendor/ie11-custom-properties/{ie11-custom-properties.js → ie11CustomProperties.js} +12 -26
- assets/vendor/iframe-resizer/iframeResizer.map +0 -1
- assets/vendor/iframe-resizer/{iframeResizer.contentWindow.map → js/iframeResizer.contentWindow.map} +1 -1
- assets/vendor/iframe-resizer/{iframeResizer.contentWindow.min.js → js/iframeResizer.contentWindow.min.js} +1 -1
- assets/vendor/iframe-resizer/js/iframeResizer.map +1 -0
- assets/vendor/iframe-resizer/{iframeResizer.min.js → js/iframeResizer.min.js} +1 -1
- assets/vendor/{isotope → isotope-layout/dist}/isotope.pkgd.min.js +0 -0
- assets/vendor/isotope/isotope.pkgd.js +0 -3563
- assets/vendor/lazysizes/lazysizes.min.js +3 -2
- assets/vendor/object-fit-images/{ofi.min.js → dist/ofi.min.js} +0 -0
- assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.css +0 -0
- assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.png +0 -0
- assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.svg +0 -0
- assets/vendor/photoswipe/{default-skin → dist/default-skin}/preloader.gif +0 -0
- assets/vendor/photoswipe/{photoswipe-ui-default.min.js → dist/photoswipe-ui-default.min.js} +0 -0
- assets/vendor/photoswipe/{photoswipe.css → dist/photoswipe.css} +0 -0
- assets/vendor/photoswipe/{photoswipe.min.js → dist/photoswipe.min.js} +0 -0
- assets/vendor/readme.md +1 -0
- assets/vendor/simplebar/{simplebar.min.css → dist/simplebar.min.css} +0 -0
- assets/vendor/simplebar/dist/simplebar.min.js +10 -0
- assets/vendor/simplebar/simplebar.min.js +0 -10
- assets/vendor/swiper/css/swiper.min.css +0 -13
- assets/vendor/swiper/js/swiper.min.js +0 -14
- assets/vendor/swiper/js/swiper.min.js.map +0 -1
- assets/vendor/swiper/swiper-bundle.js +8005 -0
assets/admin/css/style-rtl.min.css
CHANGED
@@ -2,4 +2,4 @@
|
|
2 |
* Name : Visual Portfolio
|
3 |
* Version : @@plugin_version
|
4 |
* Author : nK https://nkdev.info
|
5 |
-
*/#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-vc.png");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:left;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;left:0;bottom:0;right:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-left:-15px;margin-right:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:15px;padding-right:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;right:0;width:100%;height:100%;z-index:2}.vpf-
|
2 |
* Name : Visual Portfolio
|
3 |
* Version : @@plugin_version
|
4 |
* Author : nK https://nkdev.info
|
5 |
+
*/#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-vc.png");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:left;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;left:0;bottom:0;right:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-left:-15px;margin-right:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:15px;padding-right:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;right:0;width:100%;height:100%;z-index:2}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vpf-post-image-focal-point-panel ~ .editor-post-featured-image .editor-post-featured-image__preview{display:none}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;right:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:right;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:left}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-left:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;right:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none;opacity:.5}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-right:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
|
assets/admin/css/style.min.css
CHANGED
@@ -2,4 +2,4 @@
|
|
2 |
* Name : Visual Portfolio
|
3 |
* Version : @@plugin_version
|
4 |
* Author : nK https://nkdev.info
|
5 |
-
*/#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-vc.png");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:right;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-right:-15px;margin-left:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:15px;padding-left:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.vpf-
|
2 |
* Name : Visual Portfolio
|
3 |
* Version : @@plugin_version
|
4 |
* Author : nK https://nkdev.info
|
5 |
+
*/#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-vc.png");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:right;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-right:-15px;margin-left:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:15px;padding-left:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vpf-post-image-focal-point-panel ~ .editor-post-featured-image .editor-post-featured-image__preview{display:none}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:left;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:right}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-right:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;left:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none;opacity:.5}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-left:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
|
assets/admin/js/elementor.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* Additional js for Elementor
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
-
* Version : 2.6.
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
import { throttle } from 'throttle-debounce';
|
2 |
* Additional js for Elementor
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
+
* Version : 2.6.2
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
import { throttle } from 'throttle-debounce';
|
assets/admin/js/elementor.min.js
CHANGED
@@ -1,8 +1 @@
|
|
1 |
-
!function(e){var
|
2 |
-
/*!
|
3 |
-
* Additional js for Elementor
|
4 |
-
*
|
5 |
-
* Name : Visual Portfolio
|
6 |
-
* Version : @@plugin_version
|
7 |
-
* Author : nK https://nkdev.info
|
8 |
-
*/a(window).on("elementor/frontend/init",(function(e){if(u){var n=e.target;f.on("resize",Object(t.b)(300,r)),o.hooks.addAction("frontend/element_ready/visual-portfolio.default",(function(e){var n=a(e).find(".visual-portfolio-elementor-preview"),t=n.find("iframe"),i=n.attr("data-id"),o="".concat(u.preview_url+(u.preview_url.split("?")[1]?"&":"?"),"vp_preview_frame=true&vp_preview_type=elementor&vp_preview_frame_id=").concat(i);t.attr("src",o),a.fn.iFrameResize&&t.iFrameResize({onInit:function(){r()}})}))}function r(){var e=n.jQuery(n.document).width();n.jQuery.find(".visual-portfolio-elementor-preview iframe").forEach((function(n){var r=a(n),t=r.parent().width();r.css({width:e}),n.iFrameResizer&&(n.iFrameResizer.sendMessage({name:"resize",width:t}),n.iFrameResizer.resize())}))}}))},3:function(e,n,r){"use strict";function t(e,n,r,t){var i,o=!1,u=0;function a(){i&&clearTimeout(i)}function f(){for(var f=arguments.length,c=new Array(f),d=0;d<f;d++)c[d]=arguments[d];var l=this,s=Date.now()-u;function p(){u=Date.now(),r.apply(l,c)}function v(){i=void 0}o||(t&&!i&&p(),a(),void 0===t&&s>e?p():!0!==n&&(i=setTimeout(t?v:p,void 0===t?e-s:e)))}return"boolean"!=typeof n&&(t=r,r=n,n=void 0),f.cancel=function(){a(),o=!0},f}function i(e,n,r){return void 0===r?t(e,n,!1):t(e,r,!1!==n)}r.d(n,"a",(function(){return i})),r.d(n,"b",(function(){return t}))}});
|
1 |
+
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=253)}({253:function(e,t,n){e.exports=n(254)},254:function(e,t,n){"use strict";n.r(t);var r=n(3),o=window,i=o.elementorFrontend,u=o.VPAdminElementorVariables,f=window.jQuery,a=f(window);f(window).on("elementor/frontend/init",(function(e){if(u){var t=e.target;a.on("resize",Object(r.throttle)(300,n)),i.hooks.addAction("frontend/element_ready/visual-portfolio.default",(function(e){var t=f(e).find(".visual-portfolio-elementor-preview"),r=t.find("iframe"),o=t.attr("data-id"),i="".concat(u.preview_url+(u.preview_url.split("?")[1]?"&":"?"),"vp_preview_frame=true&vp_preview_type=elementor&vp_preview_frame_id=").concat(o);r.attr("src",i),f.fn.iFrameResize&&r.iFrameResize({onInit:function(){n()}})}))}function n(){var e=t.jQuery(t.document).width();t.jQuery.find(".visual-portfolio-elementor-preview iframe").forEach((function(t){var n=f(t),r=n.parent().width();n.css({width:e}),t.iFrameResizer&&(t.iFrameResizer.sendMessage({name:"resize",width:r}),t.iFrameResizer.resize())}))}}))},3:function(e,t,n){var r,o,i,u;function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}u=function(e){"use strict";function t(e,t,n,r){var o,i=!1,u=0;function f(){o&&clearTimeout(o)}function a(){for(var a=arguments.length,c=new Array(a),l=0;l<a;l++)c[l]=arguments[l];var d=this,p=Date.now()-u;function s(){u=Date.now(),n.apply(d,c)}function v(){o=void 0}i||(r&&!o&&s(),f(),void 0===r&&p>e?s():!0!==t&&(o=setTimeout(r?v:s,void 0===r?e-p:e)))}return"boolean"!=typeof t&&(r=n,n=t,t=void 0),a.cancel=function(){f(),i=!0},a}e.debounce=function(e,n,r){return void 0===r?t(e,n,!1):t(e,r,!1!==n)},e.throttle=t,Object.defineProperty(e,"__esModule",{value:!0})},"object"===f(t)&&void 0!==e?u(t):(o=[t],void 0===(i="function"==typeof(r=u)?r.apply(t,o):r)||(e.exports=i))}});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/admin/js/mce-dropdown.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
-
* Version : 2.6.
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const {
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
+
* Version : 2.6.2
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const {
|
assets/admin/js/script.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
-
* Version : 2.6.
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
import { debounce } from 'throttle-debounce';
|
@@ -20,6 +20,13 @@ $body.on( 'focus', '[name="vp_list_shortcode"], [name="vp_filter_shortcode"], [n
|
|
20 |
$body.on( 'click', '.vp-onclick-selection', function() {
|
21 |
window.getSelection().selectAllChildren( this );
|
22 |
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
// Post format metabox show/hide
|
25 |
const $videoMetabox = $( '#vp_format_video' );
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
+
* Version : 2.6.2
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
import { debounce } from 'throttle-debounce';
|
20 |
$body.on( 'click', '.vp-onclick-selection', function() {
|
21 |
window.getSelection().selectAllChildren( this );
|
22 |
} );
|
23 |
+
// fix the problem with Gutenberg shortcode transform (allowed only plain text pasted).
|
24 |
+
$body.on( 'copy cut', '.vp-onclick-selection', ( e ) => {
|
25 |
+
const copyText = window.getSelection().toString().replace( /[\n\r]+/g, '' );
|
26 |
+
|
27 |
+
e.originalEvent.clipboardData.setData( 'text/plain', copyText );
|
28 |
+
e.originalEvent.preventDefault();
|
29 |
+
} );
|
30 |
|
31 |
// Post format metabox show/hide
|
32 |
const $videoMetabox = $( '#vp_format_video' );
|
assets/admin/js/script.min.js
CHANGED
@@ -1,6 +1 @@
|
|
1 |
-
!function(e){var
|
2 |
-
/*!
|
3 |
-
* Name : Visual Portfolio
|
4 |
-
* Version : @@plugin_version
|
5 |
-
* Author : nK https://nkdev.info
|
6 |
-
*/a.on("focus",'[name="vp_list_shortcode"], [name="vp_filter_shortcode"], [name="vp_sort_shortcode"]',(function(){this.select()})),a.on("click",".vp-onclick-selection",(function(){window.getSelection().selectAllChildren(this)}));var l=i("#vp_format_video"),f=i("#post-format-video"),d=null;function p(e){null!==d&&d===e||(d=e,l[e?"show":"hide"]())}l.length&&f.length&&(p(f.is(":checked")),a.on("change","[name=post_format]",(function(){p(f.is(":checked"))})));var s=null,v=function(e){s=i.ajax({url:u,method:"POST",dataType:"json",data:{action:"vp_find_oembed",q:e.val(),nonce:c.nonce},complete:function(n){var t=n.responseJSON;t&&void 0!==t.html&&e.next(".vp-oembed-preview").html(t.html)}})};v=Object(o.a)(300,v),a.on("change input",'.vp-input[name="_vp_format_video_url"]',(function(){null!==s&&s.abort();var e=i(this);e.next(".vp-oembed-preview").html(""),v(e)}))},3:function(e,n,t){"use strict";function o(e,n,t,o){var r,i=!1,u=0;function c(){r&&clearTimeout(r)}function a(){for(var a=arguments.length,l=new Array(a),f=0;f<a;f++)l[f]=arguments[f];var d=this,p=Date.now()-u;function s(){u=Date.now(),t.apply(d,l)}function v(){r=void 0}i||(o&&!r&&s(),c(),void 0===o&&p>e?s():!0!==n&&(r=setTimeout(o?v:s,void 0===o?e-p:e)))}return"boolean"!=typeof n&&(o=t,t=n,n=void 0),a.cancel=function(){c(),i=!0},a}function r(e,n,t){return void 0===t?o(e,n,!1):o(e,t,!1!==n)}t.d(n,"a",(function(){return r})),t.d(n,"b",(function(){return o}))}});
|
1 |
+
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=259)}({259:function(e,t,n){e.exports=n(260)},260:function(e,t,n){"use strict";n.r(t);var o=n(3),r=window,i=r.jQuery,c=r.ajaxurl,u=r.VPAdminVariables,l=i("body");l.on("focus",'[name="vp_list_shortcode"], [name="vp_filter_shortcode"], [name="vp_sort_shortcode"]',(function(){this.select()})),l.on("click",".vp-onclick-selection",(function(){window.getSelection().selectAllChildren(this)})),l.on("copy cut",".vp-onclick-selection",(function(e){var t=window.getSelection().toString().replace(/[\n\r]+/g,"");e.originalEvent.clipboardData.setData("text/plain",t),e.originalEvent.preventDefault()}));var a=i("#vp_format_video"),f=i("#post-format-video"),p=null;function d(e){null!==p&&p===e||(p=e,a[e?"show":"hide"]())}a.length&&f.length&&(d(f.is(":checked")),l.on("change","[name=post_format]",(function(){d(f.is(":checked"))})));var v=null,s=function(e){v=i.ajax({url:c,method:"POST",dataType:"json",data:{action:"vp_find_oembed",q:e.val(),nonce:u.nonce},complete:function(t){var n=t.responseJSON;n&&void 0!==n.html&&e.next(".vp-oembed-preview").html(n.html)}})};s=Object(o.debounce)(300,s),l.on("change input",'.vp-input[name="_vp_format_video_url"]',(function(){null!==v&&v.abort();var e=i(this);e.next(".vp-oembed-preview").html(""),s(e)}))},3:function(e,t,n){var o,r,i,c;function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}c=function(e){"use strict";function t(e,t,n,o){var r,i=!1,c=0;function u(){r&&clearTimeout(r)}function l(){for(var l=arguments.length,a=new Array(l),f=0;f<l;f++)a[f]=arguments[f];var p=this,d=Date.now()-c;function v(){c=Date.now(),n.apply(p,a)}function s(){r=void 0}i||(o&&!r&&v(),u(),void 0===o&&d>e?v():!0!==t&&(r=setTimeout(o?s:v,void 0===o?e-d:e)))}return"boolean"!=typeof t&&(o=n,n=t,t=void 0),l.cancel=function(){u(),i=!0},l}e.debounce=function(e,n,o){return void 0===o?t(e,n,!1):t(e,o,!1!==n)},e.throttle=t,Object.defineProperty(e,"__esModule",{value:!0})},"object"===u(t)&&void 0!==e?c(t):(r=[t],void 0===(i="function"==typeof(o=c)?o.apply(t,r):o)||(e.exports=i))}});
|
|
|
|
|
|
|
|
|
|
assets/admin/js/vc-frontend.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* Additional js for frontend VC
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
-
* Version : 2.6.
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
const {
|
2 |
* Additional js for frontend VC
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
+
* Version : 2.6.2
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
const {
|
assets/js/layout-grid.js
CHANGED
@@ -9,107 +9,113 @@ const {
|
|
9 |
|
10 |
/* eslint-disable no-underscore-dangle */
|
11 |
|
12 |
-
//
|
13 |
-
//
|
|
|
|
|
|
|
14 |
if ( 'undefined' !== typeof window.Isotope && 'undefined' !== typeof window.Isotope.LayoutMode ) {
|
15 |
-
const
|
|
|
16 |
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
this.y = 0;
|
21 |
-
this.maxY = 0;
|
22 |
-
this.horizontalColIndex = 0;
|
23 |
|
24 |
-
|
25 |
-
this._getMeasurement( 'gutter', 'outerWidth' );
|
26 |
-
this.measureColumns();
|
27 |
-
};
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
this.items
|
|
|
32 |
|
33 |
-
|
|
|
|
|
|
|
|
|
34 |
|
35 |
-
|
36 |
-
if ( ! this.columnWidth ) {
|
37 |
-
const firstItem = this.items[ 0 ];
|
38 |
-
const firstItemElem = firstItem && firstItem.element;
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|| this.containerWidth;
|
44 |
-
}
|
45 |
|
46 |
-
|
|
|
47 |
|
48 |
-
|
49 |
-
|
50 |
-
let cols = containerWidth / this.columnWidth;
|
51 |
|
52 |
-
|
53 |
-
|
|
|
54 |
|
55 |
-
|
56 |
-
|
|
|
|
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
61 |
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
|
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
};
|
72 |
|
73 |
-
|
74 |
-
|
75 |
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
|
84 |
-
|
85 |
-
|
86 |
|
87 |
-
|
88 |
-
|
89 |
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
|
94 |
-
|
95 |
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
|
107 |
-
|
108 |
-
|
109 |
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
113 |
}
|
114 |
|
115 |
/**
|
@@ -188,3 +194,16 @@ $( document ).on( 'initLayout.vpf', ( event, self ) => {
|
|
188 |
count -= 1;
|
189 |
}
|
190 |
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/* eslint-disable no-underscore-dangle */
|
11 |
|
12 |
+
//
|
13 |
+
// Our custom Grid layout for Isotope.
|
14 |
+
//
|
15 |
+
// * fixes grid items position in FireFox - https://wordpress.org/support/topic/gallery-difference-between-firefox-and-all-other-browsers/
|
16 |
+
//
|
17 |
if ( 'undefined' !== typeof window.Isotope && 'undefined' !== typeof window.Isotope.LayoutMode ) {
|
18 |
+
const VPRows = window.Isotope.LayoutMode.create( 'vpRows' );
|
19 |
+
const proto = VPRows.prototype;
|
20 |
|
21 |
+
proto.measureColumns = function() {
|
22 |
+
// set items, used if measuring first item
|
23 |
+
this.items = this.isotope.filteredItems;
|
|
|
|
|
|
|
24 |
|
25 |
+
this.getContainerWidth();
|
|
|
|
|
|
|
26 |
|
27 |
+
// if columnWidth is 0, default to outerWidth of first item
|
28 |
+
if ( ! this.columnWidth ) {
|
29 |
+
const firstItem = this.items[ 0 ];
|
30 |
+
const firstItemElem = firstItem && firstItem.element;
|
31 |
|
32 |
+
// columnWidth fall back to item of first element
|
33 |
+
this.columnWidth = ( firstItemElem && window.getSize( firstItemElem ).outerWidth )
|
34 |
+
// if first elem has no width, default to size of container
|
35 |
+
|| this.containerWidth;
|
36 |
+
}
|
37 |
|
38 |
+
this.columnWidth += this.gutter;
|
|
|
|
|
|
|
39 |
|
40 |
+
// calculate columns
|
41 |
+
const containerWidth = this.containerWidth + this.gutter;
|
42 |
+
let cols = containerWidth / this.columnWidth;
|
|
|
|
|
43 |
|
44 |
+
// fix rounding errors, typically with gutters
|
45 |
+
const excess = this.columnWidth - ( containerWidth % this.columnWidth );
|
46 |
|
47 |
+
// if overshoot is less than a pixel, round up, otherwise floor it
|
48 |
+
const mathMethod = excess && 1 > excess ? 'round' : 'floor';
|
|
|
49 |
|
50 |
+
cols = Math[ mathMethod ]( cols );
|
51 |
+
this.cols = Math.max( cols, 1 );
|
52 |
+
};
|
53 |
|
54 |
+
proto.getContainerWidth = function() {
|
55 |
+
// container is parent if fit width
|
56 |
+
const isFitWidth = this._getOption ? this._getOption( 'fitWidth' ) : false;
|
57 |
+
const container = isFitWidth ? this.element.parentNode : this.element;
|
58 |
|
59 |
+
// check that this.size and size are there
|
60 |
+
// IE8 triggers resize on body size change, so they might not be
|
61 |
+
const size = window.getSize( container );
|
62 |
+
this.containerWidth = size && size.innerWidth;
|
63 |
+
};
|
64 |
|
65 |
+
proto._resetLayout = function() {
|
66 |
+
this.x = 0;
|
67 |
+
this.y = 0;
|
68 |
+
this.maxY = 0;
|
69 |
+
this.horizontalColIndex = 0;
|
70 |
|
71 |
+
this._getMeasurement( 'columnWidth', 'outerWidth' );
|
72 |
+
this._getMeasurement( 'gutter', 'outerWidth' );
|
73 |
+
this.measureColumns();
|
74 |
+
};
|
|
|
75 |
|
76 |
+
proto._getItemLayoutPosition = function( item ) {
|
77 |
+
item.getSize();
|
78 |
|
79 |
+
// how many columns does this brick span
|
80 |
+
const remainder = item.size.outerWidth % this.columnWidth;
|
81 |
+
const mathMethod = remainder && 1 > remainder ? 'round' : 'ceil';
|
82 |
|
83 |
+
// round if off by 1 pixel, otherwise use ceil
|
84 |
+
let colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
|
85 |
+
colSpan = Math.min( colSpan, this.cols );
|
86 |
|
87 |
+
let col = this.horizontalColIndex % this.cols;
|
88 |
+
const isOver = 1 < colSpan && col + colSpan > this.cols;
|
89 |
|
90 |
+
// shift to next row if item can't fit on current row
|
91 |
+
col = isOver ? 0 : col;
|
92 |
|
93 |
+
// don't let zero-size items take up space
|
94 |
+
const hasSize = item.size.outerWidth && item.size.outerHeight;
|
95 |
+
this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
|
96 |
|
97 |
+
const itemWidth = item.size.outerWidth + this.gutter;
|
98 |
|
99 |
+
// if this element cannot fit in the current row
|
100 |
+
if ( 0 !== this.x && 1 === this.horizontalColIndex ) {
|
101 |
+
this.x = 0;
|
102 |
+
this.y = this.maxY;
|
103 |
+
}
|
104 |
|
105 |
+
const position = {
|
106 |
+
x: this.x,
|
107 |
+
y: this.y,
|
108 |
+
};
|
109 |
|
110 |
+
this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
|
111 |
+
this.x += itemWidth;
|
112 |
|
113 |
+
return position;
|
114 |
+
};
|
115 |
+
|
116 |
+
proto._getContainerSize = function() {
|
117 |
+
return { height: this.maxY };
|
118 |
+
};
|
119 |
}
|
120 |
|
121 |
/**
|
194 |
count -= 1;
|
195 |
}
|
196 |
} );
|
197 |
+
|
198 |
+
// Change Isotope Layout Mode.
|
199 |
+
$( document ).on( 'beforeInitIsotope.vpf', ( event, self, initOptions ) => {
|
200 |
+
if ( 'vpf' !== event.namespace ) {
|
201 |
+
return;
|
202 |
+
}
|
203 |
+
|
204 |
+
if ( 'grid' !== self.options.layout ) {
|
205 |
+
return;
|
206 |
+
}
|
207 |
+
|
208 |
+
initOptions.layoutMode = 'vpRows';
|
209 |
+
} );
|
assets/js/layout-grid.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var i={};function o
|
1 |
+
!function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=222)}({222:function(t,i,e){t.exports=e(223)},223:function(t,i){var e=window.jQuery,o=window.VPData.screenSizes;if(void 0!==window.Isotope&&void 0!==window.Isotope.LayoutMode){var n=window.Isotope.LayoutMode.create("vpRows").prototype;n.measureColumns=function(){if(this.items=this.isotope.filteredItems,this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&window.getSize(i).outerWidth||this.containerWidth}this.columnWidth+=this.gutter;var e=this.containerWidth+this.gutter,o=e/this.columnWidth,n=this.columnWidth-e%this.columnWidth;o=Math[n&&1>n?"round":"floor"](o),this.cols=Math.max(o,1)},n.getContainerWidth=function(){var t=!!this._getOption&&this._getOption("fitWidth")?this.element.parentNode:this.element,i=window.getSize(t);this.containerWidth=i&&i.innerWidth},n._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this.horizontalColIndex=0,this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns()},n._getItemLayoutPosition=function(t){t.getSize();var i=t.size.outerWidth%this.columnWidth,e=Math[i&&1>i?"round":"ceil"](t.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);var o=this.horizontalColIndex%this.cols;o=1<e&&o+e>this.cols?0:o;var n=t.size.outerWidth&&t.size.outerHeight;this.horizontalColIndex=n?o+e:this.horizontalColIndex;var r=t.size.outerWidth+this.gutter;0!==this.x&&1===this.horizontalColIndex&&(this.x=0,this.y=this.maxY);var s={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=r,s},n._getContainerSize=function(){return{height:this.maxY}}}e(document).on("initOptions.vpf",(function(t,i){"vpf"===t.namespace&&(i.defaults.gridColumns=3,i.options.gridColumns||(i.options.gridColumns=i.defaults.gridColumns),i.options.gridImagesAspectRatio||(i.options.gridImagesAspectRatio=i.defaults.gridImagesAspectRatio))})),e(document).on("initLayout.vpf",(function(t,i){if("vpf"===t.namespace&&"grid"===i.options.layout){var e=function(t){var i="",e="";if(t&&/:/g.test(t)){var o=t.split(":");i=o[0],e=o[1]}return[i,e]}(i.options.gridImagesAspectRatio);e&&e[0]&&e[1]&&i.addStyle(".vp-portfolio__item-wrap .vp-portfolio__item-img-wrap::before",{"padding-top":"".concat(e[1]/e[0]*100,"%")}),i.addStyle(".vp-portfolio__item-wrap",{width:"".concat(100/i.options.gridColumns,"%")});for(var n=i.options.gridColumns-1,r=Math.min(o.length-1,n);0<=r;r-=1)0<n&&void 0!==o[r]&&i.addStyle(".vp-portfolio__item-wrap",{width:"".concat(100/n,"%")},"screen and (max-width: ".concat(o[r],"px)")),n-=1}})),e(document).on("beforeInitIsotope.vpf",(function(t,i,e){"vpf"===t.namespace&&"grid"===i.options.layout&&(e.layoutMode="vpRows")}))}});
|
assets/js/main.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=234)}({14:function(t,i){function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(t){"object"===("undefined"==typeof window?"undefined":e(window))&&(o=window)}t.exports=o},216:function(t,i,e){var o=e(236),n=o.requestAnimationFrame||o.webkitRequestAnimationFrame||o.mozRequestAnimationFrame||function(t){var i=+new Date,e=Math.max(0,16-(i-s)),o=setTimeout(t,e);return s=i,o},s=+new Date;var a=o.cancelAnimationFrame||o.webkitCancelAnimationFrame||o.mozCancelAnimationFrame||clearTimeout;Function.prototype.bind&&(n=n.bind(o),a=a.bind(o)),(t.exports=n).cancel=a},234:function(t,i,e){t.exports=e(235)},235:function(t,i,e){"use strict";e.r(i);var o=e(3),n=e(216),s=e.n(n);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,i){for(var e=0;e<i.length;e++){var o=i[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var l=window,c=l.jQuery,f=l.VPData,p=l.objectFitImages,d=f.__,v=c(window);function u(){if("function"==typeof window.Event)window.dispatchEvent(new window.Event("resize"));else{var t=window.document.createEvent("UIEvents");t.initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(t)}}void 0!==p&&(p(".vp-portfolio img:not(.visual-portfolio-lazyload)"),c(document).on("lazybeforeunveil",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&i.one("load",(function(){p(i[0])}))})));var m={},h=!1,y=!1;function g(){if(clearTimeout(y),h){var t=c(".vp-portfolio__ready");if(t.length){var i=!1;t.each((function(){var t=this.vpf;if(t){var e=m[t.uid]||"none";m[t.uid]=null===this.offsetParent?"hidden":"visible","hidden"===e&&"visible"===m[t.uid]&&(i=!0)}})),i&&u()}else h=!1;y=setTimeout(g,500)}}c(document).on("inited.vpf",(function(t){"vpf"===t.namespace&&(h=!0,g())}));var _=function(){function t(i,e){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t);this.$item=i;for(var o=i[0].className.split(/\s+/),n=0;n<o.length;n+=1)o[n]&&/^vp-uid-/.test(o[n])&&(this.uid=o[n].replace(/^vp-uid-/,"")),o[n]&&/^vp-id-/.test(o[n])&&(this.id=o[n].replace(/^vp-id-/,""));this.uid?(this.href=window.location.href,this.$items_wrap=i.find(".vp-portfolio__items"),this.$slider_thumbnails_wrap=i.find(".vp-portfolio__thumbnails"),this.$pagination=i.find(".vp-portfolio__pagination-wrap"),this.$filter=i.find(".vp-portfolio__filter-wrap"),this.$sort=i.find(".vp-portfolio__sort-wrap"),this.id&&(this.$filter=this.$filter.add(".vp-single-filter.vp-id-".concat(this.id," .vp-portfolio__filter-wrap"))),this.id&&(this.$sort=this.$sort.add(".vp-single-sort.vp-id-".concat(this.id," .vp-portfolio__sort-wrap"))),this.userOptions=e,this.firstRun=!0,this.init()):console.error(d.couldnt_retrieve_vp)}var i,e,o;return i=t,(e=[{key:"emitEvent",value:function(t,i){i=i?[this].concat(i):[this],this.$item.trigger("".concat(t,".vpf"),i),this.$item.trigger("".concat(t,".vpf-uid-").concat(this.uid),i)}},{key:"init",value:function(){this.firstRun||this.destroy(),this.destroyed=!1,this.removeNoscriptTags(this.$items_wrap),this.initOptions(),this.initEvents(),this.prepareLazyLoad(),this.initLayout(),this.initCustomColors(),this.emitEvent("init"),this.$item.addClass("vp-portfolio__ready"),this.id&&(c(".vp-single-filter.vp-id-".concat(this.id)).addClass("vp-single-filter__ready"),c(".vp-single-sort.vp-id-".concat(this.id)).addClass("vp-single-sort__ready")),this.resized(),this.imagesLoaded(),this.emitEvent("inited"),this.firstRun=!1}},{key:"isPreview",value:function(){return!!this.$item.closest("#vp_preview").length}},{key:"resized",value:function(){u(),this.emitEvent("resized")}},{key:"imagesLoaded",value:function(){var t=this;this.$items_wrap.imagesLoaded&&this.$items_wrap.imagesLoaded((function(){t.emitEvent("imagesLoaded")}))}},{key:"destroy",value:function(){this.$item.removeClass("vp-portfolio__ready"),this.id&&(c(".vp-single-filter.vp-id-".concat(this.id)).removeClass("vp-single-filter__ready"),c(".vp-single-sort.vp-id-".concat(this.id)).removeClass("vp-single-sort__ready")),this.destroyEvents(),this.removeStyle(),this.renderStyle(),this.emitEvent("destroy"),this.destroyed=!0}},{key:"addStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]&&(this.stylesList[o]={}),void 0===this.stylesList[o][e]&&(this.stylesList[o][e]={}),void 0===this.stylesList[o][e][t]&&(this.stylesList[o][e][t]={}),this.stylesList[o][e][t]=c.extend(this.stylesList[o][e][t],i),this.emitEvent("addStyle",[t,i,e,this.stylesList])}},{key:"removeStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]||t||(this.stylesList[o]={}),void 0!==this.stylesList[o]&&void 0!==this.stylesList[o][e]&&void 0!==this.stylesList[o][e][t]&&t&&delete this.stylesList[o][e][t],this.emitEvent("removeStyle",[t,i,this.stylesList])}},{key:"renderStyle",value:function(){var t=this,i=t.uid,e="";t.stylesList||(t.stylesList={}),void 0!==t.stylesList[i]&&Object.keys(t.stylesList[i]).forEach((function(o){o&&(e+="@media ".concat(o," {")),Object.keys(t.stylesList[i][o]).forEach((function(n){e+=".vp-uid-".concat(i," ").concat(n," {"),Object.keys(t.stylesList[i][o][n]).forEach((function(s){e+="".concat(s,":").concat(t.stylesList[i][o][n][s],";")})),e+="}"})),o&&(e+="}")}));var o=c("#vp-style-".concat(i));o.length||(o=c("<style>").attr("id","vp-style-".concat(i)).appendTo("head")),o.html(e),t.emitEvent("renderStyle",[e,t.stylesList,o])}},{key:"firstToLowerCase",value:function(t){return t.substr(0,1).toLowerCase()+t.substr(1)}},{key:"initOptions",value:function(t){var i=this;i.defaults={layout:"tile",itemsGap:0,pagination:"load-more"},t&&(i.userOptions=t);var e=i.$item[0].dataset,o={};Object.keys(e).forEach((function(t){t&&"vp"===t.substring(0,2)&&(o[i.firstToLowerCase(t.substring(2))]=e[t])})),i.options=c.extend({},i.defaults,o,i.userOptions),i.emitEvent("initOptions")}},{key:"initEvents",value:function(){var t,i=this,e=".vpf-uid-".concat(i.uid);function o(){var t=i.$item[0].getBoundingClientRect(),e=t.left,o=window.innerWidth-t.right,n=parseFloat(i.$item.css("margin-left")||0),s=parseFloat(i.$item.css("margin-right")||0);i.$item.css({"margin-left":n-e,"margin-right":s-o})}function n(){var e=i.$item[0].getBoundingClientRect();0<e.bottom&&e.bottom-250<=window.innerHeight&&i.loadNewItems(i.options.nextPageUrl,!1,(function(){clearTimeout(t),t=setTimeout((function(){n()}),300)}))}i.$item.hasClass("vp-portfolio__stretch")&&!i.isPreview()&&(v.on("load".concat(e," resize").concat(e," orientationchange").concat(e),(function(){o()})),o()),i.$item.on("focus".concat(e),".vp-portfolio__item a",(function(){c(this).closest(".vp-portfolio__item").addClass("vp-portfolio__item-focus")})),i.$item.on("blur".concat(e),".vp-portfolio__item a",(function(){c(this).closest(".vp-portfolio__item").removeClass("vp-portfolio__item-focus")})),i.$filter.on("click".concat(e),".vp-filter .vp-filter__item a",(function(t){t.preventDefault();var e=c(this);i.loading||e.closest(".vp-filter__item").addClass("vp-filter__item-active").siblings().removeClass("vp-filter__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$sort.on("click".concat(e),".vp-sort .vp-sort__item a",(function(t){t.preventDefault();var e=c(this);i.loading||e.closest(".vp-sort__item").addClass("vp-sort__item-active").siblings().removeClass("vp-sort__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$filter.add(i.$sort).on("change".concat(e),".vp-filter select, .vp-sort select",(function(){var t=c(this),e=t.val(),o=t.find('[value="'.concat(e,'"]'));o.length&&i.loadNewItems(o.attr("data-vp-url"),!0)})),i.$item.on("click".concat(e),".vp-pagination .vp-pagination__item a",(function(t){t.preventDefault();var e=c(this),o=e.closest(".vp-pagination");if((!o.hasClass("vp-pagination__no-more")||"paged"===i.options.pagination)&&(i.loadNewItems(e.attr("href"),"paged"===i.options.pagination),"paged"===i.options.pagination&&o.hasClass("vp-pagination__scroll-top"))){var n=c("#wpadminbar"),s=window.pageYOffset||document.documentElement.scrollTop,a=i.$item.offset().top;o.attr("data-vp-pagination-scroll-top")&&(a-=parseInt(o.attr("data-vp-pagination-scroll-top"),10)||0),n.length&&"fixed"===n.css("position")&&(a-=n.outerHeight()),s>(a=Math.max(0,a))&&window.scrollTo({top:a,behavior:"smooth"})}})),i.$item.on("click".concat(e),".vp-portfolio__items .vp-portfolio__item-meta-category a",(function(t){t.preventDefault(),t.stopPropagation(),i.loadNewItems(c(this).attr("href"),!0)})),"infinite"===i.options.pagination&&(v.on("load".concat(e," scroll").concat(e," resize").concat(e," orientationchange").concat(e),(function(){clearTimeout(t),t=setTimeout((function(){n()}),60)})),n()),i.$item.on("transitionend".concat(e),".vp-portfolio__items",(function(t){t.currentTarget===t.target&&i.resized()})),i.emitEvent("initEvents")}},{key:"destroyEvents",value:function(){var t=".vpf-uid-".concat(this.uid);this.$item.off(t),this.$filter.off(t),this.$sort.off(t),v.off(t),this.emitEvent("destroyEvents")}},{key:"prepareLazyLoad",value:function(){var t=window.lazySizes&&window.lazySizes.cfg?window.lazySizes.cfg:window.lazySizesConfig;if(t){var i={"data-vpf-src":t.srcAttr,"data-vpf-sizes":t.sizesAttr,"data-vpf-srcset":t.srcsetAttr};this.$items_wrap.add(this.$slider_thumbnails_wrap).find(".visual-portfolio-lazyload:not(.".concat(t.lazyClass,")")).each((function(){var e=c(this);Object.keys(i).forEach((function(t){i[t]&&t!==i[t]&&e.attr(t)&&(e.attr(i[t],e.attr(t)),e.removeAttr(t))})),e.addClass(t.lazyClass)}))}}},{key:"removeNoscriptTags",value:function(t){t.find("noscript").remove()}},{key:"initLayout",value:function(){this.emitEvent("initLayout"),this.renderStyle()}},{key:"initCustomColors",value:function(){var t=this;t.$item.find("[data-vp-bg-color]").each((function(){var i=c(this).attr("data-vp-bg-color");t.addStyle('[data-vp-bg-color="'.concat(i,'"]'),{"background-color":"".concat(i," !important")})})),t.$item.find("[data-vp-text-color]").each((function(){var i=c(this).attr("data-vp-text-color");t.addStyle('[data-vp-text-color="'.concat(i,'"]'),{color:"".concat(i," !important")})})),t.renderStyle(),t.emitEvent("initCustomColors")}},{key:"addItems",value:function(t,i,e){this.removeNoscriptTags(t),this.emitEvent("addItems",[t,i,e])}},{key:"removeItems",value:function(t){this.emitEvent("removeItems",[t])}},{key:"loadNewItems",value:function(t,i,e){var o=this;if(!o.loading&&t&&o.href!==t){var n={method:"POST",url:t,complete:function(n){var s=n.responseText;o.href=t,o.replaceItems(s,i,e)}};o.loading=!0,o.$item.addClass("vp-portfolio__loading"),o.emitEvent("startLoadingNewItems",[t,n]),c.ajax(n)}}},{key:"replaceItems",value:function(t,i,e){if(t){t=t.replace("<body",'<body><div id="vp-infinite-load-body"').replace("</body>","</div></body>");var o=c(t).filter("#vp-infinite-load-body"),n=o.find(".vp-portfolio.vp-uid-".concat(this.uid));if(n.length){var s=n.find(".vp-portfolio__items").html();n.hasClass("vp-portfolio-not-found")?(this.$item.find(".vp-portfolio__items-wrap").before(n.find(".vp-notice").clone()),this.$item.addClass("vp-portfolio-not-found")):(this.$item.find(".vp-notice").remove(),this.$item.removeClass("vp-portfolio-not-found")),this.$filter.length&&this.$filter.each((function(){var t=c(this),i="";i=t.parent().hasClass("vp-single-filter")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-filter__ready",""),'"] .vp-portfolio__filter-wrap')).html():n.find(".vp-portfolio__filter-wrap").html(),t.html(i)})),this.$sort.length&&this.$sort.each((function(){var t=c(this),i="";i=t.parent().hasClass("vp-single-sort")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-sort__ready",""),'"] .vp-portfolio__sort-wrap')).html():n.find(".vp-portfolio__sort-wrap").html(),t.html(i)})),this.$pagination.length&&this.$pagination.html(n.find(".vp-portfolio__pagination-wrap").html()),this.addItems(c(s),i,n),this.emitEvent("loadedNewItems",[n,i,t]),e&&e()}var a=n.attr("data-vp-next-page-url");this.options.nextPageUrl=a,this.$item.attr("data-vp-next-page-url",a),this.$item.removeClass("vp-portfolio__loading"),this.loading=!1,this.emitEvent("endLoadingNewItems"),this.prepareLazyLoad(),this.imagesLoaded(),this.initCustomColors()}}}])&&r(i.prototype,e),o&&r(i,o),t}();c(document).on("lazybeforeunveil",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&(i.closest(".vp-portfolio__item-img").addClass("vp-portfolio__item-img-lazyloading"),i.closest(".vp-portfolio__thumbnail-img").addClass("vp-portfolio__thumbnail-img-lazyloading"))})),c(document).on("lazyloaded",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&(i.closest(".vp-portfolio__item-img-lazyloading").removeClass("vp-portfolio__item-img-lazyloading"),i.closest(".vp-portfolio__thumbnail-img-lazyloading").removeClass("vp-portfolio__thumbnail-img-lazyloading"))})),c(".elementor").length&&c(document).on("init.vpf addItems.vpf",(function(t,i){"vpf"===t.namespace&&i.$item.find(".vp-portfolio__item a").each((function(){/\.(png|jpe?g|gif|svg)(\?.*)?$/i.test(this.href)&&c(this).attr("data-elementor-open-lightbox","no")}))})),c(document).trigger("extendClass.vpf",[_]);var w=function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),o=1;o<i;o++)e[o-1]=arguments[o];var n;return this.each((function(){if(void 0===n)if("object"===a(t)||void 0===t)this.vpf||(this.vpf=new _(c(this),t));else if(this.vpf){var i;n=(i=this.vpf)[t].apply(i,e)}})),void 0!==n?n:this};w.constructor=_;var b=c.fn.vpf;c.fn.vpf=w,c.fn.vpf.noConflict=function(){return c.fn.vpf=b,this},c(".vp-portfolio").vpf(),c((function(){c(".vp-portfolio").vpf()}));var $=Object(o.b)(200,(function(){s()((function(){c(".vp-portfolio:not(.vp-portfolio__ready)").vpf()}))}));window.MutationObserver?new window.MutationObserver($).observe(document.documentElement,{childList:!0,subtree:!0}):c(document).on("DOMContentLoaded DOMNodeInserted load",(function(){$()}))},236:function(t,i,e){(function(i){var e;e="undefined"!=typeof window?window:void 0!==i?i:"undefined"!=typeof self?self:{},t.exports=e}).call(this,e(14))},3:function(t,i,e){"use strict";function o(t,i,e,o){var n,s=!1,a=0;function r(){n&&clearTimeout(n)}function l(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];var p=this,d=Date.now()-a;function v(){a=Date.now(),e.apply(p,c)}function u(){n=void 0}s||(o&&!n&&v(),r(),void 0===o&&d>t?v():!0!==i&&(n=setTimeout(o?u:v,void 0===o?t-d:t)))}return"boolean"!=typeof i&&(o=e,e=i,i=void 0),l.cancel=function(){r(),s=!0},l}function n(t,i,e){return void 0===e?o(t,i,!1):o(t,e,!1!==i)}e.d(i,"a",(function(){return n})),e.d(i,"b",(function(){return o}))}});
|
1 |
+
!function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=234)}({14:function(t,i){function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(t){"object"===("undefined"==typeof window?"undefined":e(window))&&(o=window)}t.exports=o},216:function(t,i,e){var o=e(236),n=o.requestAnimationFrame||o.webkitRequestAnimationFrame||o.mozRequestAnimationFrame||function(t){var i=+new Date,e=Math.max(0,16-(i-s)),o=setTimeout(t,e);return s=i,o},s=+new Date;var a=o.cancelAnimationFrame||o.webkitCancelAnimationFrame||o.mozCancelAnimationFrame||clearTimeout;Function.prototype.bind&&(n=n.bind(o),a=a.bind(o)),(t.exports=n).cancel=a},234:function(t,i,e){t.exports=e(235)},235:function(t,i,e){"use strict";e.r(i);var o=e(3),n=e(216),s=e.n(n);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,i){for(var e=0;e<i.length;e++){var o=i[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var l=window,c=l.jQuery,f=l.VPData,p=l.objectFitImages,d=f.__,v=c(window);function u(){if("function"==typeof window.Event)window.dispatchEvent(new window.Event("resize"));else{var t=window.document.createEvent("UIEvents");t.initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(t)}}void 0!==p&&(p(".vp-portfolio img:not(.visual-portfolio-lazyload)"),c(document).on("lazybeforeunveil",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&i.one("load",(function(){p(i[0])}))})));var m={},h=!1,y=!1;function g(){if(clearTimeout(y),h){var t=c(".vp-portfolio__ready");if(t.length){var i=!1;t.each((function(){var t=this.vpf;if(t){var e=m[t.uid]||"none";m[t.uid]=null===this.offsetParent?"hidden":"visible","hidden"===e&&"visible"===m[t.uid]&&(i=!0)}})),i&&u()}else h=!1;y=setTimeout(g,500)}}c(document).on("inited.vpf",(function(t){"vpf"===t.namespace&&(h=!0,g())}));var _=function(){function t(i,e){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t);this.$item=i;for(var o=i[0].className.split(/\s+/),n=0;n<o.length;n+=1)o[n]&&/^vp-uid-/.test(o[n])&&(this.uid=o[n].replace(/^vp-uid-/,"")),o[n]&&/^vp-id-/.test(o[n])&&(this.id=o[n].replace(/^vp-id-/,""));this.uid?(this.href=window.location.href,this.$items_wrap=i.find(".vp-portfolio__items"),this.$slider_thumbnails_wrap=i.find(".vp-portfolio__thumbnails"),this.$pagination=i.find(".vp-portfolio__pagination-wrap"),this.$filter=i.find(".vp-portfolio__filter-wrap"),this.$sort=i.find(".vp-portfolio__sort-wrap"),this.id&&(this.$filter=this.$filter.add(".vp-single-filter.vp-id-".concat(this.id," .vp-portfolio__filter-wrap"))),this.id&&(this.$sort=this.$sort.add(".vp-single-sort.vp-id-".concat(this.id," .vp-portfolio__sort-wrap"))),this.userOptions=e,this.firstRun=!0,this.init()):console.error(d.couldnt_retrieve_vp)}var i,e,o;return i=t,(e=[{key:"emitEvent",value:function(t,i){i=i?[this].concat(i):[this],this.$item.trigger("".concat(t,".vpf"),i),this.$item.trigger("".concat(t,".vpf-uid-").concat(this.uid),i)}},{key:"init",value:function(){this.firstRun||this.destroy(),this.destroyed=!1,this.removeNoscriptTags(this.$items_wrap),this.initOptions(),this.initEvents(),this.prepareLazyLoad(),this.initLayout(),this.initCustomColors(),this.emitEvent("init"),this.$item.addClass("vp-portfolio__ready"),this.id&&(c(".vp-single-filter.vp-id-".concat(this.id)).addClass("vp-single-filter__ready"),c(".vp-single-sort.vp-id-".concat(this.id)).addClass("vp-single-sort__ready")),this.resized(),this.imagesLoaded(),this.emitEvent("inited"),this.firstRun=!1}},{key:"isPreview",value:function(){return!!this.$item.closest("#vp_preview").length}},{key:"resized",value:function(){u(),this.emitEvent("resized")}},{key:"imagesLoaded",value:function(){var t=this;this.$items_wrap.imagesLoaded&&this.$items_wrap.imagesLoaded((function(){t.emitEvent("imagesLoaded")}))}},{key:"destroy",value:function(){this.$item.removeClass("vp-portfolio__ready"),this.id&&(c(".vp-single-filter.vp-id-".concat(this.id)).removeClass("vp-single-filter__ready"),c(".vp-single-sort.vp-id-".concat(this.id)).removeClass("vp-single-sort__ready")),this.destroyEvents(),this.removeStyle(),this.renderStyle(),this.emitEvent("destroy"),this.destroyed=!0}},{key:"addStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]&&(this.stylesList[o]={}),void 0===this.stylesList[o][e]&&(this.stylesList[o][e]={}),void 0===this.stylesList[o][e][t]&&(this.stylesList[o][e][t]={}),this.stylesList[o][e][t]=c.extend(this.stylesList[o][e][t],i),this.emitEvent("addStyle",[t,i,e,this.stylesList])}},{key:"removeStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]||t||(this.stylesList[o]={}),void 0!==this.stylesList[o]&&void 0!==this.stylesList[o][e]&&void 0!==this.stylesList[o][e][t]&&t&&delete this.stylesList[o][e][t],this.emitEvent("removeStyle",[t,i,this.stylesList])}},{key:"renderStyle",value:function(){var t=this,i=t.uid,e="";t.stylesList||(t.stylesList={}),void 0!==t.stylesList[i]&&Object.keys(t.stylesList[i]).forEach((function(o){o&&(e+="@media ".concat(o," {")),Object.keys(t.stylesList[i][o]).forEach((function(n){e+=".vp-uid-".concat(i," ").concat(n," {"),Object.keys(t.stylesList[i][o][n]).forEach((function(s){e+="".concat(s,":").concat(t.stylesList[i][o][n][s],";")})),e+="}"})),o&&(e+="}")}));var o=c("#vp-style-".concat(i));o.length||(o=c("<style>").attr("id","vp-style-".concat(i)).appendTo("head")),o.html(e),t.emitEvent("renderStyle",[e,t.stylesList,o])}},{key:"firstToLowerCase",value:function(t){return t.substr(0,1).toLowerCase()+t.substr(1)}},{key:"initOptions",value:function(t){var i=this;i.defaults={layout:"tile",itemsGap:0,pagination:"load-more"},t&&(i.userOptions=t);var e=i.$item[0].dataset,o={};Object.keys(e).forEach((function(t){t&&"vp"===t.substring(0,2)&&(o[i.firstToLowerCase(t.substring(2))]=e[t])})),i.options=c.extend({},i.defaults,o,i.userOptions),i.emitEvent("initOptions")}},{key:"initEvents",value:function(){var t,i=this,e=".vpf-uid-".concat(i.uid);function o(){var t=i.$item[0].getBoundingClientRect(),e=t.left,o=window.innerWidth-t.right,n=parseFloat(i.$item.css("margin-left")||0),s=parseFloat(i.$item.css("margin-right")||0);i.$item.css({"margin-left":n-e,"margin-right":s-o})}function n(){var e=i.$item[0].getBoundingClientRect();0<e.bottom&&e.bottom-250<=window.innerHeight&&i.loadNewItems(i.options.nextPageUrl,!1,(function(){clearTimeout(t),t=setTimeout((function(){n()}),300)}))}i.$item.hasClass("vp-portfolio__stretch")&&!i.isPreview()&&(v.on("load".concat(e," resize").concat(e," orientationchange").concat(e),(function(){o()})),o()),i.$item.on("focus".concat(e),".vp-portfolio__item a",(function(){c(this).closest(".vp-portfolio__item").addClass("vp-portfolio__item-focus")})),i.$item.on("blur".concat(e),".vp-portfolio__item a",(function(){c(this).closest(".vp-portfolio__item").removeClass("vp-portfolio__item-focus")})),i.$filter.on("click".concat(e),".vp-filter .vp-filter__item a",(function(t){t.preventDefault();var e=c(this);i.loading||e.closest(".vp-filter__item").addClass("vp-filter__item-active").siblings().removeClass("vp-filter__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$sort.on("click".concat(e),".vp-sort .vp-sort__item a",(function(t){t.preventDefault();var e=c(this);i.loading||e.closest(".vp-sort__item").addClass("vp-sort__item-active").siblings().removeClass("vp-sort__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$filter.add(i.$sort).on("change".concat(e),".vp-filter select, .vp-sort select",(function(){var t=c(this),e=t.val(),o=t.find('[value="'.concat(e,'"]'));o.length&&i.loadNewItems(o.attr("data-vp-url"),!0)})),i.$item.on("click".concat(e),".vp-pagination .vp-pagination__item a",(function(t){t.preventDefault();var e=c(this),o=e.closest(".vp-pagination");if((!o.hasClass("vp-pagination__no-more")||"paged"===i.options.pagination)&&(i.loadNewItems(e.attr("href"),"paged"===i.options.pagination),"paged"===i.options.pagination&&o.hasClass("vp-pagination__scroll-top"))){var n=c("#wpadminbar"),s=window.pageYOffset||document.documentElement.scrollTop,a=i.$item.offset().top;o.attr("data-vp-pagination-scroll-top")&&(a-=parseInt(o.attr("data-vp-pagination-scroll-top"),10)||0),n.length&&"fixed"===n.css("position")&&(a-=n.outerHeight()),s>(a=Math.max(0,a))&&window.scrollTo({top:a,behavior:"smooth"})}})),i.$item.on("click".concat(e),".vp-portfolio__items .vp-portfolio__item-meta-category a",(function(t){t.preventDefault(),t.stopPropagation(),i.loadNewItems(c(this).attr("href"),!0)})),"infinite"===i.options.pagination&&(v.on("load".concat(e," scroll").concat(e," resize").concat(e," orientationchange").concat(e),(function(){clearTimeout(t),t=setTimeout((function(){n()}),60)})),n()),i.$item.on("transitionend".concat(e),".vp-portfolio__items",(function(t){t.currentTarget===t.target&&i.resized()})),i.emitEvent("initEvents")}},{key:"destroyEvents",value:function(){var t=".vpf-uid-".concat(this.uid);this.$item.off(t),this.$filter.off(t),this.$sort.off(t),v.off(t),this.emitEvent("destroyEvents")}},{key:"prepareLazyLoad",value:function(){var t=window.lazySizes&&window.lazySizes.cfg?window.lazySizes.cfg:window.lazySizesConfig;if(t){var i={"data-vpf-src":t.srcAttr,"data-vpf-sizes":t.sizesAttr,"data-vpf-srcset":t.srcsetAttr};this.$items_wrap.add(this.$slider_thumbnails_wrap).find(".visual-portfolio-lazyload:not(.".concat(t.lazyClass,")")).each((function(){var e=c(this);Object.keys(i).forEach((function(t){i[t]&&t!==i[t]&&e.attr(t)&&(e.attr(i[t],e.attr(t)),e.removeAttr(t))})),e.addClass(t.lazyClass)}))}}},{key:"removeNoscriptTags",value:function(t){t.find("noscript").remove()}},{key:"initLayout",value:function(){this.emitEvent("initLayout"),this.renderStyle()}},{key:"initCustomColors",value:function(){var t=this;t.$item.find("[data-vp-bg-color]").each((function(){var i=c(this).attr("data-vp-bg-color");t.addStyle('[data-vp-bg-color="'.concat(i,'"]'),{"background-color":"".concat(i," !important")})})),t.$item.find("[data-vp-text-color]").each((function(){var i=c(this).attr("data-vp-text-color");t.addStyle('[data-vp-text-color="'.concat(i,'"]'),{color:"".concat(i," !important")})})),t.renderStyle(),t.emitEvent("initCustomColors")}},{key:"addItems",value:function(t,i,e){this.removeNoscriptTags(t),this.emitEvent("addItems",[t,i,e])}},{key:"removeItems",value:function(t){this.emitEvent("removeItems",[t])}},{key:"loadNewItems",value:function(t,i,e){var o=this;if(!o.loading&&t&&o.href!==t){var n={method:"POST",url:t,complete:function(n){var s=n.responseText;o.href=t,o.replaceItems(s,i,e)}};o.loading=!0,o.$item.addClass("vp-portfolio__loading"),o.emitEvent("startLoadingNewItems",[t,n]),c.ajax(n)}}},{key:"replaceItems",value:function(t,i,e){if(t){t=t.replace("<body",'<body><div id="vp-infinite-load-body"').replace("</body>","</div></body>");var o=c(t).filter("#vp-infinite-load-body"),n=o.find(".vp-portfolio.vp-uid-".concat(this.uid));if(n.length){var s=n.find(".vp-portfolio__items").html();n.hasClass("vp-portfolio-not-found")?(this.$item.find(".vp-portfolio__items-wrap").before(n.find(".vp-notice").clone()),this.$item.addClass("vp-portfolio-not-found")):(this.$item.find(".vp-notice").remove(),this.$item.removeClass("vp-portfolio-not-found")),this.$filter.length&&this.$filter.each((function(){var t=c(this),i="";i=t.parent().hasClass("vp-single-filter")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-filter__ready",""),'"] .vp-portfolio__filter-wrap')).html():n.find(".vp-portfolio__filter-wrap").html(),t.html(i)})),this.$sort.length&&this.$sort.each((function(){var t=c(this),i="";i=t.parent().hasClass("vp-single-sort")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-sort__ready",""),'"] .vp-portfolio__sort-wrap')).html():n.find(".vp-portfolio__sort-wrap").html(),t.html(i)})),this.$pagination.length&&this.$pagination.html(n.find(".vp-portfolio__pagination-wrap").html()),this.addItems(c(s),i,n),this.emitEvent("loadedNewItems",[n,i,t]),e&&e()}var a=n.attr("data-vp-next-page-url");this.options.nextPageUrl=a,this.$item.attr("data-vp-next-page-url",a),this.$item.removeClass("vp-portfolio__loading"),this.loading=!1,this.emitEvent("endLoadingNewItems"),this.prepareLazyLoad(),this.imagesLoaded(),this.initCustomColors()}}}])&&r(i.prototype,e),o&&r(i,o),t}();c(document).on("lazybeforeunveil",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&(i.closest(".vp-portfolio__item-img").addClass("vp-portfolio__item-img-lazyloading"),i.closest(".vp-portfolio__thumbnail-img").addClass("vp-portfolio__thumbnail-img-lazyloading"))})),c(document).on("lazyloaded",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&(i.closest(".vp-portfolio__item-img-lazyloading").removeClass("vp-portfolio__item-img-lazyloading"),i.closest(".vp-portfolio__thumbnail-img-lazyloading").removeClass("vp-portfolio__thumbnail-img-lazyloading"))})),c(".elementor").length&&c(document).on("init.vpf addItems.vpf",(function(t,i){"vpf"===t.namespace&&i.$item.find(".vp-portfolio__item a").each((function(){/\.(png|jpe?g|gif|svg)(\?.*)?$/i.test(this.href)&&c(this).attr("data-elementor-open-lightbox","no")}))})),c(document).trigger("extendClass.vpf",[_]);var w=function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),o=1;o<i;o++)e[o-1]=arguments[o];var n;return this.each((function(){if(void 0===n)if("object"===a(t)||void 0===t)this.vpf||(this.vpf=new _(c(this),t));else if(this.vpf){var i;n=(i=this.vpf)[t].apply(i,e)}})),void 0!==n?n:this};w.constructor=_;var b=c.fn.vpf;c.fn.vpf=w,c.fn.vpf.noConflict=function(){return c.fn.vpf=b,this},c(".vp-portfolio").vpf(),c((function(){c(".vp-portfolio").vpf()}));var $=Object(o.throttle)(200,(function(){s()((function(){c(".vp-portfolio:not(.vp-portfolio__ready)").vpf()}))}));window.MutationObserver?new window.MutationObserver($).observe(document.documentElement,{childList:!0,subtree:!0}):c(document).on("DOMContentLoaded DOMNodeInserted load",(function(){$()}))},236:function(t,i,e){(function(i){var e;e="undefined"!=typeof window?window:void 0!==i?i:"undefined"!=typeof self?self:{},t.exports=e}).call(this,e(14))},3:function(t,i,e){var o,n,s,a;function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}a=function(t){"use strict";function i(t,i,e,o){var n,s=!1,a=0;function r(){n&&clearTimeout(n)}function l(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];var p=this,d=Date.now()-a;function v(){a=Date.now(),e.apply(p,c)}function u(){n=void 0}s||(o&&!n&&v(),r(),void 0===o&&d>t?v():!0!==i&&(n=setTimeout(o?u:v,void 0===o?t-d:t)))}return"boolean"!=typeof i&&(o=e,e=i,i=void 0),l.cancel=function(){r(),s=!0},l}t.debounce=function(t,e,o){return void 0===o?i(t,e,!1):i(t,o,!1!==e)},t.throttle=i,Object.defineProperty(t,"__esModule",{value:!0})},"object"===r(i)&&void 0!==t?a(i):(n=[i],void 0===(s="function"==typeof(o=a)?o.apply(i,n):o)||(t.exports=s))}});
|
assets/js/plugin-isotope.js
CHANGED
@@ -21,12 +21,12 @@ $doc.on( 'extendClass.vpf', ( event, VP ) => {
|
|
21 |
VP.prototype.initIsotope = function( options ) {
|
22 |
const self = this;
|
23 |
|
24 |
-
if ( self.$items_wrap.isotope && ( 'tiles'
|
25 |
const isRtl = 'rtl' === getComputedStyle( self.$items_wrap[ 0 ] ).direction;
|
26 |
|
27 |
const initOptions = options || {
|
28 |
itemSelector: '.vp-portfolio__item-wrap',
|
29 |
-
layoutMode: '
|
30 |
// masonry: {
|
31 |
// horizontalOrder: true
|
32 |
// },
|
21 |
VP.prototype.initIsotope = function( options ) {
|
22 |
const self = this;
|
23 |
|
24 |
+
if ( self.$items_wrap.isotope && ( [ 'tiles', 'masonry', 'grid' ].includes( self.options.layout ) ) ) {
|
25 |
const isRtl = 'rtl' === getComputedStyle( self.$items_wrap[ 0 ] ).direction;
|
26 |
|
27 |
const initOptions = options || {
|
28 |
itemSelector: '.vp-portfolio__item-wrap',
|
29 |
+
layoutMode: 'masonry',
|
30 |
// masonry: {
|
31 |
// horizontalOrder: true
|
32 |
// },
|
assets/js/plugin-isotope.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var e={};function o(
|
1 |
+
!function(t){var e={};function o(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)o.d(n,i,function(e){return t[e]}.bind(null,i));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=243)}({243:function(t,e,o){t.exports=o(244)},244:function(t,e,o){"use strict";o.r(e);var n=o(3),i=window.jQuery,r=i(document);r.on("extendClass.vpf",(function(t,e){"vpf"===t.namespace&&(e.prototype.initIsotope=function(t){if(this.$items_wrap.isotope&&["tiles","masonry","grid"].includes(this.options.layout)){var e="rtl"===getComputedStyle(this.$items_wrap[0]).direction,o=t||{itemSelector:".vp-portfolio__item-wrap",layoutMode:"masonry",transitionDuration:"0.3s",percentPosition:!0,originLeft:!e};this.emitEvent("beforeInitIsotope",[o]),this.$items_wrap.isotope(o),this.emitEvent("initIsotope",[o])}},e.prototype.destroyIsotope=function(){this.$items_wrap.data("isotope")&&(this.$items_wrap.isotope("destroy"),this.emitEvent("destroyIsotope"))})})),r.on("addItems.vpf",(function(t,e,o,n){if("vpf"===t.namespace&&e.$items_wrap.data("isotope")){if(n){var i=e.$items_wrap.find(".vp-portfolio__item-wrap");e.$items_wrap.isotope("remove",i),e.$items_wrap.prepend(o).isotope("prepended",o)}else e.$items_wrap.append(o).isotope("appended",o);setTimeout((function(){e.initIsotope("layout")}),0)}})),r.on("removeItems.vpf",(function(t,e,o){"vpf"===t.namespace&&(e.$items_wrap.data("isotope")&&e.$items_wrap.isotope("remove",o))})),r.on("init.vpf",(function(t,e){"vpf"===t.namespace&&e.initIsotope()})),r.on("imagesLoaded.vpf",(function(t,e){"vpf"===t.namespace&&e.initIsotope("layout")})),r.on("destroy.vpf",(function(t,e){"vpf"===t.namespace&&e.destroyIsotope()})),r.on("vc-full-width-row",Object(n.debounce)(150,(function(t,e){i(e).find(".vp-portfolio").each((function(){this.vpf&&this.vpf.initIsotope&&(this.vpf.$items_wrap.data("isotope")&&this.vpf.initIsotope("layout"))}))})))},3:function(t,e,o){var n,i,r,p;function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}p=function(t){"use strict";function e(t,e,o,n){var i,r=!1,p=0;function s(){i&&clearTimeout(i)}function f(){for(var f=arguments.length,u=new Array(f),a=0;a<f;a++)u[a]=arguments[a];var c=this,d=Date.now()-p;function l(){p=Date.now(),o.apply(c,u)}function m(){i=void 0}r||(n&&!i&&l(),s(),void 0===n&&d>t?l():!0!==e&&(i=setTimeout(n?m:l,void 0===n?t-d:t)))}return"boolean"!=typeof e&&(n=o,o=e,e=void 0),f.cancel=function(){s(),r=!0},f}t.debounce=function(t,o,n){return void 0===n?e(t,o,!1):e(t,n,!1!==o)},t.throttle=e,Object.defineProperty(t,"__esModule",{value:!0})},"object"===s(e)&&void 0!==t?p(e):(i=[e],void 0===(r="function"==typeof(n=p)?n.apply(e,i):n)||(t.exports=r))}});
|
assets/js/preview.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
-
* Version : 2.6.
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const $ = window.jQuery;
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
+
* Version : 2.6.2
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const $ = window.jQuery;
|
assets/vendor/fancybox/{jquery.fancybox.min.css → dist/jquery.fancybox.min.css}
RENAMED
File without changes
|
assets/vendor/fancybox/{jquery.fancybox.min.js → dist/jquery.fancybox.min.js}
RENAMED
File without changes
|
assets/vendor/flickr-justified-gallery/{fjGallery.css → dist/fjGallery.css}
RENAMED
File without changes
|
assets/vendor/flickr-justified-gallery/{fjGallery.min.js → dist/fjGallery.min.js}
RENAMED
File without changes
|
assets/vendor/flickr-justified-gallery/{fjGallery.min.js.map → dist/fjGallery.min.js.map}
RENAMED
File without changes
|
assets/vendor/flickr-justified-gallery/fjGallery.js
DELETED
@@ -1,1450 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Name : Flickr's Justified Gallery [fjGallery]
|
3 |
-
* Version : 1.0.3
|
4 |
-
* Author : nK <https://nkdev.info>
|
5 |
-
* GitHub : https://github.com/nk-o/flickr-justified-gallery
|
6 |
-
*/
|
7 |
-
/******/ (function(modules) { // webpackBootstrap
|
8 |
-
/******/ // The module cache
|
9 |
-
/******/ var installedModules = {};
|
10 |
-
/******/
|
11 |
-
/******/ // The require function
|
12 |
-
/******/ function __webpack_require__(moduleId) {
|
13 |
-
/******/
|
14 |
-
/******/ // Check if module is in cache
|
15 |
-
/******/ if(installedModules[moduleId]) {
|
16 |
-
/******/ return installedModules[moduleId].exports;
|
17 |
-
/******/ }
|
18 |
-
/******/ // Create a new module (and put it into the cache)
|
19 |
-
/******/ var module = installedModules[moduleId] = {
|
20 |
-
/******/ i: moduleId,
|
21 |
-
/******/ l: false,
|
22 |
-
/******/ exports: {}
|
23 |
-
/******/ };
|
24 |
-
/******/
|
25 |
-
/******/ // Execute the module function
|
26 |
-
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
27 |
-
/******/
|
28 |
-
/******/ // Flag the module as loaded
|
29 |
-
/******/ module.l = true;
|
30 |
-
/******/
|
31 |
-
/******/ // Return the exports of the module
|
32 |
-
/******/ return module.exports;
|
33 |
-
/******/ }
|
34 |
-
/******/
|
35 |
-
/******/
|
36 |
-
/******/ // expose the modules object (__webpack_modules__)
|
37 |
-
/******/ __webpack_require__.m = modules;
|
38 |
-
/******/
|
39 |
-
/******/ // expose the module cache
|
40 |
-
/******/ __webpack_require__.c = installedModules;
|
41 |
-
/******/
|
42 |
-
/******/ // define getter function for harmony exports
|
43 |
-
/******/ __webpack_require__.d = function(exports, name, getter) {
|
44 |
-
/******/ if(!__webpack_require__.o(exports, name)) {
|
45 |
-
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
46 |
-
/******/ }
|
47 |
-
/******/ };
|
48 |
-
/******/
|
49 |
-
/******/ // define __esModule on exports
|
50 |
-
/******/ __webpack_require__.r = function(exports) {
|
51 |
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
52 |
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
53 |
-
/******/ }
|
54 |
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
55 |
-
/******/ };
|
56 |
-
/******/
|
57 |
-
/******/ // create a fake namespace object
|
58 |
-
/******/ // mode & 1: value is a module id, require it
|
59 |
-
/******/ // mode & 2: merge all properties of value into the ns
|
60 |
-
/******/ // mode & 4: return value when already ns object
|
61 |
-
/******/ // mode & 8|1: behave like require
|
62 |
-
/******/ __webpack_require__.t = function(value, mode) {
|
63 |
-
/******/ if(mode & 1) value = __webpack_require__(value);
|
64 |
-
/******/ if(mode & 8) return value;
|
65 |
-
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
66 |
-
/******/ var ns = Object.create(null);
|
67 |
-
/******/ __webpack_require__.r(ns);
|
68 |
-
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
69 |
-
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
70 |
-
/******/ return ns;
|
71 |
-
/******/ };
|
72 |
-
/******/
|
73 |
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
74 |
-
/******/ __webpack_require__.n = function(module) {
|
75 |
-
/******/ var getter = module && module.__esModule ?
|
76 |
-
/******/ function getDefault() { return module['default']; } :
|
77 |
-
/******/ function getModuleExports() { return module; };
|
78 |
-
/******/ __webpack_require__.d(getter, 'a', getter);
|
79 |
-
/******/ return getter;
|
80 |
-
/******/ };
|
81 |
-
/******/
|
82 |
-
/******/ // Object.prototype.hasOwnProperty.call
|
83 |
-
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
84 |
-
/******/
|
85 |
-
/******/ // __webpack_public_path__
|
86 |
-
/******/ __webpack_require__.p = "";
|
87 |
-
/******/
|
88 |
-
/******/
|
89 |
-
/******/ // Load entry module and return exports
|
90 |
-
/******/ return __webpack_require__(__webpack_require__.s = 0);
|
91 |
-
/******/ })
|
92 |
-
/************************************************************************/
|
93 |
-
/******/ ([
|
94 |
-
/* 0 */
|
95 |
-
/***/ (function(module, exports, __webpack_require__) {
|
96 |
-
|
97 |
-
module.exports = __webpack_require__(1);
|
98 |
-
|
99 |
-
|
100 |
-
/***/ }),
|
101 |
-
/* 1 */
|
102 |
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
103 |
-
|
104 |
-
"use strict";
|
105 |
-
__webpack_require__.r(__webpack_exports__);
|
106 |
-
/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
|
107 |
-
/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_0__);
|
108 |
-
/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
|
109 |
-
/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__);
|
110 |
-
/* harmony import */ var _fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
|
111 |
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
// no conflict
|
116 |
-
|
117 |
-
var oldPlugin = global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery;
|
118 |
-
global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery = _fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__["default"];
|
119 |
-
|
120 |
-
global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.noConflict = function () {
|
121 |
-
global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery = oldPlugin;
|
122 |
-
return this;
|
123 |
-
}; // jQuery support
|
124 |
-
|
125 |
-
|
126 |
-
if (typeof global__WEBPACK_IMPORTED_MODULE_1__["jQuery"] !== 'undefined') {
|
127 |
-
// add data to jQuery .data('fjGallery')
|
128 |
-
var oldInit = global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.constructor.prototype.init;
|
129 |
-
|
130 |
-
global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.constructor.prototype.init = function () {
|
131 |
-
this.jQcontainer = Object(global__WEBPACK_IMPORTED_MODULE_1__["jQuery"])(this.$container);
|
132 |
-
this.jQcontainer.data('fjGallery', this);
|
133 |
-
|
134 |
-
if (oldInit) {
|
135 |
-
oldInit.call(this);
|
136 |
-
}
|
137 |
-
}; // remove data from jQuery .data('fjGallery')
|
138 |
-
|
139 |
-
|
140 |
-
var oldDestroy = global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.constructor.prototype.destroy;
|
141 |
-
|
142 |
-
global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.constructor.prototype.destroy = function () {
|
143 |
-
if (this.jQcontainer) {
|
144 |
-
this.jQcontainer.removeData('fjGallery');
|
145 |
-
}
|
146 |
-
|
147 |
-
if (oldDestroy) {
|
148 |
-
oldDestroy.call(this);
|
149 |
-
}
|
150 |
-
};
|
151 |
-
|
152 |
-
var jQueryPlugin = function jQueryPlugin() {
|
153 |
-
var args = arguments || [];
|
154 |
-
Array.prototype.unshift.call(args, this);
|
155 |
-
var res = _fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__["default"].apply(global__WEBPACK_IMPORTED_MODULE_1__["window"], args);
|
156 |
-
return _typeof(res) !== 'object' ? res : this;
|
157 |
-
};
|
158 |
-
|
159 |
-
jQueryPlugin.constructor = _fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__["default"].constructor; // no conflict
|
160 |
-
|
161 |
-
var oldJqPlugin = global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.fjGallery;
|
162 |
-
global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.fjGallery = jQueryPlugin;
|
163 |
-
|
164 |
-
global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.fjGallery.noConflict = function () {
|
165 |
-
global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.fjGallery = oldJqPlugin;
|
166 |
-
return this;
|
167 |
-
};
|
168 |
-
} // .fj-gallery initialization
|
169 |
-
|
170 |
-
|
171 |
-
lite_ready__WEBPACK_IMPORTED_MODULE_0___default()(function () {
|
172 |
-
Object(_fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__["default"])(document.querySelectorAll('.fj-gallery'));
|
173 |
-
});
|
174 |
-
|
175 |
-
/***/ }),
|
176 |
-
/* 2 */
|
177 |
-
/***/ (function(module, exports) {
|
178 |
-
|
179 |
-
module.exports = function (callback) {
|
180 |
-
if (document.readyState === 'complete' || document.readyState === 'interactive') {
|
181 |
-
// Already ready or interactive, execute callback
|
182 |
-
callback.call();
|
183 |
-
} else if (document.attachEvent) {
|
184 |
-
// Old browsers
|
185 |
-
document.attachEvent('onreadystatechange', function () {
|
186 |
-
if (document.readyState === 'interactive') callback.call();
|
187 |
-
});
|
188 |
-
} else if (document.addEventListener) {
|
189 |
-
// Modern browsers
|
190 |
-
document.addEventListener('DOMContentLoaded', callback);
|
191 |
-
}
|
192 |
-
};
|
193 |
-
|
194 |
-
/***/ }),
|
195 |
-
/* 3 */
|
196 |
-
/***/ (function(module, exports, __webpack_require__) {
|
197 |
-
|
198 |
-
/* WEBPACK VAR INJECTION */(function(global) {var win;
|
199 |
-
|
200 |
-
if (typeof window !== "undefined") {
|
201 |
-
win = window;
|
202 |
-
} else if (typeof global !== "undefined") {
|
203 |
-
win = global;
|
204 |
-
} else if (typeof self !== "undefined") {
|
205 |
-
win = self;
|
206 |
-
} else {
|
207 |
-
win = {};
|
208 |
-
}
|
209 |
-
|
210 |
-
module.exports = win;
|
211 |
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4)))
|
212 |
-
|
213 |
-
/***/ }),
|
214 |
-
/* 4 */
|
215 |
-
/***/ (function(module, exports) {
|
216 |
-
|
217 |
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
218 |
-
|
219 |
-
var g; // This works in non-strict mode
|
220 |
-
|
221 |
-
g = function () {
|
222 |
-
return this;
|
223 |
-
}();
|
224 |
-
|
225 |
-
try {
|
226 |
-
// This works if eval is allowed (see CSP)
|
227 |
-
g = g || new Function("return this")();
|
228 |
-
} catch (e) {
|
229 |
-
// This works if the window reference is available
|
230 |
-
if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") g = window;
|
231 |
-
} // g can still be undefined, but nothing to do about it...
|
232 |
-
// We return undefined, instead of nothing here, so it's
|
233 |
-
// easier to handle this case. if(!global) { ...}
|
234 |
-
|
235 |
-
|
236 |
-
module.exports = g;
|
237 |
-
|
238 |
-
/***/ }),
|
239 |
-
/* 5 */
|
240 |
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
241 |
-
|
242 |
-
"use strict";
|
243 |
-
__webpack_require__.r(__webpack_exports__);
|
244 |
-
/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);
|
245 |
-
/* harmony import */ var merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
|
246 |
-
/* harmony import */ var merge__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(merge__WEBPACK_IMPORTED_MODULE_1__);
|
247 |
-
/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
|
248 |
-
/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_2__);
|
249 |
-
/* harmony import */ var justified_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9);
|
250 |
-
/* harmony import */ var justified_layout__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(justified_layout__WEBPACK_IMPORTED_MODULE_3__);
|
251 |
-
/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3);
|
252 |
-
/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_4__);
|
253 |
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
254 |
-
|
255 |
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
256 |
-
|
257 |
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
258 |
-
|
259 |
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
// list with all fjGallery instances
|
266 |
-
// need to render all in one scroll/resize event
|
267 |
-
|
268 |
-
var fjGalleryList = [];
|
269 |
-
|
270 |
-
function updateFjGallery() {
|
271 |
-
global__WEBPACK_IMPORTED_MODULE_4__["window"].requestAnimationFrame(function () {
|
272 |
-
fjGalleryList.forEach(function (item) {
|
273 |
-
item.resize();
|
274 |
-
});
|
275 |
-
});
|
276 |
-
}
|
277 |
-
|
278 |
-
global__WEBPACK_IMPORTED_MODULE_4__["window"].addEventListener('resize', updateFjGallery);
|
279 |
-
global__WEBPACK_IMPORTED_MODULE_4__["window"].addEventListener('orientationchange', updateFjGallery);
|
280 |
-
global__WEBPACK_IMPORTED_MODULE_4__["window"].addEventListener('load', updateFjGallery);
|
281 |
-
lite_ready__WEBPACK_IMPORTED_MODULE_2___default()(function () {
|
282 |
-
updateFjGallery();
|
283 |
-
}); // get image dimensions
|
284 |
-
// thanks https://gist.github.com/dimsemenov/5382856
|
285 |
-
|
286 |
-
function getImgDimensions(img, cb) {
|
287 |
-
var interval;
|
288 |
-
var hasSize = false;
|
289 |
-
var addedListeners = false;
|
290 |
-
|
291 |
-
var onHasSize = function onHasSize() {
|
292 |
-
if (hasSize) {
|
293 |
-
cb(hasSize);
|
294 |
-
return;
|
295 |
-
}
|
296 |
-
|
297 |
-
hasSize = {
|
298 |
-
width: img.naturalWidth,
|
299 |
-
height: img.naturalHeight
|
300 |
-
};
|
301 |
-
cb(hasSize);
|
302 |
-
clearInterval(interval);
|
303 |
-
|
304 |
-
if (addedListeners) {
|
305 |
-
// eslint-disable-next-line no-use-before-define
|
306 |
-
removeListeners();
|
307 |
-
}
|
308 |
-
};
|
309 |
-
|
310 |
-
var onLoaded = function onLoaded() {
|
311 |
-
onHasSize();
|
312 |
-
};
|
313 |
-
|
314 |
-
var onError = function onError() {
|
315 |
-
onHasSize();
|
316 |
-
};
|
317 |
-
|
318 |
-
var checkSize = function checkSize() {
|
319 |
-
if (img.naturalWidth > 0) {
|
320 |
-
onHasSize();
|
321 |
-
}
|
322 |
-
};
|
323 |
-
|
324 |
-
var addListeners = function addListeners() {
|
325 |
-
addedListeners = true;
|
326 |
-
img.addEventListener('load', onLoaded);
|
327 |
-
img.addEventListener('error', onError);
|
328 |
-
};
|
329 |
-
|
330 |
-
var removeListeners = function removeListeners() {
|
331 |
-
addedListeners = false;
|
332 |
-
img.removeEventListener('load', onLoaded);
|
333 |
-
img.removeEventListener('error', onError);
|
334 |
-
};
|
335 |
-
|
336 |
-
checkSize();
|
337 |
-
|
338 |
-
if (!hasSize) {
|
339 |
-
addListeners();
|
340 |
-
interval = setInterval(checkSize, 100);
|
341 |
-
}
|
342 |
-
}
|
343 |
-
|
344 |
-
var instanceID = 0; // fjGallery class
|
345 |
-
|
346 |
-
var fjGallery = /*#__PURE__*/function () {
|
347 |
-
function fjGallery(container, userOptions) {
|
348 |
-
_classCallCheck(this, fjGallery);
|
349 |
-
|
350 |
-
var self = this;
|
351 |
-
self.instanceID = instanceID++;
|
352 |
-
self.$container = container;
|
353 |
-
self.images = [];
|
354 |
-
self.defaults = {
|
355 |
-
itemSelector: '.fj-gallery-item',
|
356 |
-
imageSelector: 'img',
|
357 |
-
gutter: 10,
|
358 |
-
// supports object like `{ horizontal: 10, vertical: 10 }`.
|
359 |
-
rowHeight: 320,
|
360 |
-
rowHeightTolerance: 0.25,
|
361 |
-
// [0, 1]
|
362 |
-
resizeThrottle: 200,
|
363 |
-
isRtl: self.css(self.$container, 'direction') === 'rtl',
|
364 |
-
// events
|
365 |
-
onInit: null,
|
366 |
-
// function() {}
|
367 |
-
onDestroy: null,
|
368 |
-
// function() {}
|
369 |
-
onAppendImages: null,
|
370 |
-
// function() {}
|
371 |
-
onBeforeJustify: null,
|
372 |
-
// function() {}
|
373 |
-
onJustify: null // function() {}
|
374 |
-
|
375 |
-
}; // prepare data-options
|
376 |
-
|
377 |
-
var dataOptions = self.$container.dataset || {};
|
378 |
-
var pureDataOptions = {};
|
379 |
-
Object.keys(dataOptions).forEach(function (key) {
|
380 |
-
var loweCaseOption = key.substr(0, 1).toLowerCase() + key.substr(1);
|
381 |
-
|
382 |
-
if (loweCaseOption && typeof self.defaults[loweCaseOption] !== 'undefined') {
|
383 |
-
pureDataOptions[loweCaseOption] = dataOptions[key];
|
384 |
-
}
|
385 |
-
});
|
386 |
-
self.options = merge__WEBPACK_IMPORTED_MODULE_1___default()({}, self.defaults, pureDataOptions, userOptions);
|
387 |
-
self.pureOptions = merge__WEBPACK_IMPORTED_MODULE_1___default()({}, self.options); // throttle for resize
|
388 |
-
|
389 |
-
self.resize = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_0__["throttle"])(self.options.resizeThrottle, self.resize);
|
390 |
-
self.init();
|
391 |
-
} // add styles to element
|
392 |
-
|
393 |
-
|
394 |
-
_createClass(fjGallery, [{
|
395 |
-
key: "css",
|
396 |
-
value: function css(el, styles) {
|
397 |
-
if (typeof styles === 'string') {
|
398 |
-
return global__WEBPACK_IMPORTED_MODULE_4__["window"].getComputedStyle(el).getPropertyValue(styles);
|
399 |
-
} // add transform property with vendor prefix
|
400 |
-
|
401 |
-
|
402 |
-
if (styles.transform) {
|
403 |
-
styles['-webkit-transform'] = styles.transform;
|
404 |
-
}
|
405 |
-
|
406 |
-
Object.keys(styles).forEach(function (key) {
|
407 |
-
el.style[key] = styles[key];
|
408 |
-
});
|
409 |
-
return el;
|
410 |
-
} // add to fjGallery instances list
|
411 |
-
|
412 |
-
}, {
|
413 |
-
key: "addToFjGalleryList",
|
414 |
-
value: function addToFjGalleryList() {
|
415 |
-
fjGalleryList.push(this);
|
416 |
-
updateFjGallery();
|
417 |
-
} // remove from fjGallery instances list
|
418 |
-
|
419 |
-
}, {
|
420 |
-
key: "removeFromFjGalleryList",
|
421 |
-
value: function removeFromFjGalleryList() {
|
422 |
-
var self = this;
|
423 |
-
fjGalleryList.forEach(function (item, key) {
|
424 |
-
if (item.instanceID === self.instanceID) {
|
425 |
-
fjGalleryList.splice(key, 1);
|
426 |
-
}
|
427 |
-
});
|
428 |
-
}
|
429 |
-
}, {
|
430 |
-
key: "init",
|
431 |
-
value: function init() {
|
432 |
-
var self = this;
|
433 |
-
self.appendImages(self.$container.querySelectorAll(self.options.itemSelector));
|
434 |
-
self.addToFjGalleryList(); // call onInit event
|
435 |
-
|
436 |
-
if (self.options.onInit) {
|
437 |
-
self.options.onInit.call(self);
|
438 |
-
}
|
439 |
-
} // append images
|
440 |
-
|
441 |
-
}, {
|
442 |
-
key: "appendImages",
|
443 |
-
value: function appendImages($images) {
|
444 |
-
var self = this; // check if jQuery
|
445 |
-
|
446 |
-
if (global__WEBPACK_IMPORTED_MODULE_4__["window"].jQuery && $images instanceof global__WEBPACK_IMPORTED_MODULE_4__["window"].jQuery) {
|
447 |
-
$images = $images.get();
|
448 |
-
}
|
449 |
-
|
450 |
-
if (!$images || !$images.length) {
|
451 |
-
return;
|
452 |
-
}
|
453 |
-
|
454 |
-
$images.forEach(function ($item) {
|
455 |
-
// if $images is jQuery, for some reason in this array there is undefined item, that not a DOM,
|
456 |
-
// so we need to check for $item.querySelector.
|
457 |
-
if ($item && !$item.fjGalleryImage && $item.querySelector) {
|
458 |
-
var $image = $item.querySelector(self.options.imageSelector);
|
459 |
-
|
460 |
-
if ($image) {
|
461 |
-
$item.fjGalleryImage = self;
|
462 |
-
var data = {
|
463 |
-
$item: $item,
|
464 |
-
$image: $image,
|
465 |
-
width: parseFloat($image.getAttribute('width')) || false,
|
466 |
-
height: parseFloat($image.getAttribute('height')) || false,
|
467 |
-
loadSizes: function loadSizes() {
|
468 |
-
var itemData = this;
|
469 |
-
getImgDimensions($image, function (dimensions) {
|
470 |
-
if (itemData.width !== dimensions.width || itemData.height !== dimensions.height) {
|
471 |
-
itemData.width = dimensions.width;
|
472 |
-
itemData.height = dimensions.height;
|
473 |
-
self.resize();
|
474 |
-
}
|
475 |
-
});
|
476 |
-
}
|
477 |
-
};
|
478 |
-
data.loadSizes();
|
479 |
-
self.images.push(data);
|
480 |
-
}
|
481 |
-
}
|
482 |
-
}); // call onAppendImages event
|
483 |
-
|
484 |
-
if (self.options.onAppendImages) {
|
485 |
-
self.options.onAppendImages.call(self, [$images]);
|
486 |
-
}
|
487 |
-
|
488 |
-
self.justify();
|
489 |
-
} // justify images
|
490 |
-
|
491 |
-
}, {
|
492 |
-
key: "justify",
|
493 |
-
value: function justify() {
|
494 |
-
var self = this;
|
495 |
-
var justifyArray = []; // call onBeforeJustify event
|
496 |
-
|
497 |
-
if (self.options.onBeforeJustify) {
|
498 |
-
self.options.onBeforeJustify.call(self);
|
499 |
-
}
|
500 |
-
|
501 |
-
self.images.forEach(function (data) {
|
502 |
-
if (data.width && data.height) {
|
503 |
-
justifyArray.push(data.width / data.height);
|
504 |
-
}
|
505 |
-
});
|
506 |
-
var justifiedData = justified_layout__WEBPACK_IMPORTED_MODULE_3___default()(justifyArray, {
|
507 |
-
containerWidth: self.$container.getBoundingClientRect().width,
|
508 |
-
containerPadding: {
|
509 |
-
top: parseFloat(self.css(self.$container, 'padding-top')) || 0,
|
510 |
-
right: parseFloat(self.css(self.$container, 'padding-right')) || 0,
|
511 |
-
bottom: parseFloat(self.css(self.$container, 'padding-bottom')) || 0,
|
512 |
-
left: parseFloat(self.css(self.$container, 'padding-left')) || 0
|
513 |
-
},
|
514 |
-
boxSpacing: self.options.gutter,
|
515 |
-
targetRowHeight: self.options.rowHeight,
|
516 |
-
targetRowHeightTolerance: self.options.rowHeightTolerance
|
517 |
-
});
|
518 |
-
self.css(self.$container, {
|
519 |
-
height: "".concat(justifiedData.containerHeight, "px")
|
520 |
-
});
|
521 |
-
var i = 0;
|
522 |
-
self.images.forEach(function (data) {
|
523 |
-
if (data.width && data.height) {
|
524 |
-
self.css(data.$item, {
|
525 |
-
position: 'absolute',
|
526 |
-
transform: "translateX(".concat((self.options.isRtl ? -1 : 1) * justifiedData.boxes[i].left, "px) translateY(").concat(justifiedData.boxes[i].top, "px) translateZ(0)"),
|
527 |
-
width: "".concat(justifiedData.boxes[i].width, "px"),
|
528 |
-
height: "".concat(justifiedData.boxes[i].height, "px")
|
529 |
-
});
|
530 |
-
i++;
|
531 |
-
}
|
532 |
-
}); // call onJustify event
|
533 |
-
|
534 |
-
if (self.options.onJustify) {
|
535 |
-
self.options.onJustify.call(self);
|
536 |
-
}
|
537 |
-
} // update options and resize gallery items
|
538 |
-
|
539 |
-
}, {
|
540 |
-
key: "updateOptions",
|
541 |
-
value: function updateOptions(options) {
|
542 |
-
var self = this;
|
543 |
-
self.options = merge__WEBPACK_IMPORTED_MODULE_1___default()({}, self.options, options);
|
544 |
-
self.justify();
|
545 |
-
}
|
546 |
-
}, {
|
547 |
-
key: "destroy",
|
548 |
-
value: function destroy() {
|
549 |
-
var self = this;
|
550 |
-
self.removeFromFjGalleryList(); // call onDestroy event
|
551 |
-
|
552 |
-
if (self.options.onDestroy) {
|
553 |
-
self.options.onDestroy.call(self);
|
554 |
-
} // remove styles.
|
555 |
-
|
556 |
-
|
557 |
-
self.css(self.$container, {
|
558 |
-
height: ''
|
559 |
-
});
|
560 |
-
self.images.forEach(function (data) {
|
561 |
-
self.css(data.$item, {
|
562 |
-
position: '',
|
563 |
-
transform: '',
|
564 |
-
width: '',
|
565 |
-
height: ''
|
566 |
-
});
|
567 |
-
}); // delete fjGalleryImage instance from images
|
568 |
-
|
569 |
-
self.images.forEach(function (val) {
|
570 |
-
delete val.$item.fjGalleryImage;
|
571 |
-
}); // delete fjGallery instance from container
|
572 |
-
|
573 |
-
delete self.$container.fjGallery;
|
574 |
-
}
|
575 |
-
}, {
|
576 |
-
key: "resize",
|
577 |
-
value: function resize() {
|
578 |
-
var self = this;
|
579 |
-
self.justify();
|
580 |
-
}
|
581 |
-
}]);
|
582 |
-
|
583 |
-
return fjGallery;
|
584 |
-
}(); // global definition
|
585 |
-
|
586 |
-
|
587 |
-
var plugin = function plugin(items) {
|
588 |
-
// check for dom element
|
589 |
-
// thanks: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object
|
590 |
-
if ((typeof HTMLElement === "undefined" ? "undefined" : _typeof(HTMLElement)) === 'object' ? items instanceof HTMLElement : items && _typeof(items) === 'object' && items !== null && items.nodeType === 1 && typeof items.nodeName === 'string') {
|
591 |
-
items = [items];
|
592 |
-
}
|
593 |
-
|
594 |
-
var options = arguments[1];
|
595 |
-
var args = Array.prototype.slice.call(arguments, 2);
|
596 |
-
var len = items.length;
|
597 |
-
var k = 0;
|
598 |
-
var ret;
|
599 |
-
|
600 |
-
for (k; k < len; k++) {
|
601 |
-
if (_typeof(options) === 'object' || typeof options === 'undefined') {
|
602 |
-
if (!items[k].fjGallery) {
|
603 |
-
// eslint-disable-next-line new-cap
|
604 |
-
items[k].fjGallery = new fjGallery(items[k], options);
|
605 |
-
}
|
606 |
-
} else if (items[k].fjGallery) {
|
607 |
-
// eslint-disable-next-line prefer-spread
|
608 |
-
ret = items[k].fjGallery[options].apply(items[k].fjGallery, args);
|
609 |
-
}
|
610 |
-
|
611 |
-
if (typeof ret !== 'undefined') {
|
612 |
-
return ret;
|
613 |
-
}
|
614 |
-
}
|
615 |
-
|
616 |
-
return items;
|
617 |
-
};
|
618 |
-
|
619 |
-
plugin.constructor = fjGallery;
|
620 |
-
/* harmony default export */ __webpack_exports__["default"] = (plugin);
|
621 |
-
|
622 |
-
/***/ }),
|
623 |
-
/* 6 */
|
624 |
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
625 |
-
|
626 |
-
"use strict";
|
627 |
-
__webpack_require__.r(__webpack_exports__);
|
628 |
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return debounce; });
|
629 |
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return throttle; });
|
630 |
-
/* eslint-disable no-undefined,no-param-reassign,no-shadow */
|
631 |
-
|
632 |
-
/**
|
633 |
-
* Throttle execution of a function. Especially useful for rate limiting
|
634 |
-
* execution of handlers on events like resize and scroll.
|
635 |
-
*
|
636 |
-
* @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
|
637 |
-
* @param {boolean} [noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the
|
638 |
-
* throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time
|
639 |
-
* after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,
|
640 |
-
* the internal counter is reset).
|
641 |
-
* @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
|
642 |
-
* to `callback` when the throttled-function is executed.
|
643 |
-
* @param {boolean} [debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),
|
644 |
-
* schedule `callback` to execute after `delay` ms.
|
645 |
-
*
|
646 |
-
* @returns {Function} A new, throttled, function.
|
647 |
-
*/
|
648 |
-
function throttle(delay, noTrailing, callback, debounceMode) {
|
649 |
-
/*
|
650 |
-
* After wrapper has stopped being called, this timeout ensures that
|
651 |
-
* `callback` is executed at the proper times in `throttle` and `end`
|
652 |
-
* debounce modes.
|
653 |
-
*/
|
654 |
-
var timeoutID;
|
655 |
-
var cancelled = false; // Keep track of the last time `callback` was executed.
|
656 |
-
|
657 |
-
var lastExec = 0; // Function to clear existing timeout
|
658 |
-
|
659 |
-
function clearExistingTimeout() {
|
660 |
-
if (timeoutID) {
|
661 |
-
clearTimeout(timeoutID);
|
662 |
-
}
|
663 |
-
} // Function to cancel next exec
|
664 |
-
|
665 |
-
|
666 |
-
function cancel() {
|
667 |
-
clearExistingTimeout();
|
668 |
-
cancelled = true;
|
669 |
-
} // `noTrailing` defaults to falsy.
|
670 |
-
|
671 |
-
|
672 |
-
if (typeof noTrailing !== 'boolean') {
|
673 |
-
debounceMode = callback;
|
674 |
-
callback = noTrailing;
|
675 |
-
noTrailing = undefined;
|
676 |
-
}
|
677 |
-
/*
|
678 |
-
* The `wrapper` function encapsulates all of the throttling / debouncing
|
679 |
-
* functionality and when executed will limit the rate at which `callback`
|
680 |
-
* is executed.
|
681 |
-
*/
|
682 |
-
|
683 |
-
|
684 |
-
function wrapper() {
|
685 |
-
for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
|
686 |
-
arguments_[_key] = arguments[_key];
|
687 |
-
}
|
688 |
-
|
689 |
-
var self = this;
|
690 |
-
var elapsed = Date.now() - lastExec;
|
691 |
-
|
692 |
-
if (cancelled) {
|
693 |
-
return;
|
694 |
-
} // Execute `callback` and update the `lastExec` timestamp.
|
695 |
-
|
696 |
-
|
697 |
-
function exec() {
|
698 |
-
lastExec = Date.now();
|
699 |
-
callback.apply(self, arguments_);
|
700 |
-
}
|
701 |
-
/*
|
702 |
-
* If `debounceMode` is true (at begin) this is used to clear the flag
|
703 |
-
* to allow future `callback` executions.
|
704 |
-
*/
|
705 |
-
|
706 |
-
|
707 |
-
function clear() {
|
708 |
-
timeoutID = undefined;
|
709 |
-
}
|
710 |
-
|
711 |
-
if (debounceMode && !timeoutID) {
|
712 |
-
/*
|
713 |
-
* Since `wrapper` is being called for the first time and
|
714 |
-
* `debounceMode` is true (at begin), execute `callback`.
|
715 |
-
*/
|
716 |
-
exec();
|
717 |
-
}
|
718 |
-
|
719 |
-
clearExistingTimeout();
|
720 |
-
|
721 |
-
if (debounceMode === undefined && elapsed > delay) {
|
722 |
-
/*
|
723 |
-
* In throttle mode, if `delay` time has been exceeded, execute
|
724 |
-
* `callback`.
|
725 |
-
*/
|
726 |
-
exec();
|
727 |
-
} else if (noTrailing !== true) {
|
728 |
-
/*
|
729 |
-
* In trailing throttle mode, since `delay` time has not been
|
730 |
-
* exceeded, schedule `callback` to execute `delay` ms after most
|
731 |
-
* recent execution.
|
732 |
-
*
|
733 |
-
* If `debounceMode` is true (at begin), schedule `clear` to execute
|
734 |
-
* after `delay` ms.
|
735 |
-
*
|
736 |
-
* If `debounceMode` is false (at end), schedule `callback` to
|
737 |
-
* execute after `delay` ms.
|
738 |
-
*/
|
739 |
-
timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
|
740 |
-
}
|
741 |
-
}
|
742 |
-
|
743 |
-
wrapper.cancel = cancel; // Return the wrapper function.
|
744 |
-
|
745 |
-
return wrapper;
|
746 |
-
}
|
747 |
-
/* eslint-disable no-undefined */
|
748 |
-
|
749 |
-
/**
|
750 |
-
* Debounce execution of a function. Debouncing, unlike throttling,
|
751 |
-
* guarantees that a function is only executed a single time, either at the
|
752 |
-
* very beginning of a series of calls, or at the very end.
|
753 |
-
*
|
754 |
-
* @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
|
755 |
-
* @param {boolean} [atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds
|
756 |
-
* after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.
|
757 |
-
* (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).
|
758 |
-
* @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
|
759 |
-
* to `callback` when the debounced-function is executed.
|
760 |
-
*
|
761 |
-
* @returns {Function} A new, debounced function.
|
762 |
-
*/
|
763 |
-
|
764 |
-
|
765 |
-
function debounce(delay, atBegin, callback) {
|
766 |
-
return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);
|
767 |
-
}
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
/***/ }),
|
772 |
-
/* 7 */
|
773 |
-
/***/ (function(module, exports, __webpack_require__) {
|
774 |
-
|
775 |
-
/* WEBPACK VAR INJECTION */(function(module) {function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
776 |
-
|
777 |
-
/*!
|
778 |
-
* @name JavaScript/NodeJS Merge v1.2.1
|
779 |
-
* @author yeikos
|
780 |
-
* @repository https://github.com/yeikos/js.merge
|
781 |
-
|
782 |
-
* Copyright 2014 yeikos - MIT license
|
783 |
-
* https://raw.github.com/yeikos/js.merge/master/LICENSE
|
784 |
-
*/
|
785 |
-
;
|
786 |
-
|
787 |
-
(function (isNode) {
|
788 |
-
/**
|
789 |
-
* Merge one or more objects
|
790 |
-
* @param bool? clone
|
791 |
-
* @param mixed,... arguments
|
792 |
-
* @return object
|
793 |
-
*/
|
794 |
-
var Public = function Public(clone) {
|
795 |
-
return merge(clone === true, false, arguments);
|
796 |
-
},
|
797 |
-
publicName = 'merge';
|
798 |
-
/**
|
799 |
-
* Merge two or more objects recursively
|
800 |
-
* @param bool? clone
|
801 |
-
* @param mixed,... arguments
|
802 |
-
* @return object
|
803 |
-
*/
|
804 |
-
|
805 |
-
|
806 |
-
Public.recursive = function (clone) {
|
807 |
-
return merge(clone === true, true, arguments);
|
808 |
-
};
|
809 |
-
/**
|
810 |
-
* Clone the input removing any reference
|
811 |
-
* @param mixed input
|
812 |
-
* @return mixed
|
813 |
-
*/
|
814 |
-
|
815 |
-
|
816 |
-
Public.clone = function (input) {
|
817 |
-
var output = input,
|
818 |
-
type = typeOf(input),
|
819 |
-
index,
|
820 |
-
size;
|
821 |
-
|
822 |
-
if (type === 'array') {
|
823 |
-
output = [];
|
824 |
-
size = input.length;
|
825 |
-
|
826 |
-
for (index = 0; index < size; ++index) {
|
827 |
-
output[index] = Public.clone(input[index]);
|
828 |
-
}
|
829 |
-
} else if (type === 'object') {
|
830 |
-
output = {};
|
831 |
-
|
832 |
-
for (index in input) {
|
833 |
-
output[index] = Public.clone(input[index]);
|
834 |
-
}
|
835 |
-
}
|
836 |
-
|
837 |
-
return output;
|
838 |
-
};
|
839 |
-
/**
|
840 |
-
* Merge two objects recursively
|
841 |
-
* @param mixed input
|
842 |
-
* @param mixed extend
|
843 |
-
* @return mixed
|
844 |
-
*/
|
845 |
-
|
846 |
-
|
847 |
-
function merge_recursive(base, extend) {
|
848 |
-
if (typeOf(base) !== 'object') return extend;
|
849 |
-
|
850 |
-
for (var key in extend) {
|
851 |
-
if (typeOf(base[key]) === 'object' && typeOf(extend[key]) === 'object') {
|
852 |
-
base[key] = merge_recursive(base[key], extend[key]);
|
853 |
-
} else {
|
854 |
-
base[key] = extend[key];
|
855 |
-
}
|
856 |
-
}
|
857 |
-
|
858 |
-
return base;
|
859 |
-
}
|
860 |
-
/**
|
861 |
-
* Merge two or more objects
|
862 |
-
* @param bool clone
|
863 |
-
* @param bool recursive
|
864 |
-
* @param array argv
|
865 |
-
* @return object
|
866 |
-
*/
|
867 |
-
|
868 |
-
|
869 |
-
function merge(clone, recursive, argv) {
|
870 |
-
var result = argv[0],
|
871 |
-
size = argv.length;
|
872 |
-
if (clone || typeOf(result) !== 'object') result = {};
|
873 |
-
|
874 |
-
for (var index = 0; index < size; ++index) {
|
875 |
-
var item = argv[index],
|
876 |
-
type = typeOf(item);
|
877 |
-
if (type !== 'object') continue;
|
878 |
-
|
879 |
-
for (var key in item) {
|
880 |
-
if (key === '__proto__') continue;
|
881 |
-
var sitem = clone ? Public.clone(item[key]) : item[key];
|
882 |
-
|
883 |
-
if (recursive) {
|
884 |
-
result[key] = merge_recursive(result[key], sitem);
|
885 |
-
} else {
|
886 |
-
result[key] = sitem;
|
887 |
-
}
|
888 |
-
}
|
889 |
-
}
|
890 |
-
|
891 |
-
return result;
|
892 |
-
}
|
893 |
-
/**
|
894 |
-
* Get type of variable
|
895 |
-
* @param mixed input
|
896 |
-
* @return string
|
897 |
-
*
|
898 |
-
* @see http://jsperf.com/typeofvar
|
899 |
-
*/
|
900 |
-
|
901 |
-
|
902 |
-
function typeOf(input) {
|
903 |
-
return {}.toString.call(input).slice(8, -1).toLowerCase();
|
904 |
-
}
|
905 |
-
|
906 |
-
if (isNode) {
|
907 |
-
module.exports = Public;
|
908 |
-
} else {
|
909 |
-
window[publicName] = Public;
|
910 |
-
}
|
911 |
-
})(( false ? undefined : _typeof(module)) === 'object' && module && _typeof(module.exports) === 'object' && module.exports);
|
912 |
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(8)(module)))
|
913 |
-
|
914 |
-
/***/ }),
|
915 |
-
/* 8 */
|
916 |
-
/***/ (function(module, exports) {
|
917 |
-
|
918 |
-
module.exports = function (module) {
|
919 |
-
if (!module.webpackPolyfill) {
|
920 |
-
module.deprecate = function () {};
|
921 |
-
|
922 |
-
module.paths = []; // module.parent = undefined by default
|
923 |
-
|
924 |
-
if (!module.children) module.children = [];
|
925 |
-
Object.defineProperty(module, "loaded", {
|
926 |
-
enumerable: true,
|
927 |
-
get: function get() {
|
928 |
-
return module.l;
|
929 |
-
}
|
930 |
-
});
|
931 |
-
Object.defineProperty(module, "id", {
|
932 |
-
enumerable: true,
|
933 |
-
get: function get() {
|
934 |
-
return module.i;
|
935 |
-
}
|
936 |
-
});
|
937 |
-
module.webpackPolyfill = 1;
|
938 |
-
}
|
939 |
-
|
940 |
-
return module;
|
941 |
-
};
|
942 |
-
|
943 |
-
/***/ }),
|
944 |
-
/* 9 */
|
945 |
-
/***/ (function(module, exports, __webpack_require__) {
|
946 |
-
|
947 |
-
"use strict";
|
948 |
-
/*!
|
949 |
-
* Copyright 2019 SmugMug, Inc.
|
950 |
-
* Licensed under the terms of the MIT license. Please see LICENSE file in the project root for terms.
|
951 |
-
* @license
|
952 |
-
*/
|
953 |
-
|
954 |
-
|
955 |
-
var merge = __webpack_require__(7),
|
956 |
-
Row = __webpack_require__(10);
|
957 |
-
/**
|
958 |
-
* Create a new, empty row.
|
959 |
-
*
|
960 |
-
* @method createNewRow
|
961 |
-
* @param layoutConfig {Object} The layout configuration
|
962 |
-
* @param layoutData {Object} The current state of the layout
|
963 |
-
* @return A new, empty row of the type specified by this layout.
|
964 |
-
*/
|
965 |
-
|
966 |
-
|
967 |
-
function createNewRow(layoutConfig, layoutData) {
|
968 |
-
var isBreakoutRow; // Work out if this is a full width breakout row
|
969 |
-
|
970 |
-
if (layoutConfig.fullWidthBreakoutRowCadence !== false) {
|
971 |
-
if ((layoutData._rows.length + 1) % layoutConfig.fullWidthBreakoutRowCadence === 0) {
|
972 |
-
isBreakoutRow = true;
|
973 |
-
}
|
974 |
-
}
|
975 |
-
|
976 |
-
return new Row({
|
977 |
-
top: layoutData._containerHeight,
|
978 |
-
left: layoutConfig.containerPadding.left,
|
979 |
-
width: layoutConfig.containerWidth - layoutConfig.containerPadding.left - layoutConfig.containerPadding.right,
|
980 |
-
spacing: layoutConfig.boxSpacing.horizontal,
|
981 |
-
targetRowHeight: layoutConfig.targetRowHeight,
|
982 |
-
targetRowHeightTolerance: layoutConfig.targetRowHeightTolerance,
|
983 |
-
edgeCaseMinRowHeight: 0.5 * layoutConfig.targetRowHeight,
|
984 |
-
edgeCaseMaxRowHeight: 2 * layoutConfig.targetRowHeight,
|
985 |
-
rightToLeft: false,
|
986 |
-
isBreakoutRow: isBreakoutRow,
|
987 |
-
widowLayoutStyle: layoutConfig.widowLayoutStyle
|
988 |
-
});
|
989 |
-
}
|
990 |
-
/**
|
991 |
-
* Add a completed row to the layout.
|
992 |
-
* Note: the row must have already been completed.
|
993 |
-
*
|
994 |
-
* @method addRow
|
995 |
-
* @param layoutConfig {Object} The layout configuration
|
996 |
-
* @param layoutData {Object} The current state of the layout
|
997 |
-
* @param row {Row} The row to add.
|
998 |
-
* @return {Array} Each item added to the row.
|
999 |
-
*/
|
1000 |
-
|
1001 |
-
|
1002 |
-
function addRow(layoutConfig, layoutData, row) {
|
1003 |
-
layoutData._rows.push(row);
|
1004 |
-
|
1005 |
-
layoutData._layoutItems = layoutData._layoutItems.concat(row.getItems()); // Increment the container height
|
1006 |
-
|
1007 |
-
layoutData._containerHeight += row.height + layoutConfig.boxSpacing.vertical;
|
1008 |
-
return row.items;
|
1009 |
-
}
|
1010 |
-
/**
|
1011 |
-
* Calculate the current layout for all items in the list that require layout.
|
1012 |
-
* "Layout" means geometry: position within container and size
|
1013 |
-
*
|
1014 |
-
* @method computeLayout
|
1015 |
-
* @param layoutConfig {Object} The layout configuration
|
1016 |
-
* @param layoutData {Object} The current state of the layout
|
1017 |
-
* @param itemLayoutData {Array} Array of items to lay out, with data required to lay out each item
|
1018 |
-
* @return {Object} The newly-calculated layout, containing the new container height, and lists of layout items
|
1019 |
-
*/
|
1020 |
-
|
1021 |
-
|
1022 |
-
function computeLayout(layoutConfig, layoutData, itemLayoutData) {
|
1023 |
-
var laidOutItems = [],
|
1024 |
-
itemAdded,
|
1025 |
-
currentRow,
|
1026 |
-
nextToLastRowHeight; // Apply forced aspect ratio if specified, and set a flag.
|
1027 |
-
|
1028 |
-
if (layoutConfig.forceAspectRatio) {
|
1029 |
-
itemLayoutData.forEach(function (itemData) {
|
1030 |
-
itemData.forcedAspectRatio = true;
|
1031 |
-
itemData.aspectRatio = layoutConfig.forceAspectRatio;
|
1032 |
-
});
|
1033 |
-
} // Loop through the items
|
1034 |
-
|
1035 |
-
|
1036 |
-
itemLayoutData.some(function (itemData, i) {
|
1037 |
-
if (isNaN(itemData.aspectRatio)) {
|
1038 |
-
throw new Error("Item " + i + " has an invalid aspect ratio");
|
1039 |
-
} // If not currently building up a row, make a new one.
|
1040 |
-
|
1041 |
-
|
1042 |
-
if (!currentRow) {
|
1043 |
-
currentRow = createNewRow(layoutConfig, layoutData);
|
1044 |
-
} // Attempt to add item to the current row.
|
1045 |
-
|
1046 |
-
|
1047 |
-
itemAdded = currentRow.addItem(itemData);
|
1048 |
-
|
1049 |
-
if (currentRow.isLayoutComplete()) {
|
1050 |
-
// Row is filled; add it and start a new one
|
1051 |
-
laidOutItems = laidOutItems.concat(addRow(layoutConfig, layoutData, currentRow));
|
1052 |
-
|
1053 |
-
if (layoutData._rows.length >= layoutConfig.maxNumRows) {
|
1054 |
-
currentRow = null;
|
1055 |
-
return true;
|
1056 |
-
}
|
1057 |
-
|
1058 |
-
currentRow = createNewRow(layoutConfig, layoutData); // Item was rejected; add it to its own row
|
1059 |
-
|
1060 |
-
if (!itemAdded) {
|
1061 |
-
itemAdded = currentRow.addItem(itemData);
|
1062 |
-
|
1063 |
-
if (currentRow.isLayoutComplete()) {
|
1064 |
-
// If the rejected item fills a row on its own, add the row and start another new one
|
1065 |
-
laidOutItems = laidOutItems.concat(addRow(layoutConfig, layoutData, currentRow));
|
1066 |
-
|
1067 |
-
if (layoutData._rows.length >= layoutConfig.maxNumRows) {
|
1068 |
-
currentRow = null;
|
1069 |
-
return true;
|
1070 |
-
}
|
1071 |
-
|
1072 |
-
currentRow = createNewRow(layoutConfig, layoutData);
|
1073 |
-
}
|
1074 |
-
}
|
1075 |
-
}
|
1076 |
-
}); // Handle any leftover content (orphans) depending on where they lie
|
1077 |
-
// in this layout update, and in the total content set.
|
1078 |
-
|
1079 |
-
if (currentRow && currentRow.getItems().length && layoutConfig.showWidows) {
|
1080 |
-
// Last page of all content or orphan suppression is suppressed; lay out orphans.
|
1081 |
-
if (layoutData._rows.length) {
|
1082 |
-
// Only Match previous row's height if it exists and it isn't a breakout row
|
1083 |
-
if (layoutData._rows[layoutData._rows.length - 1].isBreakoutRow) {
|
1084 |
-
nextToLastRowHeight = layoutData._rows[layoutData._rows.length - 1].targetRowHeight;
|
1085 |
-
} else {
|
1086 |
-
nextToLastRowHeight = layoutData._rows[layoutData._rows.length - 1].height;
|
1087 |
-
}
|
1088 |
-
|
1089 |
-
currentRow.forceComplete(false, nextToLastRowHeight);
|
1090 |
-
} else {
|
1091 |
-
// ...else use target height if there is no other row height to reference.
|
1092 |
-
currentRow.forceComplete(false);
|
1093 |
-
}
|
1094 |
-
|
1095 |
-
laidOutItems = laidOutItems.concat(addRow(layoutConfig, layoutData, currentRow));
|
1096 |
-
layoutConfig._widowCount = currentRow.getItems().length;
|
1097 |
-
} // We need to clean up the bottom container padding
|
1098 |
-
// First remove the height added for box spacing
|
1099 |
-
|
1100 |
-
|
1101 |
-
layoutData._containerHeight = layoutData._containerHeight - layoutConfig.boxSpacing.vertical; // Then add our bottom container padding
|
1102 |
-
|
1103 |
-
layoutData._containerHeight = layoutData._containerHeight + layoutConfig.containerPadding.bottom;
|
1104 |
-
return {
|
1105 |
-
containerHeight: layoutData._containerHeight,
|
1106 |
-
widowCount: layoutConfig._widowCount,
|
1107 |
-
boxes: layoutData._layoutItems
|
1108 |
-
};
|
1109 |
-
}
|
1110 |
-
/**
|
1111 |
-
* Takes in a bunch of box data and config. Returns
|
1112 |
-
* geometry to lay them out in a justified view.
|
1113 |
-
*
|
1114 |
-
* @method covertSizesToAspectRatios
|
1115 |
-
* @param sizes {Array} Array of objects with widths and heights
|
1116 |
-
* @return {Array} A list of aspect ratios
|
1117 |
-
*/
|
1118 |
-
|
1119 |
-
|
1120 |
-
module.exports = function (input, config) {
|
1121 |
-
var layoutConfig = {};
|
1122 |
-
var layoutData = {}; // Defaults
|
1123 |
-
|
1124 |
-
var defaults = {
|
1125 |
-
containerWidth: 1060,
|
1126 |
-
containerPadding: 10,
|
1127 |
-
boxSpacing: 10,
|
1128 |
-
targetRowHeight: 320,
|
1129 |
-
targetRowHeightTolerance: 0.25,
|
1130 |
-
maxNumRows: Number.POSITIVE_INFINITY,
|
1131 |
-
forceAspectRatio: false,
|
1132 |
-
showWidows: true,
|
1133 |
-
fullWidthBreakoutRowCadence: false,
|
1134 |
-
widowLayoutStyle: 'left'
|
1135 |
-
};
|
1136 |
-
var containerPadding = {};
|
1137 |
-
var boxSpacing = {};
|
1138 |
-
config = config || {}; // Merge defaults and config passed in
|
1139 |
-
|
1140 |
-
layoutConfig = merge(defaults, config); // Sort out padding and spacing values
|
1141 |
-
|
1142 |
-
containerPadding.top = !isNaN(parseFloat(layoutConfig.containerPadding.top)) ? layoutConfig.containerPadding.top : layoutConfig.containerPadding;
|
1143 |
-
containerPadding.right = !isNaN(parseFloat(layoutConfig.containerPadding.right)) ? layoutConfig.containerPadding.right : layoutConfig.containerPadding;
|
1144 |
-
containerPadding.bottom = !isNaN(parseFloat(layoutConfig.containerPadding.bottom)) ? layoutConfig.containerPadding.bottom : layoutConfig.containerPadding;
|
1145 |
-
containerPadding.left = !isNaN(parseFloat(layoutConfig.containerPadding.left)) ? layoutConfig.containerPadding.left : layoutConfig.containerPadding;
|
1146 |
-
boxSpacing.horizontal = !isNaN(parseFloat(layoutConfig.boxSpacing.horizontal)) ? layoutConfig.boxSpacing.horizontal : layoutConfig.boxSpacing;
|
1147 |
-
boxSpacing.vertical = !isNaN(parseFloat(layoutConfig.boxSpacing.vertical)) ? layoutConfig.boxSpacing.vertical : layoutConfig.boxSpacing;
|
1148 |
-
layoutConfig.containerPadding = containerPadding;
|
1149 |
-
layoutConfig.boxSpacing = boxSpacing; // Local
|
1150 |
-
|
1151 |
-
layoutData._layoutItems = [];
|
1152 |
-
layoutData._awakeItems = [];
|
1153 |
-
layoutData._inViewportItems = [];
|
1154 |
-
layoutData._leadingOrphans = [];
|
1155 |
-
layoutData._trailingOrphans = [];
|
1156 |
-
layoutData._containerHeight = layoutConfig.containerPadding.top;
|
1157 |
-
layoutData._rows = [];
|
1158 |
-
layoutData._orphans = [];
|
1159 |
-
layoutConfig._widowCount = 0; // Convert widths and heights to aspect ratios if we need to
|
1160 |
-
|
1161 |
-
return computeLayout(layoutConfig, layoutData, input.map(function (item) {
|
1162 |
-
if (item.width && item.height) {
|
1163 |
-
return {
|
1164 |
-
aspectRatio: item.width / item.height
|
1165 |
-
};
|
1166 |
-
} else {
|
1167 |
-
return {
|
1168 |
-
aspectRatio: item
|
1169 |
-
};
|
1170 |
-
}
|
1171 |
-
}));
|
1172 |
-
};
|
1173 |
-
|
1174 |
-
/***/ }),
|
1175 |
-
/* 10 */
|
1176 |
-
/***/ (function(module, exports, __webpack_require__) {
|
1177 |
-
|
1178 |
-
/*!
|
1179 |
-
* Copyright 2019 SmugMug, Inc.
|
1180 |
-
* Licensed under the terms of the MIT license. Please see LICENSE file in the project root for terms.
|
1181 |
-
* @license
|
1182 |
-
*/
|
1183 |
-
var merge = __webpack_require__(7);
|
1184 |
-
/**
|
1185 |
-
* Row
|
1186 |
-
* Wrapper for each row in a justified layout.
|
1187 |
-
* Stores relevant values and provides methods for calculating layout of individual rows.
|
1188 |
-
*
|
1189 |
-
* @param {Object} layoutConfig - The same as that passed
|
1190 |
-
* @param {Object} Initialization parameters. The following are all required:
|
1191 |
-
* @param params.top {Number} Top of row, relative to container
|
1192 |
-
* @param params.left {Number} Left side of row relative to container (equal to container left padding)
|
1193 |
-
* @param params.width {Number} Width of row, not including container padding
|
1194 |
-
* @param params.spacing {Number} Horizontal spacing between items
|
1195 |
-
* @param params.targetRowHeight {Number} Layout algorithm will aim for this row height
|
1196 |
-
* @param params.targetRowHeightTolerance {Number} Row heights may vary +/- (`targetRowHeight` x `targetRowHeightTolerance`)
|
1197 |
-
* @param params.edgeCaseMinRowHeight {Number} Absolute minimum row height for edge cases that cannot be resolved within tolerance.
|
1198 |
-
* @param params.edgeCaseMaxRowHeight {Number} Absolute maximum row height for edge cases that cannot be resolved within tolerance.
|
1199 |
-
* @param params.isBreakoutRow {Boolean} Is this row in particular one of those breakout rows? Always false if it's not that kind of photo list
|
1200 |
-
* @param params.widowLayoutStyle {String} If widows are visible, how should they be laid out?
|
1201 |
-
* @constructor
|
1202 |
-
*/
|
1203 |
-
|
1204 |
-
|
1205 |
-
var Row = module.exports = function (params) {
|
1206 |
-
// Top of row, relative to container
|
1207 |
-
this.top = params.top; // Left side of row relative to container (equal to container left padding)
|
1208 |
-
|
1209 |
-
this.left = params.left; // Width of row, not including container padding
|
1210 |
-
|
1211 |
-
this.width = params.width; // Horizontal spacing between items
|
1212 |
-
|
1213 |
-
this.spacing = params.spacing; // Row height calculation values
|
1214 |
-
|
1215 |
-
this.targetRowHeight = params.targetRowHeight;
|
1216 |
-
this.targetRowHeightTolerance = params.targetRowHeightTolerance;
|
1217 |
-
this.minAspectRatio = this.width / params.targetRowHeight * (1 - params.targetRowHeightTolerance);
|
1218 |
-
this.maxAspectRatio = this.width / params.targetRowHeight * (1 + params.targetRowHeightTolerance); // Edge case row height minimum/maximum
|
1219 |
-
|
1220 |
-
this.edgeCaseMinRowHeight = params.edgeCaseMinRowHeight;
|
1221 |
-
this.edgeCaseMaxRowHeight = params.edgeCaseMaxRowHeight; // Widow layout direction
|
1222 |
-
|
1223 |
-
this.widowLayoutStyle = params.widowLayoutStyle; // Full width breakout rows
|
1224 |
-
|
1225 |
-
this.isBreakoutRow = params.isBreakoutRow; // Store layout data for each item in row
|
1226 |
-
|
1227 |
-
this.items = []; // Height remains at 0 until it's been calculated
|
1228 |
-
|
1229 |
-
this.height = 0;
|
1230 |
-
};
|
1231 |
-
|
1232 |
-
Row.prototype = {
|
1233 |
-
/**
|
1234 |
-
* Attempt to add a single item to the row.
|
1235 |
-
* This is the heart of the justified algorithm.
|
1236 |
-
* This method is direction-agnostic; it deals only with sizes, not positions.
|
1237 |
-
*
|
1238 |
-
* If the item fits in the row, without pushing row height beyond min/max tolerance,
|
1239 |
-
* the item is added and the method returns true.
|
1240 |
-
*
|
1241 |
-
* If the item leaves row height too high, there may be room to scale it down and add another item.
|
1242 |
-
* In this case, the item is added and the method returns true, but the row is incomplete.
|
1243 |
-
*
|
1244 |
-
* If the item leaves row height too short, there are too many items to fit within tolerance.
|
1245 |
-
* The method will either accept or reject the new item, favoring the resulting row height closest to within tolerance.
|
1246 |
-
* If the item is rejected, left/right padding will be required to fit the row height within tolerance;
|
1247 |
-
* if the item is accepted, top/bottom cropping will be required to fit the row height within tolerance.
|
1248 |
-
*
|
1249 |
-
* @method addItem
|
1250 |
-
* @param itemData {Object} Item layout data, containing item aspect ratio.
|
1251 |
-
* @return {Boolean} True if successfully added; false if rejected.
|
1252 |
-
*/
|
1253 |
-
addItem: function addItem(itemData) {
|
1254 |
-
var newItems = this.items.concat(itemData),
|
1255 |
-
// Calculate aspect ratios for items only; exclude spacing
|
1256 |
-
rowWidthWithoutSpacing = this.width - (newItems.length - 1) * this.spacing,
|
1257 |
-
newAspectRatio = newItems.reduce(function (sum, item) {
|
1258 |
-
return sum + item.aspectRatio;
|
1259 |
-
}, 0),
|
1260 |
-
targetAspectRatio = rowWidthWithoutSpacing / this.targetRowHeight,
|
1261 |
-
previousRowWidthWithoutSpacing,
|
1262 |
-
previousAspectRatio,
|
1263 |
-
previousTargetAspectRatio; // Handle big full-width breakout photos if we're doing them
|
1264 |
-
|
1265 |
-
if (this.isBreakoutRow) {
|
1266 |
-
// Only do it if there's no other items in this row
|
1267 |
-
if (this.items.length === 0) {
|
1268 |
-
// Only go full width if this photo is a square or landscape
|
1269 |
-
if (itemData.aspectRatio >= 1) {
|
1270 |
-
// Close out the row with a full width photo
|
1271 |
-
this.items.push(itemData);
|
1272 |
-
this.completeLayout(rowWidthWithoutSpacing / itemData.aspectRatio, 'justify');
|
1273 |
-
return true;
|
1274 |
-
}
|
1275 |
-
}
|
1276 |
-
}
|
1277 |
-
|
1278 |
-
if (newAspectRatio < this.minAspectRatio) {
|
1279 |
-
// New aspect ratio is too narrow / scaled row height is too tall.
|
1280 |
-
// Accept this item and leave row open for more items.
|
1281 |
-
this.items.push(merge(itemData));
|
1282 |
-
return true;
|
1283 |
-
} else if (newAspectRatio > this.maxAspectRatio) {
|
1284 |
-
// New aspect ratio is too wide / scaled row height will be too short.
|
1285 |
-
// Accept item if the resulting aspect ratio is closer to target than it would be without the item.
|
1286 |
-
// NOTE: Any row that falls into this block will require cropping/padding on individual items.
|
1287 |
-
if (this.items.length === 0) {
|
1288 |
-
// When there are no existing items, force acceptance of the new item and complete the layout.
|
1289 |
-
// This is the pano special case.
|
1290 |
-
this.items.push(merge(itemData));
|
1291 |
-
this.completeLayout(rowWidthWithoutSpacing / newAspectRatio, 'justify');
|
1292 |
-
return true;
|
1293 |
-
} // Calculate width/aspect ratio for row before adding new item
|
1294 |
-
|
1295 |
-
|
1296 |
-
previousRowWidthWithoutSpacing = this.width - (this.items.length - 1) * this.spacing;
|
1297 |
-
previousAspectRatio = this.items.reduce(function (sum, item) {
|
1298 |
-
return sum + item.aspectRatio;
|
1299 |
-
}, 0);
|
1300 |
-
previousTargetAspectRatio = previousRowWidthWithoutSpacing / this.targetRowHeight;
|
1301 |
-
|
1302 |
-
if (Math.abs(newAspectRatio - targetAspectRatio) > Math.abs(previousAspectRatio - previousTargetAspectRatio)) {
|
1303 |
-
// Row with new item is us farther away from target than row without; complete layout and reject item.
|
1304 |
-
this.completeLayout(previousRowWidthWithoutSpacing / previousAspectRatio, 'justify');
|
1305 |
-
return false;
|
1306 |
-
} else {
|
1307 |
-
// Row with new item is us closer to target than row without;
|
1308 |
-
// accept the new item and complete the row layout.
|
1309 |
-
this.items.push(merge(itemData));
|
1310 |
-
this.completeLayout(rowWidthWithoutSpacing / newAspectRatio, 'justify');
|
1311 |
-
return true;
|
1312 |
-
}
|
1313 |
-
} else {
|
1314 |
-
// New aspect ratio / scaled row height is within tolerance;
|
1315 |
-
// accept the new item and complete the row layout.
|
1316 |
-
this.items.push(merge(itemData));
|
1317 |
-
this.completeLayout(rowWidthWithoutSpacing / newAspectRatio, 'justify');
|
1318 |
-
return true;
|
1319 |
-
}
|
1320 |
-
},
|
1321 |
-
|
1322 |
-
/**
|
1323 |
-
* Check if a row has completed its layout.
|
1324 |
-
*
|
1325 |
-
* @method isLayoutComplete
|
1326 |
-
* @return {Boolean} True if complete; false if not.
|
1327 |
-
*/
|
1328 |
-
isLayoutComplete: function isLayoutComplete() {
|
1329 |
-
return this.height > 0;
|
1330 |
-
},
|
1331 |
-
|
1332 |
-
/**
|
1333 |
-
* Set row height and compute item geometry from that height.
|
1334 |
-
* Will justify items within the row unless instructed not to.
|
1335 |
-
*
|
1336 |
-
* @method completeLayout
|
1337 |
-
* @param newHeight {Number} Set row height to this value.
|
1338 |
-
* @param widowLayoutStyle {String} How should widows display? Supported: left | justify | center
|
1339 |
-
*/
|
1340 |
-
completeLayout: function completeLayout(newHeight, widowLayoutStyle) {
|
1341 |
-
var itemWidthSum = this.left,
|
1342 |
-
rowWidthWithoutSpacing = this.width - (this.items.length - 1) * this.spacing,
|
1343 |
-
clampedToNativeRatio,
|
1344 |
-
clampedHeight,
|
1345 |
-
errorWidthPerItem,
|
1346 |
-
roundedCumulativeErrors,
|
1347 |
-
singleItemGeometry,
|
1348 |
-
centerOffset; // Justify unless explicitly specified otherwise.
|
1349 |
-
|
1350 |
-
if (typeof widowLayoutStyle === 'undefined' || ['justify', 'center', 'left'].indexOf(widowLayoutStyle) < 0) {
|
1351 |
-
widowLayoutStyle = 'left';
|
1352 |
-
} // Clamp row height to edge case minimum/maximum.
|
1353 |
-
|
1354 |
-
|
1355 |
-
clampedHeight = Math.max(this.edgeCaseMinRowHeight, Math.min(newHeight, this.edgeCaseMaxRowHeight));
|
1356 |
-
|
1357 |
-
if (newHeight !== clampedHeight) {
|
1358 |
-
// If row height was clamped, the resulting row/item aspect ratio will be off,
|
1359 |
-
// so force it to fit the width (recalculate aspectRatio to match clamped height).
|
1360 |
-
// NOTE: this will result in cropping/padding commensurate to the amount of clamping.
|
1361 |
-
this.height = clampedHeight;
|
1362 |
-
clampedToNativeRatio = rowWidthWithoutSpacing / clampedHeight / (rowWidthWithoutSpacing / newHeight);
|
1363 |
-
} else {
|
1364 |
-
// If not clamped, leave ratio at 1.0.
|
1365 |
-
this.height = newHeight;
|
1366 |
-
clampedToNativeRatio = 1.0;
|
1367 |
-
} // Compute item geometry based on newHeight.
|
1368 |
-
|
1369 |
-
|
1370 |
-
this.items.forEach(function (item) {
|
1371 |
-
item.top = this.top;
|
1372 |
-
item.width = item.aspectRatio * this.height * clampedToNativeRatio;
|
1373 |
-
item.height = this.height; // Left-to-right.
|
1374 |
-
// TODO right to left
|
1375 |
-
// item.left = this.width - itemWidthSum - item.width;
|
1376 |
-
|
1377 |
-
item.left = itemWidthSum; // Increment width.
|
1378 |
-
|
1379 |
-
itemWidthSum += item.width + this.spacing;
|
1380 |
-
}, this); // If specified, ensure items fill row and distribute error
|
1381 |
-
// caused by rounding width and height across all items.
|
1382 |
-
|
1383 |
-
if (widowLayoutStyle === 'justify') {
|
1384 |
-
itemWidthSum -= this.spacing + this.left;
|
1385 |
-
errorWidthPerItem = (itemWidthSum - this.width) / this.items.length;
|
1386 |
-
roundedCumulativeErrors = this.items.map(function (item, i) {
|
1387 |
-
return Math.round((i + 1) * errorWidthPerItem);
|
1388 |
-
});
|
1389 |
-
|
1390 |
-
if (this.items.length === 1) {
|
1391 |
-
// For rows with only one item, adjust item width to fill row.
|
1392 |
-
singleItemGeometry = this.items[0];
|
1393 |
-
singleItemGeometry.width -= Math.round(errorWidthPerItem);
|
1394 |
-
} else {
|
1395 |
-
// For rows with multiple items, adjust item width and shift items to fill the row,
|
1396 |
-
// while maintaining equal spacing between items in the row.
|
1397 |
-
this.items.forEach(function (item, i) {
|
1398 |
-
if (i > 0) {
|
1399 |
-
item.left -= roundedCumulativeErrors[i - 1];
|
1400 |
-
item.width -= roundedCumulativeErrors[i] - roundedCumulativeErrors[i - 1];
|
1401 |
-
} else {
|
1402 |
-
item.width -= roundedCumulativeErrors[i];
|
1403 |
-
}
|
1404 |
-
});
|
1405 |
-
}
|
1406 |
-
} else if (widowLayoutStyle === 'center') {
|
1407 |
-
// Center widows
|
1408 |
-
centerOffset = (this.width - itemWidthSum) / 2;
|
1409 |
-
this.items.forEach(function (item) {
|
1410 |
-
item.left += centerOffset + this.spacing;
|
1411 |
-
}, this);
|
1412 |
-
}
|
1413 |
-
},
|
1414 |
-
|
1415 |
-
/**
|
1416 |
-
* Force completion of row layout with current items.
|
1417 |
-
*
|
1418 |
-
* @method forceComplete
|
1419 |
-
* @param fitToWidth {Boolean} Stretch current items to fill the row width.
|
1420 |
-
* This will likely result in padding.
|
1421 |
-
* @param fitToWidth {Number}
|
1422 |
-
*/
|
1423 |
-
forceComplete: function forceComplete(fitToWidth, rowHeight) {
|
1424 |
-
// TODO Handle fitting to width
|
1425 |
-
// var rowWidthWithoutSpacing = this.width - (this.items.length - 1) * this.spacing,
|
1426 |
-
// currentAspectRatio = this.items.reduce(function (sum, item) {
|
1427 |
-
// return sum + item.aspectRatio;
|
1428 |
-
// }, 0);
|
1429 |
-
if (typeof rowHeight === 'number') {
|
1430 |
-
this.completeLayout(rowHeight, this.widowLayoutStyle);
|
1431 |
-
} else {
|
1432 |
-
// Complete using target row height.
|
1433 |
-
this.completeLayout(this.targetRowHeight, this.widowLayoutStyle);
|
1434 |
-
}
|
1435 |
-
},
|
1436 |
-
|
1437 |
-
/**
|
1438 |
-
* Return layout data for items within row.
|
1439 |
-
* Note: returns actual list, not a copy.
|
1440 |
-
*
|
1441 |
-
* @method getItems
|
1442 |
-
* @return Layout data for items within row.
|
1443 |
-
*/
|
1444 |
-
getItems: function getItems() {
|
1445 |
-
return this.items;
|
1446 |
-
}
|
1447 |
-
};
|
1448 |
-
|
1449 |
-
/***/ })
|
1450 |
-
/******/ ]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/vendor/ie11-custom-properties/{ie11-custom-properties.js → ie11CustomProperties.js}
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
-
/*! ie11CustomProperties.js v4.0
|
2 |
!function () {
|
3 |
'use strict';
|
4 |
|
@@ -113,28 +113,25 @@
|
|
113 |
//const regHasVar = /var\(/;
|
114 |
var regPseudos = /:(hover|active|focus|target|visited|link|:before|:after|:first-letter|:first-line)/;
|
115 |
|
116 |
-
onElement('link[rel="stylesheet"]', function (el) {
|
117 |
-
fetchCss(el.href, function (css) {
|
118 |
-
var newCss = rewriteCss(css);
|
119 |
-
if (css === newCss) return;
|
120 |
-
newCss = relToAbs(el.href, newCss);
|
121 |
-
el.disabled = true;
|
122 |
-
var style = document.createElement('style');
|
123 |
-
if (el.media) style.setAttribute('media', el.media);
|
124 |
-
el.parentNode.insertBefore(style, el);
|
125 |
-
activateStyleElement(style, newCss);
|
126 |
-
});
|
127 |
-
});
|
128 |
-
|
129 |
function foundStyle(el){
|
130 |
if (el.ieCP_polyfilled) return;
|
131 |
if (el.ieCP_elementSheet) return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
var css = el.innerHTML;
|
133 |
var newCss = rewriteCss(css);
|
134 |
if (css === newCss) return;
|
135 |
activateStyleElement(el, newCss);
|
136 |
}
|
137 |
onElement('style', foundStyle);
|
|
|
138 |
// immediate, to pass w3c-tests, bud its a bad idea
|
139 |
// addEventListener('DOMNodeInserted',function(e){ e.target.tagName === 'STYLE' && foundStyle(e.target); });
|
140 |
|
@@ -148,15 +145,6 @@
|
|
148 |
if (found.setters) addSetterElement(el, found.setters);
|
149 |
});
|
150 |
|
151 |
-
function relToAbs(base, css) {
|
152 |
-
return css.replace(/url\(([^)]+)\)/g, function($0, $1){
|
153 |
-
$1 = $1.trim().replace(/(^['"]|['"]$)/g,'');
|
154 |
-
if ($1.match(/^([a-z]+:|\/)/)) return $0;
|
155 |
-
base = base.replace(/\?.*/,'');
|
156 |
-
return 'url('+ base + './../' + $1 +')';
|
157 |
-
});
|
158 |
-
}
|
159 |
-
|
160 |
// ie has a bug, where unknown properties at pseudo-selectors are computed at the element
|
161 |
// #el::after { -content:'x'; } => getComputedStyle(el)['-content'] == 'x'
|
162 |
// should we add something like -ieVar-pseudo_after-content:'x'?
|
@@ -210,7 +198,6 @@
|
|
210 |
if (propName[0] === '❗') propName = propName.substr(1);
|
211 |
getters.push(propName);
|
212 |
|
213 |
-
// beta
|
214 |
if (!styles_of_getter_properties[propName]) styles_of_getter_properties[propName] = [];
|
215 |
styles_of_getter_properties[propName].push(style);
|
216 |
}
|
@@ -229,7 +216,7 @@
|
|
229 |
return {getters:getters, setters:setters};
|
230 |
}
|
231 |
function activateStyleElement(style, css) {
|
232 |
-
style.
|
233 |
style.ieCP_polyfilled = true;
|
234 |
var rules = style.sheet.rules, i=0, rule; // cssRules = CSSRuleList, rules = MSCSSRuleList
|
235 |
while (rule = rules[i++]) {
|
@@ -286,7 +273,6 @@
|
|
286 |
drawTree(el);
|
287 |
}
|
288 |
|
289 |
-
//beta
|
290 |
function redrawStyleSheets() {
|
291 |
for (var prop in styles_of_getter_properties) {
|
292 |
let styles = styles_of_getter_properties[prop];
|
1 |
+
/*! ie11CustomProperties.js v4.1.0 | MIT License | https://git.io/fjXMN */
|
2 |
!function () {
|
3 |
'use strict';
|
4 |
|
113 |
//const regHasVar = /var\(/;
|
114 |
var regPseudos = /:(hover|active|focus|target|visited|link|:before|:after|:first-letter|:first-line)/;
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
function foundStyle(el){
|
117 |
if (el.ieCP_polyfilled) return;
|
118 |
if (el.ieCP_elementSheet) return;
|
119 |
+
if (!el.sheet) return;
|
120 |
+
if (el.href) {
|
121 |
+
return fetchCss(el.href, function (css) {
|
122 |
+
var newCss = rewriteCss(css);
|
123 |
+
if (css === newCss) return;
|
124 |
+
activateStyleElement(el, newCss);
|
125 |
+
});
|
126 |
+
}
|
127 |
+
|
128 |
var css = el.innerHTML;
|
129 |
var newCss = rewriteCss(css);
|
130 |
if (css === newCss) return;
|
131 |
activateStyleElement(el, newCss);
|
132 |
}
|
133 |
onElement('style', foundStyle);
|
134 |
+
onElement('link[rel="stylesheet"]', foundStyle);
|
135 |
// immediate, to pass w3c-tests, bud its a bad idea
|
136 |
// addEventListener('DOMNodeInserted',function(e){ e.target.tagName === 'STYLE' && foundStyle(e.target); });
|
137 |
|
145 |
if (found.setters) addSetterElement(el, found.setters);
|
146 |
});
|
147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
// ie has a bug, where unknown properties at pseudo-selectors are computed at the element
|
149 |
// #el::after { -content:'x'; } => getComputedStyle(el)['-content'] == 'x'
|
150 |
// should we add something like -ieVar-pseudo_after-content:'x'?
|
198 |
if (propName[0] === '❗') propName = propName.substr(1);
|
199 |
getters.push(propName);
|
200 |
|
|
|
201 |
if (!styles_of_getter_properties[propName]) styles_of_getter_properties[propName] = [];
|
202 |
styles_of_getter_properties[propName].push(style);
|
203 |
}
|
216 |
return {getters:getters, setters:setters};
|
217 |
}
|
218 |
function activateStyleElement(style, css) {
|
219 |
+
style.sheet.cssText = css;
|
220 |
style.ieCP_polyfilled = true;
|
221 |
var rules = style.sheet.rules, i=0, rule; // cssRules = CSSRuleList, rules = MSCSSRuleList
|
222 |
while (rule = rules[i++]) {
|
273 |
drawTree(el);
|
274 |
}
|
275 |
|
|
|
276 |
function redrawStyleSheets() {
|
277 |
for (var prop in styles_of_getter_properties) {
|
278 |
let styles = styles_of_getter_properties[prop];
|
assets/vendor/iframe-resizer/iframeResizer.map
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
{"version":3,"sources":["iframeResizer.js"],"names":["undefined","window","$","count","logEnabled","hiddenCheckEnabled","msgHeaderLen","length","msgId","msgIdLen","pagePosition","requestAnimationFrame","resetRequiredMethods","max","scroll","bodyScroll","documentElementScroll","settings","timer","defaults","autoResize","bodyBackground","bodyMargin","bodyMarginV1","bodyPadding","checkOrigin","inPageLinks","enablePublicMethods","heightCalculationMethod","id","interval","log","maxHeight","Infinity","maxWidth","minHeight","minWidth","resizeFrom","scrolling","sizeHeight","sizeWidth","warningTimeout","tolerance","widthCalculationMethod","onClose","onClosed","onInit","onMessage","warn","onResized","onScroll","frameTimer","jQuery","fn","iFrameResize","options","this","filter","each","index","element","setupIFrame","end","info","define","amd","factory","module","exports","getMutationObserver","MutationObserver","WebKitMutationObserver","MozMutationObserver","addEventListener","el","evt","func","removeEventListener","formatLogHeader","iframeId","retStr","top","self","parentIFrame","getId","getMyID","isLogEnabled","msg","output","type","enabled","console","iFrameListener","event","resizeIFrame","ensureInRange","syncResize","setSize","messageData","setPagePosition","on","Dimension","Number","min","dimension","toLowerCase","size","getMsgBody","offset","substr","indexOf","sendPageInfoToIframe","iframe","time","frameId","setTimeout","debounceFrameEvents","trigger","bodyPosition","document","body","getBoundingClientRect","iFramePosition","JSON","stringify","iframeHeight","height","iframeWidth","width","clientHeight","Math","documentElement","innerHeight","clientWidth","innerWidth","offsetTop","parseInt","offsetLeft","left","scrollTop","pageYOffset","scrollLeft","pageXOffset","documentHeight","documentWidth","windowHeight","windowWidth","getPageInfo","getElementPosition","target","getPagePosition","x","floor","y","scrollRequestFromChild","addOffset","newPosition","scrollTo","unsetPagePosition","funcName","val","chkEvent","retBool","retCode","data","compStyle","createOutgoingMsg","iFrameReadyMsgReceived","split","getComputedStyle","boxSizing","paddingTop","bot","paddingBottom","getPaddingEnds","borderTopWidth","borderBottomWidth","getBorderEnds","loaded","true","false","remoteHost","origin","constructor","Array","i","checkList","Error","isMessageFromIFrame","firstRun","closeIFrame","msgBody","message","parse","forwardMsgFromIFrame","setListener","sendPageInfo","stop","forEach","stopPageInfo","startPageInfoMonitor","location","jumpPosition","hash","hashData","decodeURIComponent","getElementById","getElementsByName","moveToAnchor","findTarget","resetIFrame","actionMsg","retVal","TypeError","removeIframeListeners","parentNode","removeChild","error","chkZero","checkIFrames","Object","keys","key","settingId","chkDimension","style","offsetParent","checkIFrame","mutationObserved","mutations","debouce","querySelector","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","createMutationObserver","fixHiddenIFrames","processDimension","setDimension","doNotSync","jasmine","calleeMsg","noResponseWarning","errorShown","contentWindow","targetOrigin","postMessage","msgTimeout","depricate","splitName","name","charAt","toUpperCase","slice","src","addStyle","chkMinMax","join","checkOptions","option","prototype","hasOwnProperty","call","copyOptions","match","getTargetOrigin","overflow","setScrolling","mutation","removedNodes","removedNode","resetRequertMethod","checkReset","iFrameResizer","close","bind","removeListeners","resize","anchor","sendMessage","tabVisible","visibilityState","sendTriggerMsg","eventName","isIFrameResizeEnabled","setupEventListeners","resizeIFrames","init","tagName","chkType","iFrames","push","vendors","setupRequestAnimationFrame","warnDeprecatedOptions","querySelectorAll"],"mappings":"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","file":"iframeResizer.min.js"}
|
|
assets/vendor/iframe-resizer/{iframeResizer.contentWindow.map → js/iframeResizer.contentWindow.map}
RENAMED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["iframeResizer.contentWindow.js"],"names":["undefined","window","autoResize","base","bodyBackground","bodyMargin","bodyMarginStr","bodyObserver","bodyPadding","calculateWidth","doubleEventList","resize","click","eventCancelTimer","firstRun","height","heightCalcModeDefault","heightCalcMode","initLock","initMsg","inPageLinks","interval","intervalTimer","logging","msgID","msgIdLen","length","myID","resetRequiredMethods","max","min","bodyScroll","documentElementScroll","resizeFrom","sendPermit","target","parent","targetOriginDefault","tolerance","triggerLocked","triggerLockedTimer","throttledTimer","width","widthCalcModeDefault","widthCalcMode","win","onMessage","warn","onReady","onPageInfo","customCalcMethods","document","documentElement","offsetHeight","body","scrollWidth","eventHandlersByName","passiveSupported","options","Object","create","passive","get","addEventListener","noop","removeEventListener","error","func","context","args","result","timeout","previous","getNow","Date","now","getTime","getHeight","bodyOffset","getComputedStyle","offset","scrollHeight","custom","documentElementOffset","Math","apply","getAllMeasurements","grow","lowestElement","getMaxElement","getAllElements","taggedElement","getTaggedElements","getWidth","offsetWidth","scroll","rightMostElement","sizeIFrameThrottled","sizeIFrame","remaining","this","arguments","clearTimeout","setTimeout","later","event","processRequestFromParent","init","data","source","reset","log","triggerReset","sendSize","moveToAnchor","findTarget","getData","inPageLink","pageInfo","msgBody","JSON","parse","message","getMessageType","split","substr","indexOf","isInitMsg","true","false","callFromParent","messageType","module","exports","jQuery","prototype","chkLateLoaded","el","evt","capitalizeFirstLetter","string","charAt","toUpperCase","slice","formatLogMsg","msg","console","strBool","str","Number","enable","readDataFromParent","location","href","setupCustomCalcMethods","calcMode","calcFunc","iFrameResizer","constructor","stringify","keys","forEach","depricate","targetOrigin","heightCalculationMethod","widthCalculationMethod","readData","readDataFromPage","setBodyStyle","attr","value","chkCSS","setMargin","clearFix","createElement","style","clear","display","appendChild","injectClearFixIntoBodyElement","checkHeightMode","checkWidthMode","parentIFrame","startEventListeners","manageEventListeners","disconnect","clearInterval","sendMsg","close","getId","getPageInfo","callback","hash","resetIFrame","scrollTo","x","y","scrollToOffset","sendMessage","setHeightCalculationMethod","setWidthCalculationMethod","setTargetOrigin","size","customHeight","customWidth","getElementPosition","elPosition","getBoundingClientRect","pagePosition","pageXOffset","scrollLeft","pageYOffset","scrollTop","parseInt","left","top","jumpPosition","hashData","decodeURIComponent","getElementById","getElementsByName","checkLocationHash","bindAnchors","Array","call","querySelectorAll","getAttribute","e","preventDefault","setupInPageLinks","key","splitName","name","manageTriggerEvent","listener","add","eventName","handleEvent","eventType","remove","eventNames","map","method","checkCalcMode","calcModeDefault","modes","type","forceIntervalTimer","MutationObserver","WebKitMutationObserver","initInterval","addImageLoadListners","mutation","addImageLoadListener","element","complete","src","imageLoaded","imageError","elements","push","attributeName","removeImageLoadListener","splice","removeFromArray","imageEventTriggered","typeDesc","mutationObserved","mutations","observer","querySelector","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","createMutationObserver","setupBodyMutationObserver","setupMutationObserver","setInterval","abs","prop","retVal","defaultView","side","elementsLength","elVal","maxVal","Side","timer","i","chkEventThottle","dimention","tag","triggerEvent","triggerEventDesc","currentHeight","currentWidth","checkTolarance","a","b","lockTrigger","resetPage","hcm","postMessage","readyState"],"mappings":"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","file":"iframeResizer.contentWindow.min.js"}
|
1 |
+
{"version":3,"sources":["iframeResizer.contentWindow.js"],"names":["undefined","window","autoResize","base","bodyBackground","bodyMargin","bodyMarginStr","bodyObserver","bodyPadding","calculateWidth","doubleEventList","resize","click","eventCancelTimer","firstRun","height","heightCalcModeDefault","heightCalcMode","initLock","initMsg","inPageLinks","interval","intervalTimer","logging","msgID","msgIdLen","length","myID","resetRequiredMethods","max","min","bodyScroll","documentElementScroll","resizeFrom","sendPermit","target","parent","targetOriginDefault","tolerance","triggerLocked","triggerLockedTimer","throttledTimer","width","widthCalcModeDefault","widthCalcMode","win","onMessage","warn","onReady","onPageInfo","customCalcMethods","document","documentElement","offsetHeight","body","scrollWidth","eventHandlersByName","passiveSupported","options","Object","create","passive","get","addEventListener","noop","removeEventListener","error","func","context","args","result","timeout","previous","getNow","Date","now","getTime","getHeight","bodyOffset","getComputedStyle","offset","scrollHeight","custom","documentElementOffset","Math","apply","getAllMeasurements","grow","lowestElement","getMaxElement","getAllElements","taggedElement","getTaggedElements","getWidth","offsetWidth","scroll","rightMostElement","sizeIFrameThrottled","sizeIFrame","remaining","this","arguments","clearTimeout","setTimeout","later","event","processRequestFromParent","init","data","source","reset","log","triggerReset","sendSize","moveToAnchor","findTarget","getData","inPageLink","pageInfo","msgBody","JSON","parse","message","getMessageType","split","substr","indexOf","isInitMsg","true","false","callFromParent","messageType","module","exports","jQuery","prototype","chkLateLoaded","el","evt","capitalizeFirstLetter","string","charAt","toUpperCase","slice","formatLogMsg","msg","console","strBool","str","Number","enable","readDataFromParent","location","href","setupCustomCalcMethods","calcMode","calcFunc","iFrameResizer","constructor","stringify","keys","forEach","depricate","targetOrigin","heightCalculationMethod","widthCalculationMethod","readData","readDataFromPage","setBodyStyle","attr","value","chkCSS","setMargin","clearFix","createElement","style","clear","display","appendChild","injectClearFixIntoBodyElement","checkHeightMode","checkWidthMode","parentIFrame","startEventListeners","manageEventListeners","disconnect","clearInterval","sendMsg","close","getId","getPageInfo","callback","hash","resetIFrame","scrollTo","x","y","scrollToOffset","sendMessage","setHeightCalculationMethod","setWidthCalculationMethod","setTargetOrigin","size","customHeight","customWidth","getElementPosition","elPosition","getBoundingClientRect","pagePosition","pageXOffset","scrollLeft","pageYOffset","scrollTop","parseInt","left","top","jumpPosition","hashData","decodeURIComponent","getElementById","getElementsByName","checkLocationHash","bindAnchors","Array","call","querySelectorAll","getAttribute","e","preventDefault","setupInPageLinks","key","splitName","name","manageTriggerEvent","listener","add","eventName","handleEvent","eventType","remove","eventNames","map","method","checkCalcMode","calcModeDefault","modes","type","forceIntervalTimer","MutationObserver","WebKitMutationObserver","initInterval","addImageLoadListners","mutation","addImageLoadListener","element","complete","src","imageLoaded","imageError","elements","push","attributeName","removeImageLoadListener","splice","removeFromArray","imageEventTriggered","typeDesc","mutationObserved","mutations","observer","querySelector","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","createMutationObserver","setupBodyMutationObserver","setupMutationObserver","setInterval","abs","prop","retVal","defaultView","side","elementsLength","elVal","maxVal","Side","timer","i","chkEventThottle","dimention","tag","triggerEvent","triggerEventDesc","currentHeight","currentWidth","checkTolarance","a","b","lockTrigger","resetPage","hcm","postMessage","readyState"],"mappings":"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","file":"iframeResizer.contentWindow.min.js"}
|
assets/vendor/iframe-resizer/{iframeResizer.contentWindow.min.js → js/iframeResizer.contentWindow.min.js}
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
-
/*! iFrame Resizer (iframeSizer.contentWindow.min.js) - v4.2.
|
2 |
* Desc: Include this file in any page being loaded into an iframe
|
3 |
* to force the iframe to resize to the content size.
|
4 |
* Requires: iframeResizer.min.js on host page.
|
1 |
+
/*! iFrame Resizer (iframeSizer.contentWindow.min.js) - v4.2.11 - 2020-06-02
|
2 |
* Desc: Include this file in any page being loaded into an iframe
|
3 |
* to force the iframe to resize to the content size.
|
4 |
* Requires: iframeResizer.min.js on host page.
|
assets/vendor/iframe-resizer/js/iframeResizer.map
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["iframeResizer.js"],"names":["undefined","window","$","count","logEnabled","hiddenCheckEnabled","msgHeaderLen","length","msgId","msgIdLen","pagePosition","requestAnimationFrame","resetRequiredMethods","max","scroll","bodyScroll","documentElementScroll","settings","timer","defaults","autoResize","bodyBackground","bodyMargin","bodyMarginV1","bodyPadding","checkOrigin","inPageLinks","enablePublicMethods","heightCalculationMethod","id","interval","log","maxHeight","Infinity","maxWidth","minHeight","minWidth","resizeFrom","scrolling","sizeHeight","sizeWidth","warningTimeout","tolerance","widthCalculationMethod","onClose","onClosed","onInit","onMessage","warn","onResized","onScroll","frameTimer","jQuery","fn","iFrameResize","options","this","filter","each","index","element","setupIFrame","end","info","define","amd","factory","module","exports","getMutationObserver","MutationObserver","WebKitMutationObserver","MozMutationObserver","addEventListener","el","evt","func","removeEventListener","formatLogHeader","iframeId","retStr","top","self","parentIFrame","getId","getMyID","isLogEnabled","msg","output","type","enabled","console","iFrameListener","event","resizeIFrame","ensureInRange","syncResize","setSize","messageData","setPagePosition","on","Dimension","Number","min","dimension","toLowerCase","size","getMsgBody","offset","substr","indexOf","sendPageInfoToIframe","iframe","time","frameId","setTimeout","debounceFrameEvents","trigger","bodyPosition","document","body","getBoundingClientRect","iFramePosition","JSON","stringify","iframeHeight","height","iframeWidth","width","clientHeight","Math","documentElement","innerHeight","clientWidth","innerWidth","offsetTop","parseInt","offsetLeft","left","scrollTop","pageYOffset","scrollLeft","pageXOffset","documentHeight","documentWidth","windowHeight","windowWidth","getPageInfo","getElementPosition","target","getPagePosition","x","floor","y","scrollRequestFromChild","addOffset","newPosition","scrollTo","unsetPagePosition","funcName","val","chkEvent","retBool","retCode","data","compStyle","createOutgoingMsg","iFrameReadyMsgReceived","split","getComputedStyle","boxSizing","paddingTop","bot","paddingBottom","getPaddingEnds","borderTopWidth","borderBottomWidth","getBorderEnds","loaded","true","false","remoteHost","origin","constructor","Array","i","checkList","Error","isMessageFromIFrame","firstRun","closeIFrame","msgBody","message","parse","forwardMsgFromIFrame","setListener","sendPageInfo","stop","forEach","stopPageInfo","startPageInfoMonitor","location","jumpPosition","hash","hashData","decodeURIComponent","getElementById","getElementsByName","moveToAnchor","findTarget","resetIFrame","actionMsg","retVal","TypeError","removeIframeListeners","parentNode","removeChild","error","chkZero","checkIFrames","Object","keys","key","settingId","chkDimension","style","offsetParent","checkIFrame","mutationObserved","mutations","debouce","querySelector","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","createMutationObserver","fixHiddenIFrames","processDimension","setDimension","doNotSync","jasmine","calleeMsg","noResponseWarning","errorShown","contentWindow","targetOrigin","postMessage","msgTimeout","depricate","splitName","name","charAt","toUpperCase","slice","src","addStyle","chkMinMax","join","checkOptions","option","prototype","hasOwnProperty","call","copyOptions","match","getTargetOrigin","overflow","setScrolling","mutation","removedNodes","removedNode","resetRequertMethod","checkReset","iFrameResizer","close","bind","removeListeners","resize","anchor","sendMessage","tabVisible","visibilityState","sendTriggerMsg","eventName","isIFrameResizeEnabled","setupEventListeners","resizeIFrames","init","tagName","chkType","iFrames","push","vendors","setupRequestAnimationFrame","warnDeprecatedOptions","querySelectorAll"],"mappings":"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","file":"iframeResizer.min.js"}
|
assets/vendor/iframe-resizer/{iframeResizer.min.js → js/iframeResizer.min.js}
RENAMED
@@ -1,4 +1,4 @@
|
|
1 |
-
/*! iFrame Resizer (iframeSizer.min.js ) - v4.2.
|
2 |
* Desc: Force cross domain iframes to size to content.
|
3 |
* Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
|
4 |
* Copyright: (c) 2020 David J. Bradshaw - dave@bradshaw.net
|
1 |
+
/*! iFrame Resizer (iframeSizer.min.js ) - v4.2.11 - 2020-06-02
|
2 |
* Desc: Force cross domain iframes to size to content.
|
3 |
* Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
|
4 |
* Copyright: (c) 2020 David J. Bradshaw - dave@bradshaw.net
|
assets/vendor/{isotope → isotope-layout/dist}/isotope.pkgd.min.js
RENAMED
File without changes
|
assets/vendor/isotope/isotope.pkgd.js
DELETED
@@ -1,3563 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Isotope PACKAGED v3.0.6
|
3 |
-
*
|
4 |
-
* Licensed GPLv3 for open source use
|
5 |
-
* or Isotope Commercial License for commercial use
|
6 |
-
*
|
7 |
-
* https://isotope.metafizzy.co
|
8 |
-
* Copyright 2010-2018 Metafizzy
|
9 |
-
*/
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Bridget makes jQuery widgets
|
13 |
-
* v2.0.1
|
14 |
-
* MIT license
|
15 |
-
*/
|
16 |
-
|
17 |
-
/* jshint browser: true, strict: true, undef: true, unused: true */
|
18 |
-
|
19 |
-
( function( window, factory ) {
|
20 |
-
// universal module definition
|
21 |
-
/*jshint strict: false */ /* globals define, module, require */
|
22 |
-
if ( typeof define == 'function' && define.amd ) {
|
23 |
-
// AMD
|
24 |
-
define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) {
|
25 |
-
return factory( window, jQuery );
|
26 |
-
});
|
27 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
28 |
-
// CommonJS
|
29 |
-
module.exports = factory(
|
30 |
-
window,
|
31 |
-
require('jquery')
|
32 |
-
);
|
33 |
-
} else {
|
34 |
-
// browser global
|
35 |
-
window.jQueryBridget = factory(
|
36 |
-
window,
|
37 |
-
window.jQuery
|
38 |
-
);
|
39 |
-
}
|
40 |
-
|
41 |
-
}( window, function factory( window, jQuery ) {
|
42 |
-
'use strict';
|
43 |
-
|
44 |
-
// ----- utils ----- //
|
45 |
-
|
46 |
-
var arraySlice = Array.prototype.slice;
|
47 |
-
|
48 |
-
// helper function for logging errors
|
49 |
-
// $.error breaks jQuery chaining
|
50 |
-
var console = window.console;
|
51 |
-
var logError = typeof console == 'undefined' ? function() {} :
|
52 |
-
function( message ) {
|
53 |
-
console.error( message );
|
54 |
-
};
|
55 |
-
|
56 |
-
// ----- jQueryBridget ----- //
|
57 |
-
|
58 |
-
function jQueryBridget( namespace, PluginClass, $ ) {
|
59 |
-
$ = $ || jQuery || window.jQuery;
|
60 |
-
if ( !$ ) {
|
61 |
-
return;
|
62 |
-
}
|
63 |
-
|
64 |
-
// add option method -> $().plugin('option', {...})
|
65 |
-
if ( !PluginClass.prototype.option ) {
|
66 |
-
// option setter
|
67 |
-
PluginClass.prototype.option = function( opts ) {
|
68 |
-
// bail out if not an object
|
69 |
-
if ( !$.isPlainObject( opts ) ){
|
70 |
-
return;
|
71 |
-
}
|
72 |
-
this.options = $.extend( true, this.options, opts );
|
73 |
-
};
|
74 |
-
}
|
75 |
-
|
76 |
-
// make jQuery plugin
|
77 |
-
$.fn[ namespace ] = function( arg0 /*, arg1 */ ) {
|
78 |
-
if ( typeof arg0 == 'string' ) {
|
79 |
-
// method call $().plugin( 'methodName', { options } )
|
80 |
-
// shift arguments by 1
|
81 |
-
var args = arraySlice.call( arguments, 1 );
|
82 |
-
return methodCall( this, arg0, args );
|
83 |
-
}
|
84 |
-
// just $().plugin({ options })
|
85 |
-
plainCall( this, arg0 );
|
86 |
-
return this;
|
87 |
-
};
|
88 |
-
|
89 |
-
// $().plugin('methodName')
|
90 |
-
function methodCall( $elems, methodName, args ) {
|
91 |
-
var returnValue;
|
92 |
-
var pluginMethodStr = '$().' + namespace + '("' + methodName + '")';
|
93 |
-
|
94 |
-
$elems.each( function( i, elem ) {
|
95 |
-
// get instance
|
96 |
-
var instance = $.data( elem, namespace );
|
97 |
-
if ( !instance ) {
|
98 |
-
logError( namespace + ' not initialized. Cannot call methods, i.e. ' +
|
99 |
-
pluginMethodStr );
|
100 |
-
return;
|
101 |
-
}
|
102 |
-
|
103 |
-
var method = instance[ methodName ];
|
104 |
-
if ( !method || methodName.charAt(0) == '_' ) {
|
105 |
-
logError( pluginMethodStr + ' is not a valid method' );
|
106 |
-
return;
|
107 |
-
}
|
108 |
-
|
109 |
-
// apply method, get return value
|
110 |
-
var value = method.apply( instance, args );
|
111 |
-
// set return value if value is returned, use only first value
|
112 |
-
returnValue = returnValue === undefined ? value : returnValue;
|
113 |
-
});
|
114 |
-
|
115 |
-
return returnValue !== undefined ? returnValue : $elems;
|
116 |
-
}
|
117 |
-
|
118 |
-
function plainCall( $elems, options ) {
|
119 |
-
$elems.each( function( i, elem ) {
|
120 |
-
var instance = $.data( elem, namespace );
|
121 |
-
if ( instance ) {
|
122 |
-
// set options & init
|
123 |
-
instance.option( options );
|
124 |
-
instance._init();
|
125 |
-
} else {
|
126 |
-
// initialize new instance
|
127 |
-
instance = new PluginClass( elem, options );
|
128 |
-
$.data( elem, namespace, instance );
|
129 |
-
}
|
130 |
-
});
|
131 |
-
}
|
132 |
-
|
133 |
-
updateJQuery( $ );
|
134 |
-
|
135 |
-
}
|
136 |
-
|
137 |
-
// ----- updateJQuery ----- //
|
138 |
-
|
139 |
-
// set $.bridget for v1 backwards compatibility
|
140 |
-
function updateJQuery( $ ) {
|
141 |
-
if ( !$ || ( $ && $.bridget ) ) {
|
142 |
-
return;
|
143 |
-
}
|
144 |
-
$.bridget = jQueryBridget;
|
145 |
-
}
|
146 |
-
|
147 |
-
updateJQuery( jQuery || window.jQuery );
|
148 |
-
|
149 |
-
// ----- ----- //
|
150 |
-
|
151 |
-
return jQueryBridget;
|
152 |
-
|
153 |
-
}));
|
154 |
-
|
155 |
-
/**
|
156 |
-
* EvEmitter v1.1.0
|
157 |
-
* Lil' event emitter
|
158 |
-
* MIT License
|
159 |
-
*/
|
160 |
-
|
161 |
-
/* jshint unused: true, undef: true, strict: true */
|
162 |
-
|
163 |
-
( function( global, factory ) {
|
164 |
-
// universal module definition
|
165 |
-
/* jshint strict: false */ /* globals define, module, window */
|
166 |
-
if ( typeof define == 'function' && define.amd ) {
|
167 |
-
// AMD - RequireJS
|
168 |
-
define( 'ev-emitter/ev-emitter',factory );
|
169 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
170 |
-
// CommonJS - Browserify, Webpack
|
171 |
-
module.exports = factory();
|
172 |
-
} else {
|
173 |
-
// Browser globals
|
174 |
-
global.EvEmitter = factory();
|
175 |
-
}
|
176 |
-
|
177 |
-
}( typeof window != 'undefined' ? window : this, function() {
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
function EvEmitter() {}
|
182 |
-
|
183 |
-
var proto = EvEmitter.prototype;
|
184 |
-
|
185 |
-
proto.on = function( eventName, listener ) {
|
186 |
-
if ( !eventName || !listener ) {
|
187 |
-
return;
|
188 |
-
}
|
189 |
-
// set events hash
|
190 |
-
var events = this._events = this._events || {};
|
191 |
-
// set listeners array
|
192 |
-
var listeners = events[ eventName ] = events[ eventName ] || [];
|
193 |
-
// only add once
|
194 |
-
if ( listeners.indexOf( listener ) == -1 ) {
|
195 |
-
listeners.push( listener );
|
196 |
-
}
|
197 |
-
|
198 |
-
return this;
|
199 |
-
};
|
200 |
-
|
201 |
-
proto.once = function( eventName, listener ) {
|
202 |
-
if ( !eventName || !listener ) {
|
203 |
-
return;
|
204 |
-
}
|
205 |
-
// add event
|
206 |
-
this.on( eventName, listener );
|
207 |
-
// set once flag
|
208 |
-
// set onceEvents hash
|
209 |
-
var onceEvents = this._onceEvents = this._onceEvents || {};
|
210 |
-
// set onceListeners object
|
211 |
-
var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
|
212 |
-
// set flag
|
213 |
-
onceListeners[ listener ] = true;
|
214 |
-
|
215 |
-
return this;
|
216 |
-
};
|
217 |
-
|
218 |
-
proto.off = function( eventName, listener ) {
|
219 |
-
var listeners = this._events && this._events[ eventName ];
|
220 |
-
if ( !listeners || !listeners.length ) {
|
221 |
-
return;
|
222 |
-
}
|
223 |
-
var index = listeners.indexOf( listener );
|
224 |
-
if ( index != -1 ) {
|
225 |
-
listeners.splice( index, 1 );
|
226 |
-
}
|
227 |
-
|
228 |
-
return this;
|
229 |
-
};
|
230 |
-
|
231 |
-
proto.emitEvent = function( eventName, args ) {
|
232 |
-
var listeners = this._events && this._events[ eventName ];
|
233 |
-
if ( !listeners || !listeners.length ) {
|
234 |
-
return;
|
235 |
-
}
|
236 |
-
// copy over to avoid interference if .off() in listener
|
237 |
-
listeners = listeners.slice(0);
|
238 |
-
args = args || [];
|
239 |
-
// once stuff
|
240 |
-
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
|
241 |
-
|
242 |
-
for ( var i=0; i < listeners.length; i++ ) {
|
243 |
-
var listener = listeners[i]
|
244 |
-
var isOnce = onceListeners && onceListeners[ listener ];
|
245 |
-
if ( isOnce ) {
|
246 |
-
// remove listener
|
247 |
-
// remove before trigger to prevent recursion
|
248 |
-
this.off( eventName, listener );
|
249 |
-
// unset once flag
|
250 |
-
delete onceListeners[ listener ];
|
251 |
-
}
|
252 |
-
// trigger listener
|
253 |
-
listener.apply( this, args );
|
254 |
-
}
|
255 |
-
|
256 |
-
return this;
|
257 |
-
};
|
258 |
-
|
259 |
-
proto.allOff = function() {
|
260 |
-
delete this._events;
|
261 |
-
delete this._onceEvents;
|
262 |
-
};
|
263 |
-
|
264 |
-
return EvEmitter;
|
265 |
-
|
266 |
-
}));
|
267 |
-
|
268 |
-
/*!
|
269 |
-
* getSize v2.0.3
|
270 |
-
* measure size of elements
|
271 |
-
* MIT license
|
272 |
-
*/
|
273 |
-
|
274 |
-
/* jshint browser: true, strict: true, undef: true, unused: true */
|
275 |
-
/* globals console: false */
|
276 |
-
|
277 |
-
( function( window, factory ) {
|
278 |
-
/* jshint strict: false */ /* globals define, module */
|
279 |
-
if ( typeof define == 'function' && define.amd ) {
|
280 |
-
// AMD
|
281 |
-
define( 'get-size/get-size',factory );
|
282 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
283 |
-
// CommonJS
|
284 |
-
module.exports = factory();
|
285 |
-
} else {
|
286 |
-
// browser global
|
287 |
-
window.getSize = factory();
|
288 |
-
}
|
289 |
-
|
290 |
-
})( window, function factory() {
|
291 |
-
'use strict';
|
292 |
-
|
293 |
-
// -------------------------- helpers -------------------------- //
|
294 |
-
|
295 |
-
// get a number from a string, not a percentage
|
296 |
-
function getStyleSize( value ) {
|
297 |
-
var num = parseFloat( value );
|
298 |
-
// not a percent like '100%', and a number
|
299 |
-
var isValid = value.indexOf('%') == -1 && !isNaN( num );
|
300 |
-
return isValid && num;
|
301 |
-
}
|
302 |
-
|
303 |
-
function noop() {}
|
304 |
-
|
305 |
-
var logError = typeof console == 'undefined' ? noop :
|
306 |
-
function( message ) {
|
307 |
-
console.error( message );
|
308 |
-
};
|
309 |
-
|
310 |
-
// -------------------------- measurements -------------------------- //
|
311 |
-
|
312 |
-
var measurements = [
|
313 |
-
'paddingLeft',
|
314 |
-
'paddingRight',
|
315 |
-
'paddingTop',
|
316 |
-
'paddingBottom',
|
317 |
-
'marginLeft',
|
318 |
-
'marginRight',
|
319 |
-
'marginTop',
|
320 |
-
'marginBottom',
|
321 |
-
'borderLeftWidth',
|
322 |
-
'borderRightWidth',
|
323 |
-
'borderTopWidth',
|
324 |
-
'borderBottomWidth'
|
325 |
-
];
|
326 |
-
|
327 |
-
var measurementsLength = measurements.length;
|
328 |
-
|
329 |
-
function getZeroSize() {
|
330 |
-
var size = {
|
331 |
-
width: 0,
|
332 |
-
height: 0,
|
333 |
-
innerWidth: 0,
|
334 |
-
innerHeight: 0,
|
335 |
-
outerWidth: 0,
|
336 |
-
outerHeight: 0
|
337 |
-
};
|
338 |
-
for ( var i=0; i < measurementsLength; i++ ) {
|
339 |
-
var measurement = measurements[i];
|
340 |
-
size[ measurement ] = 0;
|
341 |
-
}
|
342 |
-
return size;
|
343 |
-
}
|
344 |
-
|
345 |
-
// -------------------------- getStyle -------------------------- //
|
346 |
-
|
347 |
-
/**
|
348 |
-
* getStyle, get style of element, check for Firefox bug
|
349 |
-
* https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
350 |
-
*/
|
351 |
-
function getStyle( elem ) {
|
352 |
-
var style = getComputedStyle( elem );
|
353 |
-
if ( !style ) {
|
354 |
-
logError( 'Style returned ' + style +
|
355 |
-
'. Are you running this code in a hidden iframe on Firefox? ' +
|
356 |
-
'See https://bit.ly/getsizebug1' );
|
357 |
-
}
|
358 |
-
return style;
|
359 |
-
}
|
360 |
-
|
361 |
-
// -------------------------- setup -------------------------- //
|
362 |
-
|
363 |
-
var isSetup = false;
|
364 |
-
|
365 |
-
var isBoxSizeOuter;
|
366 |
-
|
367 |
-
/**
|
368 |
-
* setup
|
369 |
-
* check isBoxSizerOuter
|
370 |
-
* do on first getSize() rather than on page load for Firefox bug
|
371 |
-
*/
|
372 |
-
function setup() {
|
373 |
-
// setup once
|
374 |
-
if ( isSetup ) {
|
375 |
-
return;
|
376 |
-
}
|
377 |
-
isSetup = true;
|
378 |
-
|
379 |
-
// -------------------------- box sizing -------------------------- //
|
380 |
-
|
381 |
-
/**
|
382 |
-
* Chrome & Safari measure the outer-width on style.width on border-box elems
|
383 |
-
* IE11 & Firefox<29 measures the inner-width
|
384 |
-
*/
|
385 |
-
var div = document.createElement('div');
|
386 |
-
div.style.width = '200px';
|
387 |
-
div.style.padding = '1px 2px 3px 4px';
|
388 |
-
div.style.borderStyle = 'solid';
|
389 |
-
div.style.borderWidth = '1px 2px 3px 4px';
|
390 |
-
div.style.boxSizing = 'border-box';
|
391 |
-
|
392 |
-
var body = document.body || document.documentElement;
|
393 |
-
body.appendChild( div );
|
394 |
-
var style = getStyle( div );
|
395 |
-
// round value for browser zoom. desandro/masonry#928
|
396 |
-
isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
|
397 |
-
getSize.isBoxSizeOuter = isBoxSizeOuter;
|
398 |
-
|
399 |
-
body.removeChild( div );
|
400 |
-
}
|
401 |
-
|
402 |
-
// -------------------------- getSize -------------------------- //
|
403 |
-
|
404 |
-
function getSize( elem ) {
|
405 |
-
setup();
|
406 |
-
|
407 |
-
// use querySeletor if elem is string
|
408 |
-
if ( typeof elem == 'string' ) {
|
409 |
-
elem = document.querySelector( elem );
|
410 |
-
}
|
411 |
-
|
412 |
-
// do not proceed on non-objects
|
413 |
-
if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
|
414 |
-
return;
|
415 |
-
}
|
416 |
-
|
417 |
-
var style = getStyle( elem );
|
418 |
-
|
419 |
-
// if hidden, everything is 0
|
420 |
-
if ( style.display == 'none' ) {
|
421 |
-
return getZeroSize();
|
422 |
-
}
|
423 |
-
|
424 |
-
var size = {};
|
425 |
-
size.width = elem.offsetWidth;
|
426 |
-
size.height = elem.offsetHeight;
|
427 |
-
|
428 |
-
var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
|
429 |
-
|
430 |
-
// get all measurements
|
431 |
-
for ( var i=0; i < measurementsLength; i++ ) {
|
432 |
-
var measurement = measurements[i];
|
433 |
-
var value = style[ measurement ];
|
434 |
-
var num = parseFloat( value );
|
435 |
-
// any 'auto', 'medium' value will be 0
|
436 |
-
size[ measurement ] = !isNaN( num ) ? num : 0;
|
437 |
-
}
|
438 |
-
|
439 |
-
var paddingWidth = size.paddingLeft + size.paddingRight;
|
440 |
-
var paddingHeight = size.paddingTop + size.paddingBottom;
|
441 |
-
var marginWidth = size.marginLeft + size.marginRight;
|
442 |
-
var marginHeight = size.marginTop + size.marginBottom;
|
443 |
-
var borderWidth = size.borderLeftWidth + size.borderRightWidth;
|
444 |
-
var borderHeight = size.borderTopWidth + size.borderBottomWidth;
|
445 |
-
|
446 |
-
var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
|
447 |
-
|
448 |
-
// overwrite width and height if we can get it from style
|
449 |
-
var styleWidth = getStyleSize( style.width );
|
450 |
-
if ( styleWidth !== false ) {
|
451 |
-
size.width = styleWidth +
|
452 |
-
// add padding and border unless it's already including it
|
453 |
-
( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
|
454 |
-
}
|
455 |
-
|
456 |
-
var styleHeight = getStyleSize( style.height );
|
457 |
-
if ( styleHeight !== false ) {
|
458 |
-
size.height = styleHeight +
|
459 |
-
// add padding and border unless it's already including it
|
460 |
-
( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
|
461 |
-
}
|
462 |
-
|
463 |
-
size.innerWidth = size.width - ( paddingWidth + borderWidth );
|
464 |
-
size.innerHeight = size.height - ( paddingHeight + borderHeight );
|
465 |
-
|
466 |
-
size.outerWidth = size.width + marginWidth;
|
467 |
-
size.outerHeight = size.height + marginHeight;
|
468 |
-
|
469 |
-
return size;
|
470 |
-
}
|
471 |
-
|
472 |
-
return getSize;
|
473 |
-
|
474 |
-
});
|
475 |
-
|
476 |
-
/**
|
477 |
-
* matchesSelector v2.0.2
|
478 |
-
* matchesSelector( element, '.selector' )
|
479 |
-
* MIT license
|
480 |
-
*/
|
481 |
-
|
482 |
-
/*jshint browser: true, strict: true, undef: true, unused: true */
|
483 |
-
|
484 |
-
( function( window, factory ) {
|
485 |
-
/*global define: false, module: false */
|
486 |
-
'use strict';
|
487 |
-
// universal module definition
|
488 |
-
if ( typeof define == 'function' && define.amd ) {
|
489 |
-
// AMD
|
490 |
-
define( 'desandro-matches-selector/matches-selector',factory );
|
491 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
492 |
-
// CommonJS
|
493 |
-
module.exports = factory();
|
494 |
-
} else {
|
495 |
-
// browser global
|
496 |
-
window.matchesSelector = factory();
|
497 |
-
}
|
498 |
-
|
499 |
-
}( window, function factory() {
|
500 |
-
'use strict';
|
501 |
-
|
502 |
-
var matchesMethod = ( function() {
|
503 |
-
var ElemProto = window.Element.prototype;
|
504 |
-
// check for the standard method name first
|
505 |
-
if ( ElemProto.matches ) {
|
506 |
-
return 'matches';
|
507 |
-
}
|
508 |
-
// check un-prefixed
|
509 |
-
if ( ElemProto.matchesSelector ) {
|
510 |
-
return 'matchesSelector';
|
511 |
-
}
|
512 |
-
// check vendor prefixes
|
513 |
-
var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
|
514 |
-
|
515 |
-
for ( var i=0; i < prefixes.length; i++ ) {
|
516 |
-
var prefix = prefixes[i];
|
517 |
-
var method = prefix + 'MatchesSelector';
|
518 |
-
if ( ElemProto[ method ] ) {
|
519 |
-
return method;
|
520 |
-
}
|
521 |
-
}
|
522 |
-
})();
|
523 |
-
|
524 |
-
return function matchesSelector( elem, selector ) {
|
525 |
-
return elem[ matchesMethod ]( selector );
|
526 |
-
};
|
527 |
-
|
528 |
-
}));
|
529 |
-
|
530 |
-
/**
|
531 |
-
* Fizzy UI utils v2.0.7
|
532 |
-
* MIT license
|
533 |
-
*/
|
534 |
-
|
535 |
-
/*jshint browser: true, undef: true, unused: true, strict: true */
|
536 |
-
|
537 |
-
( function( window, factory ) {
|
538 |
-
// universal module definition
|
539 |
-
/*jshint strict: false */ /*globals define, module, require */
|
540 |
-
|
541 |
-
if ( typeof define == 'function' && define.amd ) {
|
542 |
-
// AMD
|
543 |
-
define( 'fizzy-ui-utils/utils',[
|
544 |
-
'desandro-matches-selector/matches-selector'
|
545 |
-
], function( matchesSelector ) {
|
546 |
-
return factory( window, matchesSelector );
|
547 |
-
});
|
548 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
549 |
-
// CommonJS
|
550 |
-
module.exports = factory(
|
551 |
-
window,
|
552 |
-
require('desandro-matches-selector')
|
553 |
-
);
|
554 |
-
} else {
|
555 |
-
// browser global
|
556 |
-
window.fizzyUIUtils = factory(
|
557 |
-
window,
|
558 |
-
window.matchesSelector
|
559 |
-
);
|
560 |
-
}
|
561 |
-
|
562 |
-
}( window, function factory( window, matchesSelector ) {
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
var utils = {};
|
567 |
-
|
568 |
-
// ----- extend ----- //
|
569 |
-
|
570 |
-
// extends objects
|
571 |
-
utils.extend = function( a, b ) {
|
572 |
-
for ( var prop in b ) {
|
573 |
-
a[ prop ] = b[ prop ];
|
574 |
-
}
|
575 |
-
return a;
|
576 |
-
};
|
577 |
-
|
578 |
-
// ----- modulo ----- //
|
579 |
-
|
580 |
-
utils.modulo = function( num, div ) {
|
581 |
-
return ( ( num % div ) + div ) % div;
|
582 |
-
};
|
583 |
-
|
584 |
-
// ----- makeArray ----- //
|
585 |
-
|
586 |
-
var arraySlice = Array.prototype.slice;
|
587 |
-
|
588 |
-
// turn element or nodeList into an array
|
589 |
-
utils.makeArray = function( obj ) {
|
590 |
-
if ( Array.isArray( obj ) ) {
|
591 |
-
// use object if already an array
|
592 |
-
return obj;
|
593 |
-
}
|
594 |
-
// return empty array if undefined or null. #6
|
595 |
-
if ( obj === null || obj === undefined ) {
|
596 |
-
return [];
|
597 |
-
}
|
598 |
-
|
599 |
-
var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
|
600 |
-
if ( isArrayLike ) {
|
601 |
-
// convert nodeList to array
|
602 |
-
return arraySlice.call( obj );
|
603 |
-
}
|
604 |
-
|
605 |
-
// array of single index
|
606 |
-
return [ obj ];
|
607 |
-
};
|
608 |
-
|
609 |
-
// ----- removeFrom ----- //
|
610 |
-
|
611 |
-
utils.removeFrom = function( ary, obj ) {
|
612 |
-
var index = ary.indexOf( obj );
|
613 |
-
if ( index != -1 ) {
|
614 |
-
ary.splice( index, 1 );
|
615 |
-
}
|
616 |
-
};
|
617 |
-
|
618 |
-
// ----- getParent ----- //
|
619 |
-
|
620 |
-
utils.getParent = function( elem, selector ) {
|
621 |
-
while ( elem.parentNode && elem != document.body ) {
|
622 |
-
elem = elem.parentNode;
|
623 |
-
if ( matchesSelector( elem, selector ) ) {
|
624 |
-
return elem;
|
625 |
-
}
|
626 |
-
}
|
627 |
-
};
|
628 |
-
|
629 |
-
// ----- getQueryElement ----- //
|
630 |
-
|
631 |
-
// use element as selector string
|
632 |
-
utils.getQueryElement = function( elem ) {
|
633 |
-
if ( typeof elem == 'string' ) {
|
634 |
-
return document.querySelector( elem );
|
635 |
-
}
|
636 |
-
return elem;
|
637 |
-
};
|
638 |
-
|
639 |
-
// ----- handleEvent ----- //
|
640 |
-
|
641 |
-
// enable .ontype to trigger from .addEventListener( elem, 'type' )
|
642 |
-
utils.handleEvent = function( event ) {
|
643 |
-
var method = 'on' + event.type;
|
644 |
-
if ( this[ method ] ) {
|
645 |
-
this[ method ]( event );
|
646 |
-
}
|
647 |
-
};
|
648 |
-
|
649 |
-
// ----- filterFindElements ----- //
|
650 |
-
|
651 |
-
utils.filterFindElements = function( elems, selector ) {
|
652 |
-
// make array of elems
|
653 |
-
elems = utils.makeArray( elems );
|
654 |
-
var ffElems = [];
|
655 |
-
|
656 |
-
elems.forEach( function( elem ) {
|
657 |
-
// check that elem is an actual element
|
658 |
-
if ( !( elem instanceof HTMLElement ) ) {
|
659 |
-
return;
|
660 |
-
}
|
661 |
-
// add elem if no selector
|
662 |
-
if ( !selector ) {
|
663 |
-
ffElems.push( elem );
|
664 |
-
return;
|
665 |
-
}
|
666 |
-
// filter & find items if we have a selector
|
667 |
-
// filter
|
668 |
-
if ( matchesSelector( elem, selector ) ) {
|
669 |
-
ffElems.push( elem );
|
670 |
-
}
|
671 |
-
// find children
|
672 |
-
var childElems = elem.querySelectorAll( selector );
|
673 |
-
// concat childElems to filterFound array
|
674 |
-
for ( var i=0; i < childElems.length; i++ ) {
|
675 |
-
ffElems.push( childElems[i] );
|
676 |
-
}
|
677 |
-
});
|
678 |
-
|
679 |
-
return ffElems;
|
680 |
-
};
|
681 |
-
|
682 |
-
// ----- debounceMethod ----- //
|
683 |
-
|
684 |
-
utils.debounceMethod = function( _class, methodName, threshold ) {
|
685 |
-
threshold = threshold || 100;
|
686 |
-
// original method
|
687 |
-
var method = _class.prototype[ methodName ];
|
688 |
-
var timeoutName = methodName + 'Timeout';
|
689 |
-
|
690 |
-
_class.prototype[ methodName ] = function() {
|
691 |
-
var timeout = this[ timeoutName ];
|
692 |
-
clearTimeout( timeout );
|
693 |
-
|
694 |
-
var args = arguments;
|
695 |
-
var _this = this;
|
696 |
-
this[ timeoutName ] = setTimeout( function() {
|
697 |
-
method.apply( _this, args );
|
698 |
-
delete _this[ timeoutName ];
|
699 |
-
}, threshold );
|
700 |
-
};
|
701 |
-
};
|
702 |
-
|
703 |
-
// ----- docReady ----- //
|
704 |
-
|
705 |
-
utils.docReady = function( callback ) {
|
706 |
-
var readyState = document.readyState;
|
707 |
-
if ( readyState == 'complete' || readyState == 'interactive' ) {
|
708 |
-
// do async to allow for other scripts to run. metafizzy/flickity#441
|
709 |
-
setTimeout( callback );
|
710 |
-
} else {
|
711 |
-
document.addEventListener( 'DOMContentLoaded', callback );
|
712 |
-
}
|
713 |
-
};
|
714 |
-
|
715 |
-
// ----- htmlInit ----- //
|
716 |
-
|
717 |
-
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
|
718 |
-
utils.toDashed = function( str ) {
|
719 |
-
return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
|
720 |
-
return $1 + '-' + $2;
|
721 |
-
}).toLowerCase();
|
722 |
-
};
|
723 |
-
|
724 |
-
var console = window.console;
|
725 |
-
/**
|
726 |
-
* allow user to initialize classes via [data-namespace] or .js-namespace class
|
727 |
-
* htmlInit( Widget, 'widgetName' )
|
728 |
-
* options are parsed from data-namespace-options
|
729 |
-
*/
|
730 |
-
utils.htmlInit = function( WidgetClass, namespace ) {
|
731 |
-
utils.docReady( function() {
|
732 |
-
var dashedNamespace = utils.toDashed( namespace );
|
733 |
-
var dataAttr = 'data-' + dashedNamespace;
|
734 |
-
var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
|
735 |
-
var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
|
736 |
-
var elems = utils.makeArray( dataAttrElems )
|
737 |
-
.concat( utils.makeArray( jsDashElems ) );
|
738 |
-
var dataOptionsAttr = dataAttr + '-options';
|
739 |
-
var jQuery = window.jQuery;
|
740 |
-
|
741 |
-
elems.forEach( function( elem ) {
|
742 |
-
var attr = elem.getAttribute( dataAttr ) ||
|
743 |
-
elem.getAttribute( dataOptionsAttr );
|
744 |
-
var options;
|
745 |
-
try {
|
746 |
-
options = attr && JSON.parse( attr );
|
747 |
-
} catch ( error ) {
|
748 |
-
// log error, do not initialize
|
749 |
-
if ( console ) {
|
750 |
-
console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
|
751 |
-
': ' + error );
|
752 |
-
}
|
753 |
-
return;
|
754 |
-
}
|
755 |
-
// initialize
|
756 |
-
var instance = new WidgetClass( elem, options );
|
757 |
-
// make available via $().data('namespace')
|
758 |
-
if ( jQuery ) {
|
759 |
-
jQuery.data( elem, namespace, instance );
|
760 |
-
}
|
761 |
-
});
|
762 |
-
|
763 |
-
});
|
764 |
-
};
|
765 |
-
|
766 |
-
// ----- ----- //
|
767 |
-
|
768 |
-
return utils;
|
769 |
-
|
770 |
-
}));
|
771 |
-
|
772 |
-
/**
|
773 |
-
* Outlayer Item
|
774 |
-
*/
|
775 |
-
|
776 |
-
( function( window, factory ) {
|
777 |
-
// universal module definition
|
778 |
-
/* jshint strict: false */ /* globals define, module, require */
|
779 |
-
if ( typeof define == 'function' && define.amd ) {
|
780 |
-
// AMD - RequireJS
|
781 |
-
define( 'outlayer/item',[
|
782 |
-
'ev-emitter/ev-emitter',
|
783 |
-
'get-size/get-size'
|
784 |
-
],
|
785 |
-
factory
|
786 |
-
);
|
787 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
788 |
-
// CommonJS - Browserify, Webpack
|
789 |
-
module.exports = factory(
|
790 |
-
require('ev-emitter'),
|
791 |
-
require('get-size')
|
792 |
-
);
|
793 |
-
} else {
|
794 |
-
// browser global
|
795 |
-
window.Outlayer = {};
|
796 |
-
window.Outlayer.Item = factory(
|
797 |
-
window.EvEmitter,
|
798 |
-
window.getSize
|
799 |
-
);
|
800 |
-
}
|
801 |
-
|
802 |
-
}( window, function factory( EvEmitter, getSize ) {
|
803 |
-
'use strict';
|
804 |
-
|
805 |
-
// ----- helpers ----- //
|
806 |
-
|
807 |
-
function isEmptyObj( obj ) {
|
808 |
-
for ( var prop in obj ) {
|
809 |
-
return false;
|
810 |
-
}
|
811 |
-
prop = null;
|
812 |
-
return true;
|
813 |
-
}
|
814 |
-
|
815 |
-
// -------------------------- CSS3 support -------------------------- //
|
816 |
-
|
817 |
-
|
818 |
-
var docElemStyle = document.documentElement.style;
|
819 |
-
|
820 |
-
var transitionProperty = typeof docElemStyle.transition == 'string' ?
|
821 |
-
'transition' : 'WebkitTransition';
|
822 |
-
var transformProperty = typeof docElemStyle.transform == 'string' ?
|
823 |
-
'transform' : 'WebkitTransform';
|
824 |
-
|
825 |
-
var transitionEndEvent = {
|
826 |
-
WebkitTransition: 'webkitTransitionEnd',
|
827 |
-
transition: 'transitionend'
|
828 |
-
}[ transitionProperty ];
|
829 |
-
|
830 |
-
// cache all vendor properties that could have vendor prefix
|
831 |
-
var vendorProperties = {
|
832 |
-
transform: transformProperty,
|
833 |
-
transition: transitionProperty,
|
834 |
-
transitionDuration: transitionProperty + 'Duration',
|
835 |
-
transitionProperty: transitionProperty + 'Property',
|
836 |
-
transitionDelay: transitionProperty + 'Delay'
|
837 |
-
};
|
838 |
-
|
839 |
-
// -------------------------- Item -------------------------- //
|
840 |
-
|
841 |
-
function Item( element, layout ) {
|
842 |
-
if ( !element ) {
|
843 |
-
return;
|
844 |
-
}
|
845 |
-
|
846 |
-
this.element = element;
|
847 |
-
// parent layout class, i.e. Masonry, Isotope, or Packery
|
848 |
-
this.layout = layout;
|
849 |
-
this.position = {
|
850 |
-
x: 0,
|
851 |
-
y: 0
|
852 |
-
};
|
853 |
-
|
854 |
-
this._create();
|
855 |
-
}
|
856 |
-
|
857 |
-
// inherit EvEmitter
|
858 |
-
var proto = Item.prototype = Object.create( EvEmitter.prototype );
|
859 |
-
proto.constructor = Item;
|
860 |
-
|
861 |
-
proto._create = function() {
|
862 |
-
// transition objects
|
863 |
-
this._transn = {
|
864 |
-
ingProperties: {},
|
865 |
-
clean: {},
|
866 |
-
onEnd: {}
|
867 |
-
};
|
868 |
-
|
869 |
-
this.css({
|
870 |
-
position: 'absolute'
|
871 |
-
});
|
872 |
-
};
|
873 |
-
|
874 |
-
// trigger specified handler for event type
|
875 |
-
proto.handleEvent = function( event ) {
|
876 |
-
var method = 'on' + event.type;
|
877 |
-
if ( this[ method ] ) {
|
878 |
-
this[ method ]( event );
|
879 |
-
}
|
880 |
-
};
|
881 |
-
|
882 |
-
proto.getSize = function() {
|
883 |
-
this.size = getSize( this.element );
|
884 |
-
};
|
885 |
-
|
886 |
-
/**
|
887 |
-
* apply CSS styles to element
|
888 |
-
* @param {Object} style
|
889 |
-
*/
|
890 |
-
proto.css = function( style ) {
|
891 |
-
var elemStyle = this.element.style;
|
892 |
-
|
893 |
-
for ( var prop in style ) {
|
894 |
-
// use vendor property if available
|
895 |
-
var supportedProp = vendorProperties[ prop ] || prop;
|
896 |
-
elemStyle[ supportedProp ] = style[ prop ];
|
897 |
-
}
|
898 |
-
};
|
899 |
-
|
900 |
-
// measure position, and sets it
|
901 |
-
proto.getPosition = function() {
|
902 |
-
var style = getComputedStyle( this.element );
|
903 |
-
var isOriginLeft = this.layout._getOption('originLeft');
|
904 |
-
var isOriginTop = this.layout._getOption('originTop');
|
905 |
-
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
|
906 |
-
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
|
907 |
-
var x = parseFloat( xValue );
|
908 |
-
var y = parseFloat( yValue );
|
909 |
-
// convert percent to pixels
|
910 |
-
var layoutSize = this.layout.size;
|
911 |
-
if ( xValue.indexOf('%') != -1 ) {
|
912 |
-
x = ( x / 100 ) * layoutSize.width;
|
913 |
-
}
|
914 |
-
if ( yValue.indexOf('%') != -1 ) {
|
915 |
-
y = ( y / 100 ) * layoutSize.height;
|
916 |
-
}
|
917 |
-
// clean up 'auto' or other non-integer values
|
918 |
-
x = isNaN( x ) ? 0 : x;
|
919 |
-
y = isNaN( y ) ? 0 : y;
|
920 |
-
// remove padding from measurement
|
921 |
-
x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
|
922 |
-
y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
|
923 |
-
|
924 |
-
this.position.x = x;
|
925 |
-
this.position.y = y;
|
926 |
-
};
|
927 |
-
|
928 |
-
// set settled position, apply padding
|
929 |
-
proto.layoutPosition = function() {
|
930 |
-
var layoutSize = this.layout.size;
|
931 |
-
var style = {};
|
932 |
-
var isOriginLeft = this.layout._getOption('originLeft');
|
933 |
-
var isOriginTop = this.layout._getOption('originTop');
|
934 |
-
|
935 |
-
// x
|
936 |
-
var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
|
937 |
-
var xProperty = isOriginLeft ? 'left' : 'right';
|
938 |
-
var xResetProperty = isOriginLeft ? 'right' : 'left';
|
939 |
-
|
940 |
-
var x = this.position.x + layoutSize[ xPadding ];
|
941 |
-
// set in percentage or pixels
|
942 |
-
style[ xProperty ] = this.getXValue( x );
|
943 |
-
// reset other property
|
944 |
-
style[ xResetProperty ] = '';
|
945 |
-
|
946 |
-
// y
|
947 |
-
var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
|
948 |
-
var yProperty = isOriginTop ? 'top' : 'bottom';
|
949 |
-
var yResetProperty = isOriginTop ? 'bottom' : 'top';
|
950 |
-
|
951 |
-
var y = this.position.y + layoutSize[ yPadding ];
|
952 |
-
// set in percentage or pixels
|
953 |
-
style[ yProperty ] = this.getYValue( y );
|
954 |
-
// reset other property
|
955 |
-
style[ yResetProperty ] = '';
|
956 |
-
|
957 |
-
this.css( style );
|
958 |
-
this.emitEvent( 'layout', [ this ] );
|
959 |
-
};
|
960 |
-
|
961 |
-
proto.getXValue = function( x ) {
|
962 |
-
var isHorizontal = this.layout._getOption('horizontal');
|
963 |
-
return this.layout.options.percentPosition && !isHorizontal ?
|
964 |
-
( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
|
965 |
-
};
|
966 |
-
|
967 |
-
proto.getYValue = function( y ) {
|
968 |
-
var isHorizontal = this.layout._getOption('horizontal');
|
969 |
-
return this.layout.options.percentPosition && isHorizontal ?
|
970 |
-
( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
|
971 |
-
};
|
972 |
-
|
973 |
-
proto._transitionTo = function( x, y ) {
|
974 |
-
this.getPosition();
|
975 |
-
// get current x & y from top/left
|
976 |
-
var curX = this.position.x;
|
977 |
-
var curY = this.position.y;
|
978 |
-
|
979 |
-
var didNotMove = x == this.position.x && y == this.position.y;
|
980 |
-
|
981 |
-
// save end position
|
982 |
-
this.setPosition( x, y );
|
983 |
-
|
984 |
-
// if did not move and not transitioning, just go to layout
|
985 |
-
if ( didNotMove && !this.isTransitioning ) {
|
986 |
-
this.layoutPosition();
|
987 |
-
return;
|
988 |
-
}
|
989 |
-
|
990 |
-
var transX = x - curX;
|
991 |
-
var transY = y - curY;
|
992 |
-
var transitionStyle = {};
|
993 |
-
transitionStyle.transform = this.getTranslate( transX, transY );
|
994 |
-
|
995 |
-
this.transition({
|
996 |
-
to: transitionStyle,
|
997 |
-
onTransitionEnd: {
|
998 |
-
transform: this.layoutPosition
|
999 |
-
},
|
1000 |
-
isCleaning: true
|
1001 |
-
});
|
1002 |
-
};
|
1003 |
-
|
1004 |
-
proto.getTranslate = function( x, y ) {
|
1005 |
-
// flip cooridinates if origin on right or bottom
|
1006 |
-
var isOriginLeft = this.layout._getOption('originLeft');
|
1007 |
-
var isOriginTop = this.layout._getOption('originTop');
|
1008 |
-
x = isOriginLeft ? x : -x;
|
1009 |
-
y = isOriginTop ? y : -y;
|
1010 |
-
return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
|
1011 |
-
};
|
1012 |
-
|
1013 |
-
// non transition + transform support
|
1014 |
-
proto.goTo = function( x, y ) {
|
1015 |
-
this.setPosition( x, y );
|
1016 |
-
this.layoutPosition();
|
1017 |
-
};
|
1018 |
-
|
1019 |
-
proto.moveTo = proto._transitionTo;
|
1020 |
-
|
1021 |
-
proto.setPosition = function( x, y ) {
|
1022 |
-
this.position.x = parseFloat( x );
|
1023 |
-
this.position.y = parseFloat( y );
|
1024 |
-
};
|
1025 |
-
|
1026 |
-
// ----- transition ----- //
|
1027 |
-
|
1028 |
-
/**
|
1029 |
-
* @param {Object} style - CSS
|
1030 |
-
* @param {Function} onTransitionEnd
|
1031 |
-
*/
|
1032 |
-
|
1033 |
-
// non transition, just trigger callback
|
1034 |
-
proto._nonTransition = function( args ) {
|
1035 |
-
this.css( args.to );
|
1036 |
-
if ( args.isCleaning ) {
|
1037 |
-
this._removeStyles( args.to );
|
1038 |
-
}
|
1039 |
-
for ( var prop in args.onTransitionEnd ) {
|
1040 |
-
args.onTransitionEnd[ prop ].call( this );
|
1041 |
-
}
|
1042 |
-
};
|
1043 |
-
|
1044 |
-
/**
|
1045 |
-
* proper transition
|
1046 |
-
* @param {Object} args - arguments
|
1047 |
-
* @param {Object} to - style to transition to
|
1048 |
-
* @param {Object} from - style to start transition from
|
1049 |
-
* @param {Boolean} isCleaning - removes transition styles after transition
|
1050 |
-
* @param {Function} onTransitionEnd - callback
|
1051 |
-
*/
|
1052 |
-
proto.transition = function( args ) {
|
1053 |
-
// redirect to nonTransition if no transition duration
|
1054 |
-
if ( !parseFloat( this.layout.options.transitionDuration ) ) {
|
1055 |
-
this._nonTransition( args );
|
1056 |
-
return;
|
1057 |
-
}
|
1058 |
-
|
1059 |
-
var _transition = this._transn;
|
1060 |
-
// keep track of onTransitionEnd callback by css property
|
1061 |
-
for ( var prop in args.onTransitionEnd ) {
|
1062 |
-
_transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];
|
1063 |
-
}
|
1064 |
-
// keep track of properties that are transitioning
|
1065 |
-
for ( prop in args.to ) {
|
1066 |
-
_transition.ingProperties[ prop ] = true;
|
1067 |
-
// keep track of properties to clean up when transition is done
|
1068 |
-
if ( args.isCleaning ) {
|
1069 |
-
_transition.clean[ prop ] = true;
|
1070 |
-
}
|
1071 |
-
}
|
1072 |
-
|
1073 |
-
// set from styles
|
1074 |
-
if ( args.from ) {
|
1075 |
-
this.css( args.from );
|
1076 |
-
// force redraw. http://blog.alexmaccaw.com/css-transitions
|
1077 |
-
var h = this.element.offsetHeight;
|
1078 |
-
// hack for JSHint to hush about unused var
|
1079 |
-
h = null;
|
1080 |
-
}
|
1081 |
-
// enable transition
|
1082 |
-
this.enableTransition( args.to );
|
1083 |
-
// set styles that are transitioning
|
1084 |
-
this.css( args.to );
|
1085 |
-
|
1086 |
-
this.isTransitioning = true;
|
1087 |
-
|
1088 |
-
};
|
1089 |
-
|
1090 |
-
// dash before all cap letters, including first for
|
1091 |
-
// WebkitTransform => -webkit-transform
|
1092 |
-
function toDashedAll( str ) {
|
1093 |
-
return str.replace( /([A-Z])/g, function( $1 ) {
|
1094 |
-
return '-' + $1.toLowerCase();
|
1095 |
-
});
|
1096 |
-
}
|
1097 |
-
|
1098 |
-
var transitionProps = 'opacity,' + toDashedAll( transformProperty );
|
1099 |
-
|
1100 |
-
proto.enableTransition = function(/* style */) {
|
1101 |
-
// HACK changing transitionProperty during a transition
|
1102 |
-
// will cause transition to jump
|
1103 |
-
if ( this.isTransitioning ) {
|
1104 |
-
return;
|
1105 |
-
}
|
1106 |
-
|
1107 |
-
// make `transition: foo, bar, baz` from style object
|
1108 |
-
// HACK un-comment this when enableTransition can work
|
1109 |
-
// while a transition is happening
|
1110 |
-
// var transitionValues = [];
|
1111 |
-
// for ( var prop in style ) {
|
1112 |
-
// // dash-ify camelCased properties like WebkitTransition
|
1113 |
-
// prop = vendorProperties[ prop ] || prop;
|
1114 |
-
// transitionValues.push( toDashedAll( prop ) );
|
1115 |
-
// }
|
1116 |
-
// munge number to millisecond, to match stagger
|
1117 |
-
var duration = this.layout.options.transitionDuration;
|
1118 |
-
duration = typeof duration == 'number' ? duration + 'ms' : duration;
|
1119 |
-
// enable transition styles
|
1120 |
-
this.css({
|
1121 |
-
transitionProperty: transitionProps,
|
1122 |
-
transitionDuration: duration,
|
1123 |
-
transitionDelay: this.staggerDelay || 0
|
1124 |
-
});
|
1125 |
-
// listen for transition end event
|
1126 |
-
this.element.addEventListener( transitionEndEvent, this, false );
|
1127 |
-
};
|
1128 |
-
|
1129 |
-
// ----- events ----- //
|
1130 |
-
|
1131 |
-
proto.onwebkitTransitionEnd = function( event ) {
|
1132 |
-
this.ontransitionend( event );
|
1133 |
-
};
|
1134 |
-
|
1135 |
-
proto.onotransitionend = function( event ) {
|
1136 |
-
this.ontransitionend( event );
|
1137 |
-
};
|
1138 |
-
|
1139 |
-
// properties that I munge to make my life easier
|
1140 |
-
var dashedVendorProperties = {
|
1141 |
-
'-webkit-transform': 'transform'
|
1142 |
-
};
|
1143 |
-
|
1144 |
-
proto.ontransitionend = function( event ) {
|
1145 |
-
// disregard bubbled events from children
|
1146 |
-
if ( event.target !== this.element ) {
|
1147 |
-
return;
|
1148 |
-
}
|
1149 |
-
var _transition = this._transn;
|
1150 |
-
// get property name of transitioned property, convert to prefix-free
|
1151 |
-
var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;
|
1152 |
-
|
1153 |
-
// remove property that has completed transitioning
|
1154 |
-
delete _transition.ingProperties[ propertyName ];
|
1155 |
-
// check if any properties are still transitioning
|
1156 |
-
if ( isEmptyObj( _transition.ingProperties ) ) {
|
1157 |
-
// all properties have completed transitioning
|
1158 |
-
this.disableTransition();
|
1159 |
-
}
|
1160 |
-
// clean style
|
1161 |
-
if ( propertyName in _transition.clean ) {
|
1162 |
-
// clean up style
|
1163 |
-
this.element.style[ event.propertyName ] = '';
|
1164 |
-
delete _transition.clean[ propertyName ];
|
1165 |
-
}
|
1166 |
-
// trigger onTransitionEnd callback
|
1167 |
-
if ( propertyName in _transition.onEnd ) {
|
1168 |
-
var onTransitionEnd = _transition.onEnd[ propertyName ];
|
1169 |
-
onTransitionEnd.call( this );
|
1170 |
-
delete _transition.onEnd[ propertyName ];
|
1171 |
-
}
|
1172 |
-
|
1173 |
-
this.emitEvent( 'transitionEnd', [ this ] );
|
1174 |
-
};
|
1175 |
-
|
1176 |
-
proto.disableTransition = function() {
|
1177 |
-
this.removeTransitionStyles();
|
1178 |
-
this.element.removeEventListener( transitionEndEvent, this, false );
|
1179 |
-
this.isTransitioning = false;
|
1180 |
-
};
|
1181 |
-
|
1182 |
-
/**
|
1183 |
-
* removes style property from element
|
1184 |
-
* @param {Object} style
|
1185 |
-
**/
|
1186 |
-
proto._removeStyles = function( style ) {
|
1187 |
-
// clean up transition styles
|
1188 |
-
var cleanStyle = {};
|
1189 |
-
for ( var prop in style ) {
|
1190 |
-
cleanStyle[ prop ] = '';
|
1191 |
-
}
|
1192 |
-
this.css( cleanStyle );
|
1193 |
-
};
|
1194 |
-
|
1195 |
-
var cleanTransitionStyle = {
|
1196 |
-
transitionProperty: '',
|
1197 |
-
transitionDuration: '',
|
1198 |
-
transitionDelay: ''
|
1199 |
-
};
|
1200 |
-
|
1201 |
-
proto.removeTransitionStyles = function() {
|
1202 |
-
// remove transition
|
1203 |
-
this.css( cleanTransitionStyle );
|
1204 |
-
};
|
1205 |
-
|
1206 |
-
// ----- stagger ----- //
|
1207 |
-
|
1208 |
-
proto.stagger = function( delay ) {
|
1209 |
-
delay = isNaN( delay ) ? 0 : delay;
|
1210 |
-
this.staggerDelay = delay + 'ms';
|
1211 |
-
};
|
1212 |
-
|
1213 |
-
// ----- show/hide/remove ----- //
|
1214 |
-
|
1215 |
-
// remove element from DOM
|
1216 |
-
proto.removeElem = function() {
|
1217 |
-
this.element.parentNode.removeChild( this.element );
|
1218 |
-
// remove display: none
|
1219 |
-
this.css({ display: '' });
|
1220 |
-
this.emitEvent( 'remove', [ this ] );
|
1221 |
-
};
|
1222 |
-
|
1223 |
-
proto.remove = function() {
|
1224 |
-
// just remove element if no transition support or no transition
|
1225 |
-
if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
|
1226 |
-
this.removeElem();
|
1227 |
-
return;
|
1228 |
-
}
|
1229 |
-
|
1230 |
-
// start transition
|
1231 |
-
this.once( 'transitionEnd', function() {
|
1232 |
-
this.removeElem();
|
1233 |
-
});
|
1234 |
-
this.hide();
|
1235 |
-
};
|
1236 |
-
|
1237 |
-
proto.reveal = function() {
|
1238 |
-
delete this.isHidden;
|
1239 |
-
// remove display: none
|
1240 |
-
this.css({ display: '' });
|
1241 |
-
|
1242 |
-
var options = this.layout.options;
|
1243 |
-
|
1244 |
-
var onTransitionEnd = {};
|
1245 |
-
var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
|
1246 |
-
onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
|
1247 |
-
|
1248 |
-
this.transition({
|
1249 |
-
from: options.hiddenStyle,
|
1250 |
-
to: options.visibleStyle,
|
1251 |
-
isCleaning: true,
|
1252 |
-
onTransitionEnd: onTransitionEnd
|
1253 |
-
});
|
1254 |
-
};
|
1255 |
-
|
1256 |
-
proto.onRevealTransitionEnd = function() {
|
1257 |
-
// check if still visible
|
1258 |
-
// during transition, item may have been hidden
|
1259 |
-
if ( !this.isHidden ) {
|
1260 |
-
this.emitEvent('reveal');
|
1261 |
-
}
|
1262 |
-
};
|
1263 |
-
|
1264 |
-
/**
|
1265 |
-
* get style property use for hide/reveal transition end
|
1266 |
-
* @param {String} styleProperty - hiddenStyle/visibleStyle
|
1267 |
-
* @returns {String}
|
1268 |
-
*/
|
1269 |
-
proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
|
1270 |
-
var optionStyle = this.layout.options[ styleProperty ];
|
1271 |
-
// use opacity
|
1272 |
-
if ( optionStyle.opacity ) {
|
1273 |
-
return 'opacity';
|
1274 |
-
}
|
1275 |
-
// get first property
|
1276 |
-
for ( var prop in optionStyle ) {
|
1277 |
-
return prop;
|
1278 |
-
}
|
1279 |
-
};
|
1280 |
-
|
1281 |
-
proto.hide = function() {
|
1282 |
-
// set flag
|
1283 |
-
this.isHidden = true;
|
1284 |
-
// remove display: none
|
1285 |
-
this.css({ display: '' });
|
1286 |
-
|
1287 |
-
var options = this.layout.options;
|
1288 |
-
|
1289 |
-
var onTransitionEnd = {};
|
1290 |
-
var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
|
1291 |
-
onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
|
1292 |
-
|
1293 |
-
this.transition({
|
1294 |
-
from: options.visibleStyle,
|
1295 |
-
to: options.hiddenStyle,
|
1296 |
-
// keep hidden stuff hidden
|
1297 |
-
isCleaning: true,
|
1298 |
-
onTransitionEnd: onTransitionEnd
|
1299 |
-
});
|
1300 |
-
};
|
1301 |
-
|
1302 |
-
proto.onHideTransitionEnd = function() {
|
1303 |
-
// check if still hidden
|
1304 |
-
// during transition, item may have been un-hidden
|
1305 |
-
if ( this.isHidden ) {
|
1306 |
-
this.css({ display: 'none' });
|
1307 |
-
this.emitEvent('hide');
|
1308 |
-
}
|
1309 |
-
};
|
1310 |
-
|
1311 |
-
proto.destroy = function() {
|
1312 |
-
this.css({
|
1313 |
-
position: '',
|
1314 |
-
left: '',
|
1315 |
-
right: '',
|
1316 |
-
top: '',
|
1317 |
-
bottom: '',
|
1318 |
-
transition: '',
|
1319 |
-
transform: ''
|
1320 |
-
});
|
1321 |
-
};
|
1322 |
-
|
1323 |
-
return Item;
|
1324 |
-
|
1325 |
-
}));
|
1326 |
-
|
1327 |
-
/*!
|
1328 |
-
* Outlayer v2.1.1
|
1329 |
-
* the brains and guts of a layout library
|
1330 |
-
* MIT license
|
1331 |
-
*/
|
1332 |
-
|
1333 |
-
( function( window, factory ) {
|
1334 |
-
'use strict';
|
1335 |
-
// universal module definition
|
1336 |
-
/* jshint strict: false */ /* globals define, module, require */
|
1337 |
-
if ( typeof define == 'function' && define.amd ) {
|
1338 |
-
// AMD - RequireJS
|
1339 |
-
define( 'outlayer/outlayer',[
|
1340 |
-
'ev-emitter/ev-emitter',
|
1341 |
-
'get-size/get-size',
|
1342 |
-
'fizzy-ui-utils/utils',
|
1343 |
-
'./item'
|
1344 |
-
],
|
1345 |
-
function( EvEmitter, getSize, utils, Item ) {
|
1346 |
-
return factory( window, EvEmitter, getSize, utils, Item);
|
1347 |
-
}
|
1348 |
-
);
|
1349 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
1350 |
-
// CommonJS - Browserify, Webpack
|
1351 |
-
module.exports = factory(
|
1352 |
-
window,
|
1353 |
-
require('ev-emitter'),
|
1354 |
-
require('get-size'),
|
1355 |
-
require('fizzy-ui-utils'),
|
1356 |
-
require('./item')
|
1357 |
-
);
|
1358 |
-
} else {
|
1359 |
-
// browser global
|
1360 |
-
window.Outlayer = factory(
|
1361 |
-
window,
|
1362 |
-
window.EvEmitter,
|
1363 |
-
window.getSize,
|
1364 |
-
window.fizzyUIUtils,
|
1365 |
-
window.Outlayer.Item
|
1366 |
-
);
|
1367 |
-
}
|
1368 |
-
|
1369 |
-
}( window, function factory( window, EvEmitter, getSize, utils, Item ) {
|
1370 |
-
'use strict';
|
1371 |
-
|
1372 |
-
// ----- vars ----- //
|
1373 |
-
|
1374 |
-
var console = window.console;
|
1375 |
-
var jQuery = window.jQuery;
|
1376 |
-
var noop = function() {};
|
1377 |
-
|
1378 |
-
// -------------------------- Outlayer -------------------------- //
|
1379 |
-
|
1380 |
-
// globally unique identifiers
|
1381 |
-
var GUID = 0;
|
1382 |
-
// internal store of all Outlayer intances
|
1383 |
-
var instances = {};
|
1384 |
-
|
1385 |
-
|
1386 |
-
/**
|
1387 |
-
* @param {Element, String} element
|
1388 |
-
* @param {Object} options
|
1389 |
-
* @constructor
|
1390 |
-
*/
|
1391 |
-
function Outlayer( element, options ) {
|
1392 |
-
var queryElement = utils.getQueryElement( element );
|
1393 |
-
if ( !queryElement ) {
|
1394 |
-
if ( console ) {
|
1395 |
-
console.error( 'Bad element for ' + this.constructor.namespace +
|
1396 |
-
': ' + ( queryElement || element ) );
|
1397 |
-
}
|
1398 |
-
return;
|
1399 |
-
}
|
1400 |
-
this.element = queryElement;
|
1401 |
-
// add jQuery
|
1402 |
-
if ( jQuery ) {
|
1403 |
-
this.$element = jQuery( this.element );
|
1404 |
-
}
|
1405 |
-
|
1406 |
-
// options
|
1407 |
-
this.options = utils.extend( {}, this.constructor.defaults );
|
1408 |
-
this.option( options );
|
1409 |
-
|
1410 |
-
// add id for Outlayer.getFromElement
|
1411 |
-
var id = ++GUID;
|
1412 |
-
this.element.outlayerGUID = id; // expando
|
1413 |
-
instances[ id ] = this; // associate via id
|
1414 |
-
|
1415 |
-
// kick it off
|
1416 |
-
this._create();
|
1417 |
-
|
1418 |
-
var isInitLayout = this._getOption('initLayout');
|
1419 |
-
if ( isInitLayout ) {
|
1420 |
-
this.layout();
|
1421 |
-
}
|
1422 |
-
}
|
1423 |
-
|
1424 |
-
// settings are for internal use only
|
1425 |
-
Outlayer.namespace = 'outlayer';
|
1426 |
-
Outlayer.Item = Item;
|
1427 |
-
|
1428 |
-
// default options
|
1429 |
-
Outlayer.defaults = {
|
1430 |
-
containerStyle: {
|
1431 |
-
position: 'relative'
|
1432 |
-
},
|
1433 |
-
initLayout: true,
|
1434 |
-
originLeft: true,
|
1435 |
-
originTop: true,
|
1436 |
-
resize: true,
|
1437 |
-
resizeContainer: true,
|
1438 |
-
// item options
|
1439 |
-
transitionDuration: '0.4s',
|
1440 |
-
hiddenStyle: {
|
1441 |
-
opacity: 0,
|
1442 |
-
transform: 'scale(0.001)'
|
1443 |
-
},
|
1444 |
-
visibleStyle: {
|
1445 |
-
opacity: 1,
|
1446 |
-
transform: 'scale(1)'
|
1447 |
-
}
|
1448 |
-
};
|
1449 |
-
|
1450 |
-
var proto = Outlayer.prototype;
|
1451 |
-
// inherit EvEmitter
|
1452 |
-
utils.extend( proto, EvEmitter.prototype );
|
1453 |
-
|
1454 |
-
/**
|
1455 |
-
* set options
|
1456 |
-
* @param {Object} opts
|
1457 |
-
*/
|
1458 |
-
proto.option = function( opts ) {
|
1459 |
-
utils.extend( this.options, opts );
|
1460 |
-
};
|
1461 |
-
|
1462 |
-
/**
|
1463 |
-
* get backwards compatible option value, check old name
|
1464 |
-
*/
|
1465 |
-
proto._getOption = function( option ) {
|
1466 |
-
var oldOption = this.constructor.compatOptions[ option ];
|
1467 |
-
return oldOption && this.options[ oldOption ] !== undefined ?
|
1468 |
-
this.options[ oldOption ] : this.options[ option ];
|
1469 |
-
};
|
1470 |
-
|
1471 |
-
Outlayer.compatOptions = {
|
1472 |
-
// currentName: oldName
|
1473 |
-
initLayout: 'isInitLayout',
|
1474 |
-
horizontal: 'isHorizontal',
|
1475 |
-
layoutInstant: 'isLayoutInstant',
|
1476 |
-
originLeft: 'isOriginLeft',
|
1477 |
-
originTop: 'isOriginTop',
|
1478 |
-
resize: 'isResizeBound',
|
1479 |
-
resizeContainer: 'isResizingContainer'
|
1480 |
-
};
|
1481 |
-
|
1482 |
-
proto._create = function() {
|
1483 |
-
// get items from children
|
1484 |
-
this.reloadItems();
|
1485 |
-
// elements that affect layout, but are not laid out
|
1486 |
-
this.stamps = [];
|
1487 |
-
this.stamp( this.options.stamp );
|
1488 |
-
// set container style
|
1489 |
-
utils.extend( this.element.style, this.options.containerStyle );
|
1490 |
-
|
1491 |
-
// bind resize method
|
1492 |
-
var canBindResize = this._getOption('resize');
|
1493 |
-
if ( canBindResize ) {
|
1494 |
-
this.bindResize();
|
1495 |
-
}
|
1496 |
-
};
|
1497 |
-
|
1498 |
-
// goes through all children again and gets bricks in proper order
|
1499 |
-
proto.reloadItems = function() {
|
1500 |
-
// collection of item elements
|
1501 |
-
this.items = this._itemize( this.element.children );
|
1502 |
-
};
|
1503 |
-
|
1504 |
-
|
1505 |
-
/**
|
1506 |
-
* turn elements into Outlayer.Items to be used in layout
|
1507 |
-
* @param {Array or NodeList or HTMLElement} elems
|
1508 |
-
* @returns {Array} items - collection of new Outlayer Items
|
1509 |
-
*/
|
1510 |
-
proto._itemize = function( elems ) {
|
1511 |
-
|
1512 |
-
var itemElems = this._filterFindItemElements( elems );
|
1513 |
-
var Item = this.constructor.Item;
|
1514 |
-
|
1515 |
-
// create new Outlayer Items for collection
|
1516 |
-
var items = [];
|
1517 |
-
for ( var i=0; i < itemElems.length; i++ ) {
|
1518 |
-
var elem = itemElems[i];
|
1519 |
-
var item = new Item( elem, this );
|
1520 |
-
items.push( item );
|
1521 |
-
}
|
1522 |
-
|
1523 |
-
return items;
|
1524 |
-
};
|
1525 |
-
|
1526 |
-
/**
|
1527 |
-
* get item elements to be used in layout
|
1528 |
-
* @param {Array or NodeList or HTMLElement} elems
|
1529 |
-
* @returns {Array} items - item elements
|
1530 |
-
*/
|
1531 |
-
proto._filterFindItemElements = function( elems ) {
|
1532 |
-
return utils.filterFindElements( elems, this.options.itemSelector );
|
1533 |
-
};
|
1534 |
-
|
1535 |
-
/**
|
1536 |
-
* getter method for getting item elements
|
1537 |
-
* @returns {Array} elems - collection of item elements
|
1538 |
-
*/
|
1539 |
-
proto.getItemElements = function() {
|
1540 |
-
return this.items.map( function( item ) {
|
1541 |
-
return item.element;
|
1542 |
-
});
|
1543 |
-
};
|
1544 |
-
|
1545 |
-
// ----- init & layout ----- //
|
1546 |
-
|
1547 |
-
/**
|
1548 |
-
* lays out all items
|
1549 |
-
*/
|
1550 |
-
proto.layout = function() {
|
1551 |
-
this._resetLayout();
|
1552 |
-
this._manageStamps();
|
1553 |
-
|
1554 |
-
// don't animate first layout
|
1555 |
-
var layoutInstant = this._getOption('layoutInstant');
|
1556 |
-
var isInstant = layoutInstant !== undefined ?
|
1557 |
-
layoutInstant : !this._isLayoutInited;
|
1558 |
-
this.layoutItems( this.items, isInstant );
|
1559 |
-
|
1560 |
-
// flag for initalized
|
1561 |
-
this._isLayoutInited = true;
|
1562 |
-
};
|
1563 |
-
|
1564 |
-
// _init is alias for layout
|
1565 |
-
proto._init = proto.layout;
|
1566 |
-
|
1567 |
-
/**
|
1568 |
-
* logic before any new layout
|
1569 |
-
*/
|
1570 |
-
proto._resetLayout = function() {
|
1571 |
-
this.getSize();
|
1572 |
-
};
|
1573 |
-
|
1574 |
-
|
1575 |
-
proto.getSize = function() {
|
1576 |
-
this.size = getSize( this.element );
|
1577 |
-
};
|
1578 |
-
|
1579 |
-
/**
|
1580 |
-
* get measurement from option, for columnWidth, rowHeight, gutter
|
1581 |
-
* if option is String -> get element from selector string, & get size of element
|
1582 |
-
* if option is Element -> get size of element
|
1583 |
-
* else use option as a number
|
1584 |
-
*
|
1585 |
-
* @param {String} measurement
|
1586 |
-
* @param {String} size - width or height
|
1587 |
-
* @private
|
1588 |
-
*/
|
1589 |
-
proto._getMeasurement = function( measurement, size ) {
|
1590 |
-
var option = this.options[ measurement ];
|
1591 |
-
var elem;
|
1592 |
-
if ( !option ) {
|
1593 |
-
// default to 0
|
1594 |
-
this[ measurement ] = 0;
|
1595 |
-
} else {
|
1596 |
-
// use option as an element
|
1597 |
-
if ( typeof option == 'string' ) {
|
1598 |
-
elem = this.element.querySelector( option );
|
1599 |
-
} else if ( option instanceof HTMLElement ) {
|
1600 |
-
elem = option;
|
1601 |
-
}
|
1602 |
-
// use size of element, if element
|
1603 |
-
this[ measurement ] = elem ? getSize( elem )[ size ] : option;
|
1604 |
-
}
|
1605 |
-
};
|
1606 |
-
|
1607 |
-
/**
|
1608 |
-
* layout a collection of item elements
|
1609 |
-
* @api public
|
1610 |
-
*/
|
1611 |
-
proto.layoutItems = function( items, isInstant ) {
|
1612 |
-
items = this._getItemsForLayout( items );
|
1613 |
-
|
1614 |
-
this._layoutItems( items, isInstant );
|
1615 |
-
|
1616 |
-
this._postLayout();
|
1617 |
-
};
|
1618 |
-
|
1619 |
-
/**
|
1620 |
-
* get the items to be laid out
|
1621 |
-
* you may want to skip over some items
|
1622 |
-
* @param {Array} items
|
1623 |
-
* @returns {Array} items
|
1624 |
-
*/
|
1625 |
-
proto._getItemsForLayout = function( items ) {
|
1626 |
-
return items.filter( function( item ) {
|
1627 |
-
return !item.isIgnored;
|
1628 |
-
});
|
1629 |
-
};
|
1630 |
-
|
1631 |
-
/**
|
1632 |
-
* layout items
|
1633 |
-
* @param {Array} items
|
1634 |
-
* @param {Boolean} isInstant
|
1635 |
-
*/
|
1636 |
-
proto._layoutItems = function( items, isInstant ) {
|
1637 |
-
this._emitCompleteOnItems( 'layout', items );
|
1638 |
-
|
1639 |
-
if ( !items || !items.length ) {
|
1640 |
-
// no items, emit event with empty array
|
1641 |
-
return;
|
1642 |
-
}
|
1643 |
-
|
1644 |
-
var queue = [];
|
1645 |
-
|
1646 |
-
items.forEach( function( item ) {
|
1647 |
-
// get x/y object from method
|
1648 |
-
var position = this._getItemLayoutPosition( item );
|
1649 |
-
// enqueue
|
1650 |
-
position.item = item;
|
1651 |
-
position.isInstant = isInstant || item.isLayoutInstant;
|
1652 |
-
queue.push( position );
|
1653 |
-
}, this );
|
1654 |
-
|
1655 |
-
this._processLayoutQueue( queue );
|
1656 |
-
};
|
1657 |
-
|
1658 |
-
/**
|
1659 |
-
* get item layout position
|
1660 |
-
* @param {Outlayer.Item} item
|
1661 |
-
* @returns {Object} x and y position
|
1662 |
-
*/
|
1663 |
-
proto._getItemLayoutPosition = function( /* item */ ) {
|
1664 |
-
return {
|
1665 |
-
x: 0,
|
1666 |
-
y: 0
|
1667 |
-
};
|
1668 |
-
};
|
1669 |
-
|
1670 |
-
/**
|
1671 |
-
* iterate over array and position each item
|
1672 |
-
* Reason being - separating this logic prevents 'layout invalidation'
|
1673 |
-
* thx @paul_irish
|
1674 |
-
* @param {Array} queue
|
1675 |
-
*/
|
1676 |
-
proto._processLayoutQueue = function( queue ) {
|
1677 |
-
this.updateStagger();
|
1678 |
-
queue.forEach( function( obj, i ) {
|
1679 |
-
this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
|
1680 |
-
}, this );
|
1681 |
-
};
|
1682 |
-
|
1683 |
-
// set stagger from option in milliseconds number
|
1684 |
-
proto.updateStagger = function() {
|
1685 |
-
var stagger = this.options.stagger;
|
1686 |
-
if ( stagger === null || stagger === undefined ) {
|
1687 |
-
this.stagger = 0;
|
1688 |
-
return;
|
1689 |
-
}
|
1690 |
-
this.stagger = getMilliseconds( stagger );
|
1691 |
-
return this.stagger;
|
1692 |
-
};
|
1693 |
-
|
1694 |
-
/**
|
1695 |
-
* Sets position of item in DOM
|
1696 |
-
* @param {Outlayer.Item} item
|
1697 |
-
* @param {Number} x - horizontal position
|
1698 |
-
* @param {Number} y - vertical position
|
1699 |
-
* @param {Boolean} isInstant - disables transitions
|
1700 |
-
*/
|
1701 |
-
proto._positionItem = function( item, x, y, isInstant, i ) {
|
1702 |
-
if ( isInstant ) {
|
1703 |
-
// if not transition, just set CSS
|
1704 |
-
item.goTo( x, y );
|
1705 |
-
} else {
|
1706 |
-
item.stagger( i * this.stagger );
|
1707 |
-
item.moveTo( x, y );
|
1708 |
-
}
|
1709 |
-
};
|
1710 |
-
|
1711 |
-
/**
|
1712 |
-
* Any logic you want to do after each layout,
|
1713 |
-
* i.e. size the container
|
1714 |
-
*/
|
1715 |
-
proto._postLayout = function() {
|
1716 |
-
this.resizeContainer();
|
1717 |
-
};
|
1718 |
-
|
1719 |
-
proto.resizeContainer = function() {
|
1720 |
-
var isResizingContainer = this._getOption('resizeContainer');
|
1721 |
-
if ( !isResizingContainer ) {
|
1722 |
-
return;
|
1723 |
-
}
|
1724 |
-
var size = this._getContainerSize();
|
1725 |
-
if ( size ) {
|
1726 |
-
this._setContainerMeasure( size.width, true );
|
1727 |
-
this._setContainerMeasure( size.height, false );
|
1728 |
-
}
|
1729 |
-
};
|
1730 |
-
|
1731 |
-
/**
|
1732 |
-
* Sets width or height of container if returned
|
1733 |
-
* @returns {Object} size
|
1734 |
-
* @param {Number} width
|
1735 |
-
* @param {Number} height
|
1736 |
-
*/
|
1737 |
-
proto._getContainerSize = noop;
|
1738 |
-
|
1739 |
-
/**
|
1740 |
-
* @param {Number} measure - size of width or height
|
1741 |
-
* @param {Boolean} isWidth
|
1742 |
-
*/
|
1743 |
-
proto._setContainerMeasure = function( measure, isWidth ) {
|
1744 |
-
if ( measure === undefined ) {
|
1745 |
-
return;
|
1746 |
-
}
|
1747 |
-
|
1748 |
-
var elemSize = this.size;
|
1749 |
-
// add padding and border width if border box
|
1750 |
-
if ( elemSize.isBorderBox ) {
|
1751 |
-
measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +
|
1752 |
-
elemSize.borderLeftWidth + elemSize.borderRightWidth :
|
1753 |
-
elemSize.paddingBottom + elemSize.paddingTop +
|
1754 |
-
elemSize.borderTopWidth + elemSize.borderBottomWidth;
|
1755 |
-
}
|
1756 |
-
|
1757 |
-
measure = Math.max( measure, 0 );
|
1758 |
-
this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';
|
1759 |
-
};
|
1760 |
-
|
1761 |
-
/**
|
1762 |
-
* emit eventComplete on a collection of items events
|
1763 |
-
* @param {String} eventName
|
1764 |
-
* @param {Array} items - Outlayer.Items
|
1765 |
-
*/
|
1766 |
-
proto._emitCompleteOnItems = function( eventName, items ) {
|
1767 |
-
var _this = this;
|
1768 |
-
function onComplete() {
|
1769 |
-
_this.dispatchEvent( eventName + 'Complete', null, [ items ] );
|
1770 |
-
}
|
1771 |
-
|
1772 |
-
var count = items.length;
|
1773 |
-
if ( !items || !count ) {
|
1774 |
-
onComplete();
|
1775 |
-
return;
|
1776 |
-
}
|
1777 |
-
|
1778 |
-
var doneCount = 0;
|
1779 |
-
function tick() {
|
1780 |
-
doneCount++;
|
1781 |
-
if ( doneCount == count ) {
|
1782 |
-
onComplete();
|
1783 |
-
}
|
1784 |
-
}
|
1785 |
-
|
1786 |
-
// bind callback
|
1787 |
-
items.forEach( function( item ) {
|
1788 |
-
item.once( eventName, tick );
|
1789 |
-
});
|
1790 |
-
};
|
1791 |
-
|
1792 |
-
/**
|
1793 |
-
* emits events via EvEmitter and jQuery events
|
1794 |
-
* @param {String} type - name of event
|
1795 |
-
* @param {Event} event - original event
|
1796 |
-
* @param {Array} args - extra arguments
|
1797 |
-
*/
|
1798 |
-
proto.dispatchEvent = function( type, event, args ) {
|
1799 |
-
// add original event to arguments
|
1800 |
-
var emitArgs = event ? [ event ].concat( args ) : args;
|
1801 |
-
this.emitEvent( type, emitArgs );
|
1802 |
-
|
1803 |
-
if ( jQuery ) {
|
1804 |
-
// set this.$element
|
1805 |
-
this.$element = this.$element || jQuery( this.element );
|
1806 |
-
if ( event ) {
|
1807 |
-
// create jQuery event
|
1808 |
-
var $event = jQuery.Event( event );
|
1809 |
-
$event.type = type;
|
1810 |
-
this.$element.trigger( $event, args );
|
1811 |
-
} else {
|
1812 |
-
// just trigger with type if no event available
|
1813 |
-
this.$element.trigger( type, args );
|
1814 |
-
}
|
1815 |
-
}
|
1816 |
-
};
|
1817 |
-
|
1818 |
-
// -------------------------- ignore & stamps -------------------------- //
|
1819 |
-
|
1820 |
-
|
1821 |
-
/**
|
1822 |
-
* keep item in collection, but do not lay it out
|
1823 |
-
* ignored items do not get skipped in layout
|
1824 |
-
* @param {Element} elem
|
1825 |
-
*/
|
1826 |
-
proto.ignore = function( elem ) {
|
1827 |
-
var item = this.getItem( elem );
|
1828 |
-
if ( item ) {
|
1829 |
-
item.isIgnored = true;
|
1830 |
-
}
|
1831 |
-
};
|
1832 |
-
|
1833 |
-
/**
|
1834 |
-
* return item to layout collection
|
1835 |
-
* @param {Element} elem
|
1836 |
-
*/
|
1837 |
-
proto.unignore = function( elem ) {
|
1838 |
-
var item = this.getItem( elem );
|
1839 |
-
if ( item ) {
|
1840 |
-
delete item.isIgnored;
|
1841 |
-
}
|
1842 |
-
};
|
1843 |
-
|
1844 |
-
/**
|
1845 |
-
* adds elements to stamps
|
1846 |
-
* @param {NodeList, Array, Element, or String} elems
|
1847 |
-
*/
|
1848 |
-
proto.stamp = function( elems ) {
|
1849 |
-
elems = this._find( elems );
|
1850 |
-
if ( !elems ) {
|
1851 |
-
return;
|
1852 |
-
}
|
1853 |
-
|
1854 |
-
this.stamps = this.stamps.concat( elems );
|
1855 |
-
// ignore
|
1856 |
-
elems.forEach( this.ignore, this );
|
1857 |
-
};
|
1858 |
-
|
1859 |
-
/**
|
1860 |
-
* removes elements to stamps
|
1861 |
-
* @param {NodeList, Array, or Element} elems
|
1862 |
-
*/
|
1863 |
-
proto.unstamp = function( elems ) {
|
1864 |
-
elems = this._find( elems );
|
1865 |
-
if ( !elems ){
|
1866 |
-
return;
|
1867 |
-
}
|
1868 |
-
|
1869 |
-
elems.forEach( function( elem ) {
|
1870 |
-
// filter out removed stamp elements
|
1871 |
-
utils.removeFrom( this.stamps, elem );
|
1872 |
-
this.unignore( elem );
|
1873 |
-
}, this );
|
1874 |
-
};
|
1875 |
-
|
1876 |
-
/**
|
1877 |
-
* finds child elements
|
1878 |
-
* @param {NodeList, Array, Element, or String} elems
|
1879 |
-
* @returns {Array} elems
|
1880 |
-
*/
|
1881 |
-
proto._find = function( elems ) {
|
1882 |
-
if ( !elems ) {
|
1883 |
-
return;
|
1884 |
-
}
|
1885 |
-
// if string, use argument as selector string
|
1886 |
-
if ( typeof elems == 'string' ) {
|
1887 |
-
elems = this.element.querySelectorAll( elems );
|
1888 |
-
}
|
1889 |
-
elems = utils.makeArray( elems );
|
1890 |
-
return elems;
|
1891 |
-
};
|
1892 |
-
|
1893 |
-
proto._manageStamps = function() {
|
1894 |
-
if ( !this.stamps || !this.stamps.length ) {
|
1895 |
-
return;
|
1896 |
-
}
|
1897 |
-
|
1898 |
-
this._getBoundingRect();
|
1899 |
-
|
1900 |
-
this.stamps.forEach( this._manageStamp, this );
|
1901 |
-
};
|
1902 |
-
|
1903 |
-
// update boundingLeft / Top
|
1904 |
-
proto._getBoundingRect = function() {
|
1905 |
-
// get bounding rect for container element
|
1906 |
-
var boundingRect = this.element.getBoundingClientRect();
|
1907 |
-
var size = this.size;
|
1908 |
-
this._boundingRect = {
|
1909 |
-
left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,
|
1910 |
-
top: boundingRect.top + size.paddingTop + size.borderTopWidth,
|
1911 |
-
right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),
|
1912 |
-
bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )
|
1913 |
-
};
|
1914 |
-
};
|
1915 |
-
|
1916 |
-
/**
|
1917 |
-
* @param {Element} stamp
|
1918 |
-
**/
|
1919 |
-
proto._manageStamp = noop;
|
1920 |
-
|
1921 |
-
/**
|
1922 |
-
* get x/y position of element relative to container element
|
1923 |
-
* @param {Element} elem
|
1924 |
-
* @returns {Object} offset - has left, top, right, bottom
|
1925 |
-
*/
|
1926 |
-
proto._getElementOffset = function( elem ) {
|
1927 |
-
var boundingRect = elem.getBoundingClientRect();
|
1928 |
-
var thisRect = this._boundingRect;
|
1929 |
-
var size = getSize( elem );
|
1930 |
-
var offset = {
|
1931 |
-
left: boundingRect.left - thisRect.left - size.marginLeft,
|
1932 |
-
top: boundingRect.top - thisRect.top - size.marginTop,
|
1933 |
-
right: thisRect.right - boundingRect.right - size.marginRight,
|
1934 |
-
bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom
|
1935 |
-
};
|
1936 |
-
return offset;
|
1937 |
-
};
|
1938 |
-
|
1939 |
-
// -------------------------- resize -------------------------- //
|
1940 |
-
|
1941 |
-
// enable event handlers for listeners
|
1942 |
-
// i.e. resize -> onresize
|
1943 |
-
proto.handleEvent = utils.handleEvent;
|
1944 |
-
|
1945 |
-
/**
|
1946 |
-
* Bind layout to window resizing
|
1947 |
-
*/
|
1948 |
-
proto.bindResize = function() {
|
1949 |
-
window.addEventListener( 'resize', this );
|
1950 |
-
this.isResizeBound = true;
|
1951 |
-
};
|
1952 |
-
|
1953 |
-
/**
|
1954 |
-
* Unbind layout to window resizing
|
1955 |
-
*/
|
1956 |
-
proto.unbindResize = function() {
|
1957 |
-
window.removeEventListener( 'resize', this );
|
1958 |
-
this.isResizeBound = false;
|
1959 |
-
};
|
1960 |
-
|
1961 |
-
proto.onresize = function() {
|
1962 |
-
this.resize();
|
1963 |
-
};
|
1964 |
-
|
1965 |
-
utils.debounceMethod( Outlayer, 'onresize', 100 );
|
1966 |
-
|
1967 |
-
proto.resize = function() {
|
1968 |
-
// don't trigger if size did not change
|
1969 |
-
// or if resize was unbound. See #9
|
1970 |
-
if ( !this.isResizeBound || !this.needsResizeLayout() ) {
|
1971 |
-
return;
|
1972 |
-
}
|
1973 |
-
|
1974 |
-
this.layout();
|
1975 |
-
};
|
1976 |
-
|
1977 |
-
/**
|
1978 |
-
* check if layout is needed post layout
|
1979 |
-
* @returns Boolean
|
1980 |
-
*/
|
1981 |
-
proto.needsResizeLayout = function() {
|
1982 |
-
var size = getSize( this.element );
|
1983 |
-
// check that this.size and size are there
|
1984 |
-
// IE8 triggers resize on body size change, so they might not be
|
1985 |
-
var hasSizes = this.size && size;
|
1986 |
-
return hasSizes && size.innerWidth !== this.size.innerWidth;
|
1987 |
-
};
|
1988 |
-
|
1989 |
-
// -------------------------- methods -------------------------- //
|
1990 |
-
|
1991 |
-
/**
|
1992 |
-
* add items to Outlayer instance
|
1993 |
-
* @param {Array or NodeList or Element} elems
|
1994 |
-
* @returns {Array} items - Outlayer.Items
|
1995 |
-
**/
|
1996 |
-
proto.addItems = function( elems ) {
|
1997 |
-
var items = this._itemize( elems );
|
1998 |
-
// add items to collection
|
1999 |
-
if ( items.length ) {
|
2000 |
-
this.items = this.items.concat( items );
|
2001 |
-
}
|
2002 |
-
return items;
|
2003 |
-
};
|
2004 |
-
|
2005 |
-
/**
|
2006 |
-
* Layout newly-appended item elements
|
2007 |
-
* @param {Array or NodeList or Element} elems
|
2008 |
-
*/
|
2009 |
-
proto.appended = function( elems ) {
|
2010 |
-
var items = this.addItems( elems );
|
2011 |
-
if ( !items.length ) {
|
2012 |
-
return;
|
2013 |
-
}
|
2014 |
-
// layout and reveal just the new items
|
2015 |
-
this.layoutItems( items, true );
|
2016 |
-
this.reveal( items );
|
2017 |
-
};
|
2018 |
-
|
2019 |
-
/**
|
2020 |
-
* Layout prepended elements
|
2021 |
-
* @param {Array or NodeList or Element} elems
|
2022 |
-
*/
|
2023 |
-
proto.prepended = function( elems ) {
|
2024 |
-
var items = this._itemize( elems );
|
2025 |
-
if ( !items.length ) {
|
2026 |
-
return;
|
2027 |
-
}
|
2028 |
-
// add items to beginning of collection
|
2029 |
-
var previousItems = this.items.slice(0);
|
2030 |
-
this.items = items.concat( previousItems );
|
2031 |
-
// start new layout
|
2032 |
-
this._resetLayout();
|
2033 |
-
this._manageStamps();
|
2034 |
-
// layout new stuff without transition
|
2035 |
-
this.layoutItems( items, true );
|
2036 |
-
this.reveal( items );
|
2037 |
-
// layout previous items
|
2038 |
-
this.layoutItems( previousItems );
|
2039 |
-
};
|
2040 |
-
|
2041 |
-
/**
|
2042 |
-
* reveal a collection of items
|
2043 |
-
* @param {Array of Outlayer.Items} items
|
2044 |
-
*/
|
2045 |
-
proto.reveal = function( items ) {
|
2046 |
-
this._emitCompleteOnItems( 'reveal', items );
|
2047 |
-
if ( !items || !items.length ) {
|
2048 |
-
return;
|
2049 |
-
}
|
2050 |
-
var stagger = this.updateStagger();
|
2051 |
-
items.forEach( function( item, i ) {
|
2052 |
-
item.stagger( i * stagger );
|
2053 |
-
item.reveal();
|
2054 |
-
});
|
2055 |
-
};
|
2056 |
-
|
2057 |
-
/**
|
2058 |
-
* hide a collection of items
|
2059 |
-
* @param {Array of Outlayer.Items} items
|
2060 |
-
*/
|
2061 |
-
proto.hide = function( items ) {
|
2062 |
-
this._emitCompleteOnItems( 'hide', items );
|
2063 |
-
if ( !items || !items.length ) {
|
2064 |
-
return;
|
2065 |
-
}
|
2066 |
-
var stagger = this.updateStagger();
|
2067 |
-
items.forEach( function( item, i ) {
|
2068 |
-
item.stagger( i * stagger );
|
2069 |
-
item.hide();
|
2070 |
-
});
|
2071 |
-
};
|
2072 |
-
|
2073 |
-
/**
|
2074 |
-
* reveal item elements
|
2075 |
-
* @param {Array}, {Element}, {NodeList} items
|
2076 |
-
*/
|
2077 |
-
proto.revealItemElements = function( elems ) {
|
2078 |
-
var items = this.getItems( elems );
|
2079 |
-
this.reveal( items );
|
2080 |
-
};
|
2081 |
-
|
2082 |
-
/**
|
2083 |
-
* hide item elements
|
2084 |
-
* @param {Array}, {Element}, {NodeList} items
|
2085 |
-
*/
|
2086 |
-
proto.hideItemElements = function( elems ) {
|
2087 |
-
var items = this.getItems( elems );
|
2088 |
-
this.hide( items );
|
2089 |
-
};
|
2090 |
-
|
2091 |
-
/**
|
2092 |
-
* get Outlayer.Item, given an Element
|
2093 |
-
* @param {Element} elem
|
2094 |
-
* @param {Function} callback
|
2095 |
-
* @returns {Outlayer.Item} item
|
2096 |
-
*/
|
2097 |
-
proto.getItem = function( elem ) {
|
2098 |
-
// loop through items to get the one that matches
|
2099 |
-
for ( var i=0; i < this.items.length; i++ ) {
|
2100 |
-
var item = this.items[i];
|
2101 |
-
if ( item.element == elem ) {
|
2102 |
-
// return item
|
2103 |
-
return item;
|
2104 |
-
}
|
2105 |
-
}
|
2106 |
-
};
|
2107 |
-
|
2108 |
-
/**
|
2109 |
-
* get collection of Outlayer.Items, given Elements
|
2110 |
-
* @param {Array} elems
|
2111 |
-
* @returns {Array} items - Outlayer.Items
|
2112 |
-
*/
|
2113 |
-
proto.getItems = function( elems ) {
|
2114 |
-
elems = utils.makeArray( elems );
|
2115 |
-
var items = [];
|
2116 |
-
elems.forEach( function( elem ) {
|
2117 |
-
var item = this.getItem( elem );
|
2118 |
-
if ( item ) {
|
2119 |
-
items.push( item );
|
2120 |
-
}
|
2121 |
-
}, this );
|
2122 |
-
|
2123 |
-
return items;
|
2124 |
-
};
|
2125 |
-
|
2126 |
-
/**
|
2127 |
-
* remove element(s) from instance and DOM
|
2128 |
-
* @param {Array or NodeList or Element} elems
|
2129 |
-
*/
|
2130 |
-
proto.remove = function( elems ) {
|
2131 |
-
var removeItems = this.getItems( elems );
|
2132 |
-
|
2133 |
-
this._emitCompleteOnItems( 'remove', removeItems );
|
2134 |
-
|
2135 |
-
// bail if no items to remove
|
2136 |
-
if ( !removeItems || !removeItems.length ) {
|
2137 |
-
return;
|
2138 |
-
}
|
2139 |
-
|
2140 |
-
removeItems.forEach( function( item ) {
|
2141 |
-
item.remove();
|
2142 |
-
// remove item from collection
|
2143 |
-
utils.removeFrom( this.items, item );
|
2144 |
-
}, this );
|
2145 |
-
};
|
2146 |
-
|
2147 |
-
// ----- destroy ----- //
|
2148 |
-
|
2149 |
-
// remove and disable Outlayer instance
|
2150 |
-
proto.destroy = function() {
|
2151 |
-
// clean up dynamic styles
|
2152 |
-
var style = this.element.style;
|
2153 |
-
style.height = '';
|
2154 |
-
style.position = '';
|
2155 |
-
style.width = '';
|
2156 |
-
// destroy items
|
2157 |
-
this.items.forEach( function( item ) {
|
2158 |
-
item.destroy();
|
2159 |
-
});
|
2160 |
-
|
2161 |
-
this.unbindResize();
|
2162 |
-
|
2163 |
-
var id = this.element.outlayerGUID;
|
2164 |
-
delete instances[ id ]; // remove reference to instance by id
|
2165 |
-
delete this.element.outlayerGUID;
|
2166 |
-
// remove data for jQuery
|
2167 |
-
if ( jQuery ) {
|
2168 |
-
jQuery.removeData( this.element, this.constructor.namespace );
|
2169 |
-
}
|
2170 |
-
|
2171 |
-
};
|
2172 |
-
|
2173 |
-
// -------------------------- data -------------------------- //
|
2174 |
-
|
2175 |
-
/**
|
2176 |
-
* get Outlayer instance from element
|
2177 |
-
* @param {Element} elem
|
2178 |
-
* @returns {Outlayer}
|
2179 |
-
*/
|
2180 |
-
Outlayer.data = function( elem ) {
|
2181 |
-
elem = utils.getQueryElement( elem );
|
2182 |
-
var id = elem && elem.outlayerGUID;
|
2183 |
-
return id && instances[ id ];
|
2184 |
-
};
|
2185 |
-
|
2186 |
-
|
2187 |
-
// -------------------------- create Outlayer class -------------------------- //
|
2188 |
-
|
2189 |
-
/**
|
2190 |
-
* create a layout class
|
2191 |
-
* @param {String} namespace
|
2192 |
-
*/
|
2193 |
-
Outlayer.create = function( namespace, options ) {
|
2194 |
-
// sub-class Outlayer
|
2195 |
-
var Layout = subclass( Outlayer );
|
2196 |
-
// apply new options and compatOptions
|
2197 |
-
Layout.defaults = utils.extend( {}, Outlayer.defaults );
|
2198 |
-
utils.extend( Layout.defaults, options );
|
2199 |
-
Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
|
2200 |
-
|
2201 |
-
Layout.namespace = namespace;
|
2202 |
-
|
2203 |
-
Layout.data = Outlayer.data;
|
2204 |
-
|
2205 |
-
// sub-class Item
|
2206 |
-
Layout.Item = subclass( Item );
|
2207 |
-
|
2208 |
-
// -------------------------- declarative -------------------------- //
|
2209 |
-
|
2210 |
-
utils.htmlInit( Layout, namespace );
|
2211 |
-
|
2212 |
-
// -------------------------- jQuery bridge -------------------------- //
|
2213 |
-
|
2214 |
-
// make into jQuery plugin
|
2215 |
-
if ( jQuery && jQuery.bridget ) {
|
2216 |
-
jQuery.bridget( namespace, Layout );
|
2217 |
-
}
|
2218 |
-
|
2219 |
-
return Layout;
|
2220 |
-
};
|
2221 |
-
|
2222 |
-
function subclass( Parent ) {
|
2223 |
-
function SubClass() {
|
2224 |
-
Parent.apply( this, arguments );
|
2225 |
-
}
|
2226 |
-
|
2227 |
-
SubClass.prototype = Object.create( Parent.prototype );
|
2228 |
-
SubClass.prototype.constructor = SubClass;
|
2229 |
-
|
2230 |
-
return SubClass;
|
2231 |
-
}
|
2232 |
-
|
2233 |
-
// ----- helpers ----- //
|
2234 |
-
|
2235 |
-
// how many milliseconds are in each unit
|
2236 |
-
var msUnits = {
|
2237 |
-
ms: 1,
|
2238 |
-
s: 1000
|
2239 |
-
};
|
2240 |
-
|
2241 |
-
// munge time-like parameter into millisecond number
|
2242 |
-
// '0.4s' -> 40
|
2243 |
-
function getMilliseconds( time ) {
|
2244 |
-
if ( typeof time == 'number' ) {
|
2245 |
-
return time;
|
2246 |
-
}
|
2247 |
-
var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
|
2248 |
-
var num = matches && matches[1];
|
2249 |
-
var unit = matches && matches[2];
|
2250 |
-
if ( !num.length ) {
|
2251 |
-
return 0;
|
2252 |
-
}
|
2253 |
-
num = parseFloat( num );
|
2254 |
-
var mult = msUnits[ unit ] || 1;
|
2255 |
-
return num * mult;
|
2256 |
-
}
|
2257 |
-
|
2258 |
-
// ----- fin ----- //
|
2259 |
-
|
2260 |
-
// back in global
|
2261 |
-
Outlayer.Item = Item;
|
2262 |
-
|
2263 |
-
return Outlayer;
|
2264 |
-
|
2265 |
-
}));
|
2266 |
-
|
2267 |
-
/**
|
2268 |
-
* Isotope Item
|
2269 |
-
**/
|
2270 |
-
|
2271 |
-
( function( window, factory ) {
|
2272 |
-
// universal module definition
|
2273 |
-
/* jshint strict: false */ /*globals define, module, require */
|
2274 |
-
if ( typeof define == 'function' && define.amd ) {
|
2275 |
-
// AMD
|
2276 |
-
define( 'isotope-layout/js/item',[
|
2277 |
-
'outlayer/outlayer'
|
2278 |
-
],
|
2279 |
-
factory );
|
2280 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
2281 |
-
// CommonJS
|
2282 |
-
module.exports = factory(
|
2283 |
-
require('outlayer')
|
2284 |
-
);
|
2285 |
-
} else {
|
2286 |
-
// browser global
|
2287 |
-
window.Isotope = window.Isotope || {};
|
2288 |
-
window.Isotope.Item = factory(
|
2289 |
-
window.Outlayer
|
2290 |
-
);
|
2291 |
-
}
|
2292 |
-
|
2293 |
-
}( window, function factory( Outlayer ) {
|
2294 |
-
'use strict';
|
2295 |
-
|
2296 |
-
// -------------------------- Item -------------------------- //
|
2297 |
-
|
2298 |
-
// sub-class Outlayer Item
|
2299 |
-
function Item() {
|
2300 |
-
Outlayer.Item.apply( this, arguments );
|
2301 |
-
}
|
2302 |
-
|
2303 |
-
var proto = Item.prototype = Object.create( Outlayer.Item.prototype );
|
2304 |
-
|
2305 |
-
var _create = proto._create;
|
2306 |
-
proto._create = function() {
|
2307 |
-
// assign id, used for original-order sorting
|
2308 |
-
this.id = this.layout.itemGUID++;
|
2309 |
-
_create.call( this );
|
2310 |
-
this.sortData = {};
|
2311 |
-
};
|
2312 |
-
|
2313 |
-
proto.updateSortData = function() {
|
2314 |
-
if ( this.isIgnored ) {
|
2315 |
-
return;
|
2316 |
-
}
|
2317 |
-
// default sorters
|
2318 |
-
this.sortData.id = this.id;
|
2319 |
-
// for backward compatibility
|
2320 |
-
this.sortData['original-order'] = this.id;
|
2321 |
-
this.sortData.random = Math.random();
|
2322 |
-
// go thru getSortData obj and apply the sorters
|
2323 |
-
var getSortData = this.layout.options.getSortData;
|
2324 |
-
var sorters = this.layout._sorters;
|
2325 |
-
for ( var key in getSortData ) {
|
2326 |
-
var sorter = sorters[ key ];
|
2327 |
-
this.sortData[ key ] = sorter( this.element, this );
|
2328 |
-
}
|
2329 |
-
};
|
2330 |
-
|
2331 |
-
var _destroy = proto.destroy;
|
2332 |
-
proto.destroy = function() {
|
2333 |
-
// call super
|
2334 |
-
_destroy.apply( this, arguments );
|
2335 |
-
// reset display, #741
|
2336 |
-
this.css({
|
2337 |
-
display: ''
|
2338 |
-
});
|
2339 |
-
};
|
2340 |
-
|
2341 |
-
return Item;
|
2342 |
-
|
2343 |
-
}));
|
2344 |
-
|
2345 |
-
/**
|
2346 |
-
* Isotope LayoutMode
|
2347 |
-
*/
|
2348 |
-
|
2349 |
-
( function( window, factory ) {
|
2350 |
-
// universal module definition
|
2351 |
-
/* jshint strict: false */ /*globals define, module, require */
|
2352 |
-
if ( typeof define == 'function' && define.amd ) {
|
2353 |
-
// AMD
|
2354 |
-
define( 'isotope-layout/js/layout-mode',[
|
2355 |
-
'get-size/get-size',
|
2356 |
-
'outlayer/outlayer'
|
2357 |
-
],
|
2358 |
-
factory );
|
2359 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
2360 |
-
// CommonJS
|
2361 |
-
module.exports = factory(
|
2362 |
-
require('get-size'),
|
2363 |
-
require('outlayer')
|
2364 |
-
);
|
2365 |
-
} else {
|
2366 |
-
// browser global
|
2367 |
-
window.Isotope = window.Isotope || {};
|
2368 |
-
window.Isotope.LayoutMode = factory(
|
2369 |
-
window.getSize,
|
2370 |
-
window.Outlayer
|
2371 |
-
);
|
2372 |
-
}
|
2373 |
-
|
2374 |
-
}( window, function factory( getSize, Outlayer ) {
|
2375 |
-
'use strict';
|
2376 |
-
|
2377 |
-
// layout mode class
|
2378 |
-
function LayoutMode( isotope ) {
|
2379 |
-
this.isotope = isotope;
|
2380 |
-
// link properties
|
2381 |
-
if ( isotope ) {
|
2382 |
-
this.options = isotope.options[ this.namespace ];
|
2383 |
-
this.element = isotope.element;
|
2384 |
-
this.items = isotope.filteredItems;
|
2385 |
-
this.size = isotope.size;
|
2386 |
-
}
|
2387 |
-
}
|
2388 |
-
|
2389 |
-
var proto = LayoutMode.prototype;
|
2390 |
-
|
2391 |
-
/**
|
2392 |
-
* some methods should just defer to default Outlayer method
|
2393 |
-
* and reference the Isotope instance as `this`
|
2394 |
-
**/
|
2395 |
-
var facadeMethods = [
|
2396 |
-
'_resetLayout',
|
2397 |
-
'_getItemLayoutPosition',
|
2398 |
-
'_manageStamp',
|
2399 |
-
'_getContainerSize',
|
2400 |
-
'_getElementOffset',
|
2401 |
-
'needsResizeLayout',
|
2402 |
-
'_getOption'
|
2403 |
-
];
|
2404 |
-
|
2405 |
-
facadeMethods.forEach( function( methodName ) {
|
2406 |
-
proto[ methodName ] = function() {
|
2407 |
-
return Outlayer.prototype[ methodName ].apply( this.isotope, arguments );
|
2408 |
-
};
|
2409 |
-
});
|
2410 |
-
|
2411 |
-
// ----- ----- //
|
2412 |
-
|
2413 |
-
// for horizontal layout modes, check vertical size
|
2414 |
-
proto.needsVerticalResizeLayout = function() {
|
2415 |
-
// don't trigger if size did not change
|
2416 |
-
var size = getSize( this.isotope.element );
|
2417 |
-
// check that this.size and size are there
|
2418 |
-
// IE8 triggers resize on body size change, so they might not be
|
2419 |
-
var hasSizes = this.isotope.size && size;
|
2420 |
-
return hasSizes && size.innerHeight != this.isotope.size.innerHeight;
|
2421 |
-
};
|
2422 |
-
|
2423 |
-
// ----- measurements ----- //
|
2424 |
-
|
2425 |
-
proto._getMeasurement = function() {
|
2426 |
-
this.isotope._getMeasurement.apply( this, arguments );
|
2427 |
-
};
|
2428 |
-
|
2429 |
-
proto.getColumnWidth = function() {
|
2430 |
-
this.getSegmentSize( 'column', 'Width' );
|
2431 |
-
};
|
2432 |
-
|
2433 |
-
proto.getRowHeight = function() {
|
2434 |
-
this.getSegmentSize( 'row', 'Height' );
|
2435 |
-
};
|
2436 |
-
|
2437 |
-
/**
|
2438 |
-
* get columnWidth or rowHeight
|
2439 |
-
* segment: 'column' or 'row'
|
2440 |
-
* size 'Width' or 'Height'
|
2441 |
-
**/
|
2442 |
-
proto.getSegmentSize = function( segment, size ) {
|
2443 |
-
var segmentName = segment + size;
|
2444 |
-
var outerSize = 'outer' + size;
|
2445 |
-
// columnWidth / outerWidth // rowHeight / outerHeight
|
2446 |
-
this._getMeasurement( segmentName, outerSize );
|
2447 |
-
// got rowHeight or columnWidth, we can chill
|
2448 |
-
if ( this[ segmentName ] ) {
|
2449 |
-
return;
|
2450 |
-
}
|
2451 |
-
// fall back to item of first element
|
2452 |
-
var firstItemSize = this.getFirstItemSize();
|
2453 |
-
this[ segmentName ] = firstItemSize && firstItemSize[ outerSize ] ||
|
2454 |
-
// or size of container
|
2455 |
-
this.isotope.size[ 'inner' + size ];
|
2456 |
-
};
|
2457 |
-
|
2458 |
-
proto.getFirstItemSize = function() {
|
2459 |
-
var firstItem = this.isotope.filteredItems[0];
|
2460 |
-
return firstItem && firstItem.element && getSize( firstItem.element );
|
2461 |
-
};
|
2462 |
-
|
2463 |
-
// ----- methods that should reference isotope ----- //
|
2464 |
-
|
2465 |
-
proto.layout = function() {
|
2466 |
-
this.isotope.layout.apply( this.isotope, arguments );
|
2467 |
-
};
|
2468 |
-
|
2469 |
-
proto.getSize = function() {
|
2470 |
-
this.isotope.getSize();
|
2471 |
-
this.size = this.isotope.size;
|
2472 |
-
};
|
2473 |
-
|
2474 |
-
// -------------------------- create -------------------------- //
|
2475 |
-
|
2476 |
-
LayoutMode.modes = {};
|
2477 |
-
|
2478 |
-
LayoutMode.create = function( namespace, options ) {
|
2479 |
-
|
2480 |
-
function Mode() {
|
2481 |
-
LayoutMode.apply( this, arguments );
|
2482 |
-
}
|
2483 |
-
|
2484 |
-
Mode.prototype = Object.create( proto );
|
2485 |
-
Mode.prototype.constructor = Mode;
|
2486 |
-
|
2487 |
-
// default options
|
2488 |
-
if ( options ) {
|
2489 |
-
Mode.options = options;
|
2490 |
-
}
|
2491 |
-
|
2492 |
-
Mode.prototype.namespace = namespace;
|
2493 |
-
// register in Isotope
|
2494 |
-
LayoutMode.modes[ namespace ] = Mode;
|
2495 |
-
|
2496 |
-
return Mode;
|
2497 |
-
};
|
2498 |
-
|
2499 |
-
return LayoutMode;
|
2500 |
-
|
2501 |
-
}));
|
2502 |
-
|
2503 |
-
/*!
|
2504 |
-
* Masonry v4.2.1
|
2505 |
-
* Cascading grid layout library
|
2506 |
-
* https://masonry.desandro.com
|
2507 |
-
* MIT License
|
2508 |
-
* by David DeSandro
|
2509 |
-
*/
|
2510 |
-
|
2511 |
-
( function( window, factory ) {
|
2512 |
-
// universal module definition
|
2513 |
-
/* jshint strict: false */ /*globals define, module, require */
|
2514 |
-
if ( typeof define == 'function' && define.amd ) {
|
2515 |
-
// AMD
|
2516 |
-
define( 'masonry-layout/masonry',[
|
2517 |
-
'outlayer/outlayer',
|
2518 |
-
'get-size/get-size'
|
2519 |
-
],
|
2520 |
-
factory );
|
2521 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
2522 |
-
// CommonJS
|
2523 |
-
module.exports = factory(
|
2524 |
-
require('outlayer'),
|
2525 |
-
require('get-size')
|
2526 |
-
);
|
2527 |
-
} else {
|
2528 |
-
// browser global
|
2529 |
-
window.Masonry = factory(
|
2530 |
-
window.Outlayer,
|
2531 |
-
window.getSize
|
2532 |
-
);
|
2533 |
-
}
|
2534 |
-
|
2535 |
-
}( window, function factory( Outlayer, getSize ) {
|
2536 |
-
|
2537 |
-
|
2538 |
-
|
2539 |
-
// -------------------------- masonryDefinition -------------------------- //
|
2540 |
-
|
2541 |
-
// create an Outlayer layout class
|
2542 |
-
var Masonry = Outlayer.create('masonry');
|
2543 |
-
// isFitWidth -> fitWidth
|
2544 |
-
Masonry.compatOptions.fitWidth = 'isFitWidth';
|
2545 |
-
|
2546 |
-
var proto = Masonry.prototype;
|
2547 |
-
|
2548 |
-
proto._resetLayout = function() {
|
2549 |
-
this.getSize();
|
2550 |
-
this._getMeasurement( 'columnWidth', 'outerWidth' );
|
2551 |
-
this._getMeasurement( 'gutter', 'outerWidth' );
|
2552 |
-
this.measureColumns();
|
2553 |
-
|
2554 |
-
// reset column Y
|
2555 |
-
this.colYs = [];
|
2556 |
-
for ( var i=0; i < this.cols; i++ ) {
|
2557 |
-
this.colYs.push( 0 );
|
2558 |
-
}
|
2559 |
-
|
2560 |
-
this.maxY = 0;
|
2561 |
-
this.horizontalColIndex = 0;
|
2562 |
-
};
|
2563 |
-
|
2564 |
-
proto.measureColumns = function() {
|
2565 |
-
this.getContainerWidth();
|
2566 |
-
// if columnWidth is 0, default to outerWidth of first item
|
2567 |
-
if ( !this.columnWidth ) {
|
2568 |
-
var firstItem = this.items[0];
|
2569 |
-
var firstItemElem = firstItem && firstItem.element;
|
2570 |
-
// columnWidth fall back to item of first element
|
2571 |
-
this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
|
2572 |
-
// if first elem has no width, default to size of container
|
2573 |
-
this.containerWidth;
|
2574 |
-
}
|
2575 |
-
|
2576 |
-
var columnWidth = this.columnWidth += this.gutter;
|
2577 |
-
|
2578 |
-
// calculate columns
|
2579 |
-
var containerWidth = this.containerWidth + this.gutter;
|
2580 |
-
var cols = containerWidth / columnWidth;
|
2581 |
-
// fix rounding errors, typically with gutters
|
2582 |
-
var excess = columnWidth - containerWidth % columnWidth;
|
2583 |
-
// if overshoot is less than a pixel, round up, otherwise floor it
|
2584 |
-
var mathMethod = excess && excess < 1 ? 'round' : 'floor';
|
2585 |
-
cols = Math[ mathMethod ]( cols );
|
2586 |
-
this.cols = Math.max( cols, 1 );
|
2587 |
-
};
|
2588 |
-
|
2589 |
-
proto.getContainerWidth = function() {
|
2590 |
-
// container is parent if fit width
|
2591 |
-
var isFitWidth = this._getOption('fitWidth');
|
2592 |
-
var container = isFitWidth ? this.element.parentNode : this.element;
|
2593 |
-
// check that this.size and size are there
|
2594 |
-
// IE8 triggers resize on body size change, so they might not be
|
2595 |
-
var size = getSize( container );
|
2596 |
-
this.containerWidth = size && size.innerWidth;
|
2597 |
-
};
|
2598 |
-
|
2599 |
-
proto._getItemLayoutPosition = function( item ) {
|
2600 |
-
item.getSize();
|
2601 |
-
// how many columns does this brick span
|
2602 |
-
var remainder = item.size.outerWidth % this.columnWidth;
|
2603 |
-
var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
|
2604 |
-
// round if off by 1 pixel, otherwise use ceil
|
2605 |
-
var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
|
2606 |
-
colSpan = Math.min( colSpan, this.cols );
|
2607 |
-
// use horizontal or top column position
|
2608 |
-
var colPosMethod = this.options.horizontalOrder ?
|
2609 |
-
'_getHorizontalColPosition' : '_getTopColPosition';
|
2610 |
-
var colPosition = this[ colPosMethod ]( colSpan, item );
|
2611 |
-
// position the brick
|
2612 |
-
var position = {
|
2613 |
-
x: this.columnWidth * colPosition.col,
|
2614 |
-
y: colPosition.y
|
2615 |
-
};
|
2616 |
-
// apply setHeight to necessary columns
|
2617 |
-
var setHeight = colPosition.y + item.size.outerHeight;
|
2618 |
-
var setMax = colSpan + colPosition.col;
|
2619 |
-
for ( var i = colPosition.col; i < setMax; i++ ) {
|
2620 |
-
this.colYs[i] = setHeight;
|
2621 |
-
}
|
2622 |
-
|
2623 |
-
return position;
|
2624 |
-
};
|
2625 |
-
|
2626 |
-
proto._getTopColPosition = function( colSpan ) {
|
2627 |
-
var colGroup = this._getTopColGroup( colSpan );
|
2628 |
-
// get the minimum Y value from the columns
|
2629 |
-
var minimumY = Math.min.apply( Math, colGroup );
|
2630 |
-
|
2631 |
-
return {
|
2632 |
-
col: colGroup.indexOf( minimumY ),
|
2633 |
-
y: minimumY,
|
2634 |
-
};
|
2635 |
-
};
|
2636 |
-
|
2637 |
-
/**
|
2638 |
-
* @param {Number} colSpan - number of columns the element spans
|
2639 |
-
* @returns {Array} colGroup
|
2640 |
-
*/
|
2641 |
-
proto._getTopColGroup = function( colSpan ) {
|
2642 |
-
if ( colSpan < 2 ) {
|
2643 |
-
// if brick spans only one column, use all the column Ys
|
2644 |
-
return this.colYs;
|
2645 |
-
}
|
2646 |
-
|
2647 |
-
var colGroup = [];
|
2648 |
-
// how many different places could this brick fit horizontally
|
2649 |
-
var groupCount = this.cols + 1 - colSpan;
|
2650 |
-
// for each group potential horizontal position
|
2651 |
-
for ( var i = 0; i < groupCount; i++ ) {
|
2652 |
-
colGroup[i] = this._getColGroupY( i, colSpan );
|
2653 |
-
}
|
2654 |
-
return colGroup;
|
2655 |
-
};
|
2656 |
-
|
2657 |
-
proto._getColGroupY = function( col, colSpan ) {
|
2658 |
-
if ( colSpan < 2 ) {
|
2659 |
-
return this.colYs[ col ];
|
2660 |
-
}
|
2661 |
-
// make an array of colY values for that one group
|
2662 |
-
var groupColYs = this.colYs.slice( col, col + colSpan );
|
2663 |
-
// and get the max value of the array
|
2664 |
-
return Math.max.apply( Math, groupColYs );
|
2665 |
-
};
|
2666 |
-
|
2667 |
-
// get column position based on horizontal index. #873
|
2668 |
-
proto._getHorizontalColPosition = function( colSpan, item ) {
|
2669 |
-
var col = this.horizontalColIndex % this.cols;
|
2670 |
-
var isOver = colSpan > 1 && col + colSpan > this.cols;
|
2671 |
-
// shift to next row if item can't fit on current row
|
2672 |
-
col = isOver ? 0 : col;
|
2673 |
-
// don't let zero-size items take up space
|
2674 |
-
var hasSize = item.size.outerWidth && item.size.outerHeight;
|
2675 |
-
this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
|
2676 |
-
|
2677 |
-
return {
|
2678 |
-
col: col,
|
2679 |
-
y: this._getColGroupY( col, colSpan ),
|
2680 |
-
};
|
2681 |
-
};
|
2682 |
-
|
2683 |
-
proto._manageStamp = function( stamp ) {
|
2684 |
-
var stampSize = getSize( stamp );
|
2685 |
-
var offset = this._getElementOffset( stamp );
|
2686 |
-
// get the columns that this stamp affects
|
2687 |
-
var isOriginLeft = this._getOption('originLeft');
|
2688 |
-
var firstX = isOriginLeft ? offset.left : offset.right;
|
2689 |
-
var lastX = firstX + stampSize.outerWidth;
|
2690 |
-
var firstCol = Math.floor( firstX / this.columnWidth );
|
2691 |
-
firstCol = Math.max( 0, firstCol );
|
2692 |
-
var lastCol = Math.floor( lastX / this.columnWidth );
|
2693 |
-
// lastCol should not go over if multiple of columnWidth #425
|
2694 |
-
lastCol -= lastX % this.columnWidth ? 0 : 1;
|
2695 |
-
lastCol = Math.min( this.cols - 1, lastCol );
|
2696 |
-
// set colYs to bottom of the stamp
|
2697 |
-
|
2698 |
-
var isOriginTop = this._getOption('originTop');
|
2699 |
-
var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) +
|
2700 |
-
stampSize.outerHeight;
|
2701 |
-
for ( var i = firstCol; i <= lastCol; i++ ) {
|
2702 |
-
this.colYs[i] = Math.max( stampMaxY, this.colYs[i] );
|
2703 |
-
}
|
2704 |
-
};
|
2705 |
-
|
2706 |
-
proto._getContainerSize = function() {
|
2707 |
-
this.maxY = Math.max.apply( Math, this.colYs );
|
2708 |
-
var size = {
|
2709 |
-
height: this.maxY
|
2710 |
-
};
|
2711 |
-
|
2712 |
-
if ( this._getOption('fitWidth') ) {
|
2713 |
-
size.width = this._getContainerFitWidth();
|
2714 |
-
}
|
2715 |
-
|
2716 |
-
return size;
|
2717 |
-
};
|
2718 |
-
|
2719 |
-
proto._getContainerFitWidth = function() {
|
2720 |
-
var unusedCols = 0;
|
2721 |
-
// count unused columns
|
2722 |
-
var i = this.cols;
|
2723 |
-
while ( --i ) {
|
2724 |
-
if ( this.colYs[i] !== 0 ) {
|
2725 |
-
break;
|
2726 |
-
}
|
2727 |
-
unusedCols++;
|
2728 |
-
}
|
2729 |
-
// fit container to columns that have been used
|
2730 |
-
return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;
|
2731 |
-
};
|
2732 |
-
|
2733 |
-
proto.needsResizeLayout = function() {
|
2734 |
-
var previousWidth = this.containerWidth;
|
2735 |
-
this.getContainerWidth();
|
2736 |
-
return previousWidth != this.containerWidth;
|
2737 |
-
};
|
2738 |
-
|
2739 |
-
return Masonry;
|
2740 |
-
|
2741 |
-
}));
|
2742 |
-
|
2743 |
-
/*!
|
2744 |
-
* Masonry layout mode
|
2745 |
-
* sub-classes Masonry
|
2746 |
-
* https://masonry.desandro.com
|
2747 |
-
*/
|
2748 |
-
|
2749 |
-
( function( window, factory ) {
|
2750 |
-
// universal module definition
|
2751 |
-
/* jshint strict: false */ /*globals define, module, require */
|
2752 |
-
if ( typeof define == 'function' && define.amd ) {
|
2753 |
-
// AMD
|
2754 |
-
define( 'isotope-layout/js/layout-modes/masonry',[
|
2755 |
-
'../layout-mode',
|
2756 |
-
'masonry-layout/masonry'
|
2757 |
-
],
|
2758 |
-
factory );
|
2759 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
2760 |
-
// CommonJS
|
2761 |
-
module.exports = factory(
|
2762 |
-
require('../layout-mode'),
|
2763 |
-
require('masonry-layout')
|
2764 |
-
);
|
2765 |
-
} else {
|
2766 |
-
// browser global
|
2767 |
-
factory(
|
2768 |
-
window.Isotope.LayoutMode,
|
2769 |
-
window.Masonry
|
2770 |
-
);
|
2771 |
-
}
|
2772 |
-
|
2773 |
-
}( window, function factory( LayoutMode, Masonry ) {
|
2774 |
-
'use strict';
|
2775 |
-
|
2776 |
-
// -------------------------- masonryDefinition -------------------------- //
|
2777 |
-
|
2778 |
-
// create an Outlayer layout class
|
2779 |
-
var MasonryMode = LayoutMode.create('masonry');
|
2780 |
-
|
2781 |
-
var proto = MasonryMode.prototype;
|
2782 |
-
|
2783 |
-
var keepModeMethods = {
|
2784 |
-
_getElementOffset: true,
|
2785 |
-
layout: true,
|
2786 |
-
_getMeasurement: true
|
2787 |
-
};
|
2788 |
-
|
2789 |
-
// inherit Masonry prototype
|
2790 |
-
for ( var method in Masonry.prototype ) {
|
2791 |
-
// do not inherit mode methods
|
2792 |
-
if ( !keepModeMethods[ method ] ) {
|
2793 |
-
proto[ method ] = Masonry.prototype[ method ];
|
2794 |
-
}
|
2795 |
-
}
|
2796 |
-
|
2797 |
-
var measureColumns = proto.measureColumns;
|
2798 |
-
proto.measureColumns = function() {
|
2799 |
-
// set items, used if measuring first item
|
2800 |
-
this.items = this.isotope.filteredItems;
|
2801 |
-
measureColumns.call( this );
|
2802 |
-
};
|
2803 |
-
|
2804 |
-
// point to mode options for fitWidth
|
2805 |
-
var _getOption = proto._getOption;
|
2806 |
-
proto._getOption = function( option ) {
|
2807 |
-
if ( option == 'fitWidth' ) {
|
2808 |
-
return this.options.isFitWidth !== undefined ?
|
2809 |
-
this.options.isFitWidth : this.options.fitWidth;
|
2810 |
-
}
|
2811 |
-
return _getOption.apply( this.isotope, arguments );
|
2812 |
-
};
|
2813 |
-
|
2814 |
-
return MasonryMode;
|
2815 |
-
|
2816 |
-
}));
|
2817 |
-
|
2818 |
-
/**
|
2819 |
-
* fitRows layout mode
|
2820 |
-
*/
|
2821 |
-
|
2822 |
-
( function( window, factory ) {
|
2823 |
-
// universal module definition
|
2824 |
-
/* jshint strict: false */ /*globals define, module, require */
|
2825 |
-
if ( typeof define == 'function' && define.amd ) {
|
2826 |
-
// AMD
|
2827 |
-
define( 'isotope-layout/js/layout-modes/fit-rows',[
|
2828 |
-
'../layout-mode'
|
2829 |
-
],
|
2830 |
-
factory );
|
2831 |
-
} else if ( typeof exports == 'object' ) {
|
2832 |
-
// CommonJS
|
2833 |
-
module.exports = factory(
|
2834 |
-
require('../layout-mode')
|
2835 |
-
);
|
2836 |
-
} else {
|
2837 |
-
// browser global
|
2838 |
-
factory(
|
2839 |
-
window.Isotope.LayoutMode
|
2840 |
-
);
|
2841 |
-
}
|
2842 |
-
|
2843 |
-
}( window, function factory( LayoutMode ) {
|
2844 |
-
'use strict';
|
2845 |
-
|
2846 |
-
var FitRows = LayoutMode.create('fitRows');
|
2847 |
-
|
2848 |
-
var proto = FitRows.prototype;
|
2849 |
-
|
2850 |
-
proto._resetLayout = function() {
|
2851 |
-
this.x = 0;
|
2852 |
-
this.y = 0;
|
2853 |
-
this.maxY = 0;
|
2854 |
-
this._getMeasurement( 'gutter', 'outerWidth' );
|
2855 |
-
};
|
2856 |
-
|
2857 |
-
proto._getItemLayoutPosition = function( item ) {
|
2858 |
-
item.getSize();
|
2859 |
-
|
2860 |
-
var itemWidth = item.size.outerWidth + this.gutter;
|
2861 |
-
// if this element cannot fit in the current row
|
2862 |
-
var containerWidth = this.isotope.size.innerWidth + this.gutter;
|
2863 |
-
if ( this.x !== 0 && itemWidth + this.x > containerWidth ) {
|
2864 |
-
this.x = 0;
|
2865 |
-
this.y = this.maxY;
|
2866 |
-
}
|
2867 |
-
|
2868 |
-
var position = {
|
2869 |
-
x: this.x,
|
2870 |
-
y: this.y
|
2871 |
-
};
|
2872 |
-
|
2873 |
-
this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
|
2874 |
-
this.x += itemWidth;
|
2875 |
-
|
2876 |
-
return position;
|
2877 |
-
};
|
2878 |
-
|
2879 |
-
proto._getContainerSize = function() {
|
2880 |
-
return { height: this.maxY };
|
2881 |
-
};
|
2882 |
-
|
2883 |
-
return FitRows;
|
2884 |
-
|
2885 |
-
}));
|
2886 |
-
|
2887 |
-
/**
|
2888 |
-
* vertical layout mode
|
2889 |
-
*/
|
2890 |
-
|
2891 |
-
( function( window, factory ) {
|
2892 |
-
// universal module definition
|
2893 |
-
/* jshint strict: false */ /*globals define, module, require */
|
2894 |
-
if ( typeof define == 'function' && define.amd ) {
|
2895 |
-
// AMD
|
2896 |
-
define( 'isotope-layout/js/layout-modes/vertical',[
|
2897 |
-
'../layout-mode'
|
2898 |
-
],
|
2899 |
-
factory );
|
2900 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
2901 |
-
// CommonJS
|
2902 |
-
module.exports = factory(
|
2903 |
-
require('../layout-mode')
|
2904 |
-
);
|
2905 |
-
} else {
|
2906 |
-
// browser global
|
2907 |
-
factory(
|
2908 |
-
window.Isotope.LayoutMode
|
2909 |
-
);
|
2910 |
-
}
|
2911 |
-
|
2912 |
-
}( window, function factory( LayoutMode ) {
|
2913 |
-
'use strict';
|
2914 |
-
|
2915 |
-
var Vertical = LayoutMode.create( 'vertical', {
|
2916 |
-
horizontalAlignment: 0
|
2917 |
-
});
|
2918 |
-
|
2919 |
-
var proto = Vertical.prototype;
|
2920 |
-
|
2921 |
-
proto._resetLayout = function() {
|
2922 |
-
this.y = 0;
|
2923 |
-
};
|
2924 |
-
|
2925 |
-
proto._getItemLayoutPosition = function( item ) {
|
2926 |
-
item.getSize();
|
2927 |
-
var x = ( this.isotope.size.innerWidth - item.size.outerWidth ) *
|
2928 |
-
this.options.horizontalAlignment;
|
2929 |
-
var y = this.y;
|
2930 |
-
this.y += item.size.outerHeight;
|
2931 |
-
return { x: x, y: y };
|
2932 |
-
};
|
2933 |
-
|
2934 |
-
proto._getContainerSize = function() {
|
2935 |
-
return { height: this.y };
|
2936 |
-
};
|
2937 |
-
|
2938 |
-
return Vertical;
|
2939 |
-
|
2940 |
-
}));
|
2941 |
-
|
2942 |
-
/*!
|
2943 |
-
* Isotope v3.0.6
|
2944 |
-
*
|
2945 |
-
* Licensed GPLv3 for open source use
|
2946 |
-
* or Isotope Commercial License for commercial use
|
2947 |
-
*
|
2948 |
-
* https://isotope.metafizzy.co
|
2949 |
-
* Copyright 2010-2018 Metafizzy
|
2950 |
-
*/
|
2951 |
-
|
2952 |
-
( function( window, factory ) {
|
2953 |
-
// universal module definition
|
2954 |
-
/* jshint strict: false */ /*globals define, module, require */
|
2955 |
-
if ( typeof define == 'function' && define.amd ) {
|
2956 |
-
// AMD
|
2957 |
-
define( [
|
2958 |
-
'outlayer/outlayer',
|
2959 |
-
'get-size/get-size',
|
2960 |
-
'desandro-matches-selector/matches-selector',
|
2961 |
-
'fizzy-ui-utils/utils',
|
2962 |
-
'isotope-layout/js/item',
|
2963 |
-
'isotope-layout/js/layout-mode',
|
2964 |
-
// include default layout modes
|
2965 |
-
'isotope-layout/js/layout-modes/masonry',
|
2966 |
-
'isotope-layout/js/layout-modes/fit-rows',
|
2967 |
-
'isotope-layout/js/layout-modes/vertical'
|
2968 |
-
],
|
2969 |
-
function( Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ) {
|
2970 |
-
return factory( window, Outlayer, getSize, matchesSelector, utils, Item, LayoutMode );
|
2971 |
-
});
|
2972 |
-
} else if ( typeof module == 'object' && module.exports ) {
|
2973 |
-
// CommonJS
|
2974 |
-
module.exports = factory(
|
2975 |
-
window,
|
2976 |
-
require('outlayer'),
|
2977 |
-
require('get-size'),
|
2978 |
-
require('desandro-matches-selector'),
|
2979 |
-
require('fizzy-ui-utils'),
|
2980 |
-
require('isotope-layout/js/item'),
|
2981 |
-
require('isotope-layout/js/layout-mode'),
|
2982 |
-
// include default layout modes
|
2983 |
-
require('isotope-layout/js/layout-modes/masonry'),
|
2984 |
-
require('isotope-layout/js/layout-modes/fit-rows'),
|
2985 |
-
require('isotope-layout/js/layout-modes/vertical')
|
2986 |
-
);
|
2987 |
-
} else {
|
2988 |
-
// browser global
|
2989 |
-
window.Isotope = factory(
|
2990 |
-
window,
|
2991 |
-
window.Outlayer,
|
2992 |
-
window.getSize,
|
2993 |
-
window.matchesSelector,
|
2994 |
-
window.fizzyUIUtils,
|
2995 |
-
window.Isotope.Item,
|
2996 |
-
window.Isotope.LayoutMode
|
2997 |
-
);
|
2998 |
-
}
|
2999 |
-
|
3000 |
-
}( window, function factory( window, Outlayer, getSize, matchesSelector, utils,
|
3001 |
-
Item, LayoutMode ) {
|
3002 |
-
|
3003 |
-
|
3004 |
-
|
3005 |
-
// -------------------------- vars -------------------------- //
|
3006 |
-
|
3007 |
-
var jQuery = window.jQuery;
|
3008 |
-
|
3009 |
-
// -------------------------- helpers -------------------------- //
|
3010 |
-
|
3011 |
-
var trim = String.prototype.trim ?
|
3012 |
-
function( str ) {
|
3013 |
-
return str.trim();
|
3014 |
-
} :
|
3015 |
-
function( str ) {
|
3016 |
-
return str.replace( /^\s+|\s+$/g, '' );
|
3017 |
-
};
|
3018 |
-
|
3019 |
-
// -------------------------- isotopeDefinition -------------------------- //
|
3020 |
-
|
3021 |
-
// create an Outlayer layout class
|
3022 |
-
var Isotope = Outlayer.create( 'isotope', {
|
3023 |
-
layoutMode: 'masonry',
|
3024 |
-
isJQueryFiltering: true,
|
3025 |
-
sortAscending: true
|
3026 |
-
});
|
3027 |
-
|
3028 |
-
Isotope.Item = Item;
|
3029 |
-
Isotope.LayoutMode = LayoutMode;
|
3030 |
-
|
3031 |
-
var proto = Isotope.prototype;
|
3032 |
-
|
3033 |
-
proto._create = function() {
|
3034 |
-
this.itemGUID = 0;
|
3035 |
-
// functions that sort items
|
3036 |
-
this._sorters = {};
|
3037 |
-
this._getSorters();
|
3038 |
-
// call super
|
3039 |
-
Outlayer.prototype._create.call( this );
|
3040 |
-
|
3041 |
-
// create layout modes
|
3042 |
-
this.modes = {};
|
3043 |
-
// start filteredItems with all items
|
3044 |
-
this.filteredItems = this.items;
|
3045 |
-
// keep of track of sortBys
|
3046 |
-
this.sortHistory = [ 'original-order' ];
|
3047 |
-
// create from registered layout modes
|
3048 |
-
for ( var name in LayoutMode.modes ) {
|
3049 |
-
this._initLayoutMode( name );
|
3050 |
-
}
|
3051 |
-
};
|
3052 |
-
|
3053 |
-
proto.reloadItems = function() {
|
3054 |
-
// reset item ID counter
|
3055 |
-
this.itemGUID = 0;
|
3056 |
-
// call super
|
3057 |
-
Outlayer.prototype.reloadItems.call( this );
|
3058 |
-
};
|
3059 |
-
|
3060 |
-
proto._itemize = function() {
|
3061 |
-
var items = Outlayer.prototype._itemize.apply( this, arguments );
|
3062 |
-
// assign ID for original-order
|
3063 |
-
for ( var i=0; i < items.length; i++ ) {
|
3064 |
-
var item = items[i];
|
3065 |
-
item.id = this.itemGUID++;
|
3066 |
-
}
|
3067 |
-
this._updateItemsSortData( items );
|
3068 |
-
return items;
|
3069 |
-
};
|
3070 |
-
|
3071 |
-
|
3072 |
-
// -------------------------- layout -------------------------- //
|
3073 |
-
|
3074 |
-
proto._initLayoutMode = function( name ) {
|
3075 |
-
var Mode = LayoutMode.modes[ name ];
|
3076 |
-
// set mode options
|
3077 |
-
// HACK extend initial options, back-fill in default options
|
3078 |
-
var initialOpts = this.options[ name ] || {};
|
3079 |
-
this.options[ name ] = Mode.options ?
|
3080 |
-
utils.extend( Mode.options, initialOpts ) : initialOpts;
|
3081 |
-
// init layout mode instance
|
3082 |
-
this.modes[ name ] = new Mode( this );
|
3083 |
-
};
|
3084 |
-
|
3085 |
-
|
3086 |
-
proto.layout = function() {
|
3087 |
-
// if first time doing layout, do all magic
|
3088 |
-
if ( !this._isLayoutInited && this._getOption('initLayout') ) {
|
3089 |
-
this.arrange();
|
3090 |
-
return;
|
3091 |
-
}
|
3092 |
-
this._layout();
|
3093 |
-
};
|
3094 |
-
|
3095 |
-
// private method to be used in layout() & magic()
|
3096 |
-
proto._layout = function() {
|
3097 |
-
// don't animate first layout
|
3098 |
-
var isInstant = this._getIsInstant();
|
3099 |
-
// layout flow
|
3100 |
-
this._resetLayout();
|
3101 |
-
this._manageStamps();
|
3102 |
-
this.layoutItems( this.filteredItems, isInstant );
|
3103 |
-
|
3104 |
-
// flag for initalized
|
3105 |
-
this._isLayoutInited = true;
|
3106 |
-
};
|
3107 |
-
|
3108 |
-
// filter + sort + layout
|
3109 |
-
proto.arrange = function( opts ) {
|
3110 |
-
// set any options pass
|
3111 |
-
this.option( opts );
|
3112 |
-
this._getIsInstant();
|
3113 |
-
// filter, sort, and layout
|
3114 |
-
|
3115 |
-
// filter
|
3116 |
-
var filtered = this._filter( this.items );
|
3117 |
-
this.filteredItems = filtered.matches;
|
3118 |
-
|
3119 |
-
this._bindArrangeComplete();
|
3120 |
-
|
3121 |
-
if ( this._isInstant ) {
|
3122 |
-
this._noTransition( this._hideReveal, [ filtered ] );
|
3123 |
-
} else {
|
3124 |
-
this._hideReveal( filtered );
|
3125 |
-
}
|
3126 |
-
|
3127 |
-
this._sort();
|
3128 |
-
this._layout();
|
3129 |
-
};
|
3130 |
-
// alias to _init for main plugin method
|
3131 |
-
proto._init = proto.arrange;
|
3132 |
-
|
3133 |
-
proto._hideReveal = function( filtered ) {
|
3134 |
-
this.reveal( filtered.needReveal );
|
3135 |
-
this.hide( filtered.needHide );
|
3136 |
-
};
|
3137 |
-
|
3138 |
-
// HACK
|
3139 |
-
// Don't animate/transition first layout
|
3140 |
-
// Or don't animate/transition other layouts
|
3141 |
-
proto._getIsInstant = function() {
|
3142 |
-
var isLayoutInstant = this._getOption('layoutInstant');
|
3143 |
-
var isInstant = isLayoutInstant !== undefined ? isLayoutInstant :
|
3144 |
-
!this._isLayoutInited;
|
3145 |
-
this._isInstant = isInstant;
|
3146 |
-
return isInstant;
|
3147 |
-
};
|
3148 |
-
|
3149 |
-
// listen for layoutComplete, hideComplete and revealComplete
|
3150 |
-
// to trigger arrangeComplete
|
3151 |
-
proto._bindArrangeComplete = function() {
|
3152 |
-
// listen for 3 events to trigger arrangeComplete
|
3153 |
-
var isLayoutComplete, isHideComplete, isRevealComplete;
|
3154 |
-
var _this = this;
|
3155 |
-
function arrangeParallelCallback() {
|
3156 |
-
if ( isLayoutComplete && isHideComplete && isRevealComplete ) {
|
3157 |
-
_this.dispatchEvent( 'arrangeComplete', null, [ _this.filteredItems ] );
|
3158 |
-
}
|
3159 |
-
}
|
3160 |
-
this.once( 'layoutComplete', function() {
|
3161 |
-
isLayoutComplete = true;
|
3162 |
-
arrangeParallelCallback();
|
3163 |
-
});
|
3164 |
-
this.once( 'hideComplete', function() {
|
3165 |
-
isHideComplete = true;
|
3166 |
-
arrangeParallelCallback();
|
3167 |
-
});
|
3168 |
-
this.once( 'revealComplete', function() {
|
3169 |
-
isRevealComplete = true;
|
3170 |
-
arrangeParallelCallback();
|
3171 |
-
});
|
3172 |
-
};
|
3173 |
-
|
3174 |
-
// -------------------------- filter -------------------------- //
|
3175 |
-
|
3176 |
-
proto._filter = function( items ) {
|
3177 |
-
var filter = this.options.filter;
|
3178 |
-
filter = filter || '*';
|
3179 |
-
var matches = [];
|
3180 |
-
var hiddenMatched = [];
|
3181 |
-
var visibleUnmatched = [];
|
3182 |
-
|
3183 |
-
var test = this._getFilterTest( filter );
|
3184 |
-
|
3185 |
-
// test each item
|
3186 |
-
for ( var i=0; i < items.length; i++ ) {
|
3187 |
-
var item = items[i];
|
3188 |
-
if ( item.isIgnored ) {
|
3189 |
-
continue;
|
3190 |
-
}
|
3191 |
-
// add item to either matched or unmatched group
|
3192 |
-
var isMatched = test( item );
|
3193 |
-
// item.isFilterMatched = isMatched;
|
3194 |
-
// add to matches if its a match
|
3195 |
-
if ( isMatched ) {
|
3196 |
-
matches.push( item );
|
3197 |
-
}
|
3198 |
-
// add to additional group if item needs to be hidden or revealed
|
3199 |
-
if ( isMatched && item.isHidden ) {
|
3200 |
-
hiddenMatched.push( item );
|
3201 |
-
} else if ( !isMatched && !item.isHidden ) {
|
3202 |
-
visibleUnmatched.push( item );
|
3203 |
-
}
|
3204 |
-
}
|
3205 |
-
|
3206 |
-
// return collections of items to be manipulated
|
3207 |
-
return {
|
3208 |
-
matches: matches,
|
3209 |
-
needReveal: hiddenMatched,
|
3210 |
-
needHide: visibleUnmatched
|
3211 |
-
};
|
3212 |
-
};
|
3213 |
-
|
3214 |
-
// get a jQuery, function, or a matchesSelector test given the filter
|
3215 |
-
proto._getFilterTest = function( filter ) {
|
3216 |
-
if ( jQuery && this.options.isJQueryFiltering ) {
|
3217 |
-
// use jQuery
|
3218 |
-
return function( item ) {
|
3219 |
-
return jQuery( item.element ).is( filter );
|
3220 |
-
};
|
3221 |
-
}
|
3222 |
-
if ( typeof filter == 'function' ) {
|
3223 |
-
// use filter as function
|
3224 |
-
return function( item ) {
|
3225 |
-
return filter( item.element );
|
3226 |
-
};
|
3227 |
-
}
|
3228 |
-
// default, use filter as selector string
|
3229 |
-
return function( item ) {
|
3230 |
-
return matchesSelector( item.element, filter );
|
3231 |
-
};
|
3232 |
-
};
|
3233 |
-
|
3234 |
-
// -------------------------- sorting -------------------------- //
|
3235 |
-
|
3236 |
-
/**
|
3237 |
-
* @params {Array} elems
|
3238 |
-
* @public
|
3239 |
-
*/
|
3240 |
-
proto.updateSortData = function( elems ) {
|
3241 |
-
// get items
|
3242 |
-
var items;
|
3243 |
-
if ( elems ) {
|
3244 |
-
elems = utils.makeArray( elems );
|
3245 |
-
items = this.getItems( elems );
|
3246 |
-
} else {
|
3247 |
-
// update all items if no elems provided
|
3248 |
-
items = this.items;
|
3249 |
-
}
|
3250 |
-
|
3251 |
-
this._getSorters();
|
3252 |
-
this._updateItemsSortData( items );
|
3253 |
-
};
|
3254 |
-
|
3255 |
-
proto._getSorters = function() {
|
3256 |
-
var getSortData = this.options.getSortData;
|
3257 |
-
for ( var key in getSortData ) {
|
3258 |
-
var sorter = getSortData[ key ];
|
3259 |
-
this._sorters[ key ] = mungeSorter( sorter );
|
3260 |
-
}
|
3261 |
-
};
|
3262 |
-
|
3263 |
-
/**
|
3264 |
-
* @params {Array} items - of Isotope.Items
|
3265 |
-
* @private
|
3266 |
-
*/
|
3267 |
-
proto._updateItemsSortData = function( items ) {
|
3268 |
-
// do not update if no items
|
3269 |
-
var len = items && items.length;
|
3270 |
-
|
3271 |
-
for ( var i=0; len && i < len; i++ ) {
|
3272 |
-
var item = items[i];
|
3273 |
-
item.updateSortData();
|
3274 |
-
}
|
3275 |
-
};
|
3276 |
-
|
3277 |
-
// ----- munge sorter ----- //
|
3278 |
-
|
3279 |
-
// encapsulate this, as we just need mungeSorter
|
3280 |
-
// other functions in here are just for munging
|
3281 |
-
var mungeSorter = ( function() {
|
3282 |
-
// add a magic layer to sorters for convienent shorthands
|
3283 |
-
// `.foo-bar` will use the text of .foo-bar querySelector
|
3284 |
-
// `[foo-bar]` will use attribute
|
3285 |
-
// you can also add parser
|
3286 |
-
// `.foo-bar parseInt` will parse that as a number
|
3287 |
-
function mungeSorter( sorter ) {
|
3288 |
-
// if not a string, return function or whatever it is
|
3289 |
-
if ( typeof sorter != 'string' ) {
|
3290 |
-
return sorter;
|
3291 |
-
}
|
3292 |
-
// parse the sorter string
|
3293 |
-
var args = trim( sorter ).split(' ');
|
3294 |
-
var query = args[0];
|
3295 |
-
// check if query looks like [an-attribute]
|
3296 |
-
var attrMatch = query.match( /^\[(.+)\]$/ );
|
3297 |
-
var attr = attrMatch && attrMatch[1];
|
3298 |
-
var getValue = getValueGetter( attr, query );
|
3299 |
-
// use second argument as a parser
|
3300 |
-
var parser = Isotope.sortDataParsers[ args[1] ];
|
3301 |
-
// parse the value, if there was a parser
|
3302 |
-
sorter = parser ? function( elem ) {
|
3303 |
-
return elem && parser( getValue( elem ) );
|
3304 |
-
} :
|
3305 |
-
// otherwise just return value
|
3306 |
-
function( elem ) {
|
3307 |
-
return elem && getValue( elem );
|
3308 |
-
};
|
3309 |
-
|
3310 |
-
return sorter;
|
3311 |
-
}
|
3312 |
-
|
3313 |
-
// get an attribute getter, or get text of the querySelector
|
3314 |
-
function getValueGetter( attr, query ) {
|
3315 |
-
// if query looks like [foo-bar], get attribute
|
3316 |
-
if ( attr ) {
|
3317 |
-
return function getAttribute( elem ) {
|
3318 |
-
return elem.getAttribute( attr );
|
3319 |
-
};
|
3320 |
-
}
|
3321 |
-
|
3322 |
-
// otherwise, assume its a querySelector, and get its text
|
3323 |
-
return function getChildText( elem ) {
|
3324 |
-
var child = elem.querySelector( query );
|
3325 |
-
return child && child.textContent;
|
3326 |
-
};
|
3327 |
-
}
|
3328 |
-
|
3329 |
-
return mungeSorter;
|
3330 |
-
})();
|
3331 |
-
|
3332 |
-
// parsers used in getSortData shortcut strings
|
3333 |
-
Isotope.sortDataParsers = {
|
3334 |
-
'parseInt': function( val ) {
|
3335 |
-
return parseInt( val, 10 );
|
3336 |
-
},
|
3337 |
-
'parseFloat': function( val ) {
|
3338 |
-
return parseFloat( val );
|
3339 |
-
}
|
3340 |
-
};
|
3341 |
-
|
3342 |
-
// ----- sort method ----- //
|
3343 |
-
|
3344 |
-
// sort filteredItem order
|
3345 |
-
proto._sort = function() {
|
3346 |
-
if ( !this.options.sortBy ) {
|
3347 |
-
return;
|
3348 |
-
}
|
3349 |
-
// keep track of sortBy History
|
3350 |
-
var sortBys = utils.makeArray( this.options.sortBy );
|
3351 |
-
if ( !this._getIsSameSortBy( sortBys ) ) {
|
3352 |
-
// concat all sortBy and sortHistory, add to front, oldest goes in last
|
3353 |
-
this.sortHistory = sortBys.concat( this.sortHistory );
|
3354 |
-
}
|
3355 |
-
// sort magic
|
3356 |
-
var itemSorter = getItemSorter( this.sortHistory, this.options.sortAscending );
|
3357 |
-
this.filteredItems.sort( itemSorter );
|
3358 |
-
};
|
3359 |
-
|
3360 |
-
// check if sortBys is same as start of sortHistory
|
3361 |
-
proto._getIsSameSortBy = function( sortBys ) {
|
3362 |
-
for ( var i=0; i < sortBys.length; i++ ) {
|
3363 |
-
if ( sortBys[i] != this.sortHistory[i] ) {
|
3364 |
-
return false;
|
3365 |
-
}
|
3366 |
-
}
|
3367 |
-
return true;
|
3368 |
-
};
|
3369 |
-
|
3370 |
-
// returns a function used for sorting
|
3371 |
-
function getItemSorter( sortBys, sortAsc ) {
|
3372 |
-
return function sorter( itemA, itemB ) {
|
3373 |
-
// cycle through all sortKeys
|
3374 |
-
for ( var i = 0; i < sortBys.length; i++ ) {
|
3375 |
-
var sortBy = sortBys[i];
|
3376 |
-
var a = itemA.sortData[ sortBy ];
|
3377 |
-
var b = itemB.sortData[ sortBy ];
|
3378 |
-
if ( a > b || a < b ) {
|
3379 |
-
// if sortAsc is an object, use the value given the sortBy key
|
3380 |
-
var isAscending = sortAsc[ sortBy ] !== undefined ? sortAsc[ sortBy ] : sortAsc;
|
3381 |
-
var direction = isAscending ? 1 : -1;
|
3382 |
-
return ( a > b ? 1 : -1 ) * direction;
|
3383 |
-
}
|
3384 |
-
}
|
3385 |
-
return 0;
|
3386 |
-
};
|
3387 |
-
}
|
3388 |
-
|
3389 |
-
// -------------------------- methods -------------------------- //
|
3390 |
-
|
3391 |
-
// get layout mode
|
3392 |
-
proto._mode = function() {
|
3393 |
-
var layoutMode = this.options.layoutMode;
|
3394 |
-
var mode = this.modes[ layoutMode ];
|
3395 |
-
if ( !mode ) {
|
3396 |
-
// TODO console.error
|
3397 |
-
throw new Error( 'No layout mode: ' + layoutMode );
|
3398 |
-
}
|
3399 |
-
// HACK sync mode's options
|
3400 |
-
// any options set after init for layout mode need to be synced
|
3401 |
-
mode.options = this.options[ layoutMode ];
|
3402 |
-
return mode;
|
3403 |
-
};
|
3404 |
-
|
3405 |
-
proto._resetLayout = function() {
|
3406 |
-
// trigger original reset layout
|
3407 |
-
Outlayer.prototype._resetLayout.call( this );
|
3408 |
-
this._mode()._resetLayout();
|
3409 |
-
};
|
3410 |
-
|
3411 |
-
proto._getItemLayoutPosition = function( item ) {
|
3412 |
-
return this._mode()._getItemLayoutPosition( item );
|
3413 |
-
};
|
3414 |
-
|
3415 |
-
proto._manageStamp = function( stamp ) {
|
3416 |
-
this._mode()._manageStamp( stamp );
|
3417 |
-
};
|
3418 |
-
|
3419 |
-
proto._getContainerSize = function() {
|
3420 |
-
return this._mode()._getContainerSize();
|
3421 |
-
};
|
3422 |
-
|
3423 |
-
proto.needsResizeLayout = function() {
|
3424 |
-
return this._mode().needsResizeLayout();
|
3425 |
-
};
|
3426 |
-
|
3427 |
-
// -------------------------- adding & removing -------------------------- //
|
3428 |
-
|
3429 |
-
// HEADS UP overwrites default Outlayer appended
|
3430 |
-
proto.appended = function( elems ) {
|
3431 |
-
var items = this.addItems( elems );
|
3432 |
-
if ( !items.length ) {
|
3433 |
-
return;
|
3434 |
-
}
|
3435 |
-
// filter, layout, reveal new items
|
3436 |
-
var filteredItems = this._filterRevealAdded( items );
|
3437 |
-
// add to filteredItems
|
3438 |
-
this.filteredItems = this.filteredItems.concat( filteredItems );
|
3439 |
-
};
|
3440 |
-
|
3441 |
-
// HEADS UP overwrites default Outlayer prepended
|
3442 |
-
proto.prepended = function( elems ) {
|
3443 |
-
var items = this._itemize( elems );
|
3444 |
-
if ( !items.length ) {
|
3445 |
-
return;
|
3446 |
-
}
|
3447 |
-
// start new layout
|
3448 |
-
this._resetLayout();
|
3449 |
-
this._manageStamps();
|
3450 |
-
// filter, layout, reveal new items
|
3451 |
-
var filteredItems = this._filterRevealAdded( items );
|
3452 |
-
// layout previous items
|
3453 |
-
this.layoutItems( this.filteredItems );
|
3454 |
-
// add to items and filteredItems
|
3455 |
-
this.filteredItems = filteredItems.concat( this.filteredItems );
|
3456 |
-
this.items = items.concat( this.items );
|
3457 |
-
};
|
3458 |
-
|
3459 |
-
proto._filterRevealAdded = function( items ) {
|
3460 |
-
var filtered = this._filter( items );
|
3461 |
-
this.hide( filtered.needHide );
|
3462 |
-
// reveal all new items
|
3463 |
-
this.reveal( filtered.matches );
|
3464 |
-
// layout new items, no transition
|
3465 |
-
this.layoutItems( filtered.matches, true );
|
3466 |
-
return filtered.matches;
|
3467 |
-
};
|
3468 |
-
|
3469 |
-
/**
|
3470 |
-
* Filter, sort, and layout newly-appended item elements
|
3471 |
-
* @param {Array or NodeList or Element} elems
|
3472 |
-
*/
|
3473 |
-
proto.insert = function( elems ) {
|
3474 |
-
var items = this.addItems( elems );
|
3475 |
-
if ( !items.length ) {
|
3476 |
-
return;
|
3477 |
-
}
|
3478 |
-
// append item elements
|
3479 |
-
var i, item;
|
3480 |
-
var len = items.length;
|
3481 |
-
for ( i=0; i < len; i++ ) {
|
3482 |
-
item = items[i];
|
3483 |
-
this.element.appendChild( item.element );
|
3484 |
-
}
|
3485 |
-
// filter new stuff
|
3486 |
-
var filteredInsertItems = this._filter( items ).matches;
|
3487 |
-
// set flag
|
3488 |
-
for ( i=0; i < len; i++ ) {
|
3489 |
-
items[i].isLayoutInstant = true;
|
3490 |
-
}
|
3491 |
-
this.arrange();
|
3492 |
-
// reset flag
|
3493 |
-
for ( i=0; i < len; i++ ) {
|
3494 |
-
delete items[i].isLayoutInstant;
|
3495 |
-
}
|
3496 |
-
this.reveal( filteredInsertItems );
|
3497 |
-
};
|
3498 |
-
|
3499 |
-
var _remove = proto.remove;
|
3500 |
-
proto.remove = function( elems ) {
|
3501 |
-
elems = utils.makeArray( elems );
|
3502 |
-
var removeItems = this.getItems( elems );
|
3503 |
-
// do regular thing
|
3504 |
-
_remove.call( this, elems );
|
3505 |
-
// bail if no items to remove
|
3506 |
-
var len = removeItems && removeItems.length;
|
3507 |
-
// remove elems from filteredItems
|
3508 |
-
for ( var i=0; len && i < len; i++ ) {
|
3509 |
-
var item = removeItems[i];
|
3510 |
-
// remove item from collection
|
3511 |
-
utils.removeFrom( this.filteredItems, item );
|
3512 |
-
}
|
3513 |
-
};
|
3514 |
-
|
3515 |
-
proto.shuffle = function() {
|
3516 |
-
// update random sortData
|
3517 |
-
for ( var i=0; i < this.items.length; i++ ) {
|
3518 |
-
var item = this.items[i];
|
3519 |
-
item.sortData.random = Math.random();
|
3520 |
-
}
|
3521 |
-
this.options.sortBy = 'random';
|
3522 |
-
this._sort();
|
3523 |
-
this._layout();
|
3524 |
-
};
|
3525 |
-
|
3526 |
-
/**
|
3527 |
-
* trigger fn without transition
|
3528 |
-
* kind of hacky to have this in the first place
|
3529 |
-
* @param {Function} fn
|
3530 |
-
* @param {Array} args
|
3531 |
-
* @returns ret
|
3532 |
-
* @private
|
3533 |
-
*/
|
3534 |
-
proto._noTransition = function( fn, args ) {
|
3535 |
-
// save transitionDuration before disabling
|
3536 |
-
var transitionDuration = this.options.transitionDuration;
|
3537 |
-
// disable transition
|
3538 |
-
this.options.transitionDuration = 0;
|
3539 |
-
// do it
|
3540 |
-
var returnValue = fn.apply( this, args );
|
3541 |
-
// re-enable transition for reveal
|
3542 |
-
this.options.transitionDuration = transitionDuration;
|
3543 |
-
return returnValue;
|
3544 |
-
};
|
3545 |
-
|
3546 |
-
// ----- helper methods ----- //
|
3547 |
-
|
3548 |
-
/**
|
3549 |
-
* getter method for getting filtered item elements
|
3550 |
-
* @returns {Array} elems - collection of item elements
|
3551 |
-
*/
|
3552 |
-
proto.getFilteredItemElements = function() {
|
3553 |
-
return this.filteredItems.map( function( item ) {
|
3554 |
-
return item.element;
|
3555 |
-
});
|
3556 |
-
};
|
3557 |
-
|
3558 |
-
// ----- ----- //
|
3559 |
-
|
3560 |
-
return Isotope;
|
3561 |
-
|
3562 |
-
}));
|
3563 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/vendor/lazysizes/lazysizes.min.js
CHANGED
@@ -1,2 +1,3 @@
|
|
1 |
-
/*! lazysizes - v5.
|
2 |
-
|
|
1 |
+
/*! lazysizes - v5.2.2 */
|
2 |
+
|
3 |
+
!function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:true}}var O=D.documentElement,a=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,l=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],i={},G=Array.prototype.forEach,J=function(e,t){if(!i[t]){i[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return i[t].test(e[$]("class")||"")&&i[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var i;if(i=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(i," "))}},V=function(t,i,e){var a=e?P:"removeEventListener";if(e){V(t,i)}r.forEach(function(e){t[a](e,i)})},X=function(e,t,i,a,r){var n=D.createEvent("Event");if(!i){i={}}i.instance=k;n.initEvent(t,!a,!r);n.detail=i;e.dispatchEvent(n);return n},Y=function(e,t){var i;if(!a&&(i=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}i({reevaluate:true,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,i){i=i||e.offsetWidth;while(i<H.minSize&&t&&!e._lazysizesWidth){i=t.offsetWidth;t=t.parentNode}return i},ee=function(){var i,a;var t=[];var r=[];var n=t;var s=function(){var e=n;n=t.length?r:t;i=true;a=false;while(e.length){e.shift()()}i=false};var e=function(e,t){if(i&&!t){e.apply(this,arguments)}else{n.push(e);if(!a){a=true;(D.hidden?I:U)(s)}}};e._lsFlush=s;return e}(),te=function(i,e){return e?function(){ee(i)}:function(){var e=this;var t=arguments;ee(function(){i.apply(e,t)})}},ie=function(e){var i;var a=0;var r=H.throttleDelay;var n=H.ricTimeout;var t=function(){i=false;a=f.now();e()};var s=l&&n>49?function(){l(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(i){return}i=true;t=r-(f.now()-a);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ae=function(e){var t,i;var a=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-i;if(e<a){I(n,a-e)}else{(l||r)(r)}};return function(){i=f.now();if(!t){t=I(n,a)}}},e=function(){var v,m,c,h,e;var y,z,g,p,C,b,A;var n=/^img$/i;var d=/^iframe$/i;var E="onscroll"in u&&!/(gle|ing)bot/.test(navigator.userAgent);var _=0;var w=0;var N=0;var M=-1;var x=function(e){N--;if(!e||N<0||!e.target){N=0}};var W=function(e){if(A==null){A=Z(D.body,"visibility")=="hidden"}return A||!(Z(e.parentNode,"visibility")=="hidden"&&Z(e,"visibility")=="hidden")};var S=function(e,t){var i;var a=e;var r=W(e);g-=t;b+=t;p-=t;C+=t;while(r&&(a=a.offsetParent)&&a!=D.body&&a!=O){r=(Z(a,"opacity")||1)>0;if(r&&Z(a,"overflow")!="visible"){i=a.getBoundingClientRect();r=C>i.left&&p<i.right&&b>i.top-1&&g<i.bottom+1}}return r};var t=function(){var e,t,i,a,r,n,s,l,o,u,f,c;var d=k.elements;if((h=H.loadMode)&&N<8&&(e=d.length)){t=0;M++;for(;t<e;t++){if(!d[t]||d[t]._lazyRace){continue}if(!E||k.prematureUnveil&&k.prematureUnveil(d[t])){R(d[t]);continue}if(!(l=d[t][$]("data-expand"))||!(n=l*1)){n=w}if(!u){u=!H.expand||H.expand<1?O.clientHeight>500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w<f&&N<1&&M>2&&h>2&&!D.hidden){w=f;M=0}else if(h>1&&M>1&&N<6){w=u}else{w=_}}if(o!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;o=n}i=d[t].getBoundingClientRect();if((b=i.bottom)>=s&&(g=i.top)<=z&&(C=i.right)>=s*c&&(p=i.left)<=y&&(b||C||p||g)&&(H.loadHidden||W(d[t]))&&(m&&N<3&&!l&&(h<3||M<4)||S(d[t],n))){R(d[t]);r=true;if(N>9){break}}else if(!r&&m&&!a&&N<4&&M<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!l&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){a=v[0]||d[t]}}if(a&&!r){R(a)}}};var i=ie(t);var B=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}x(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,L);X(t,"lazyloaded")};var a=te(B);var L=function(e){a({target:e.target})};var T=function(t,i){try{t.contentWindow.location.replace(i)}catch(e){t.src=i}};var F=function(e){var t;var i=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(i){e.setAttribute("srcset",i)}};var s=te(function(t,e,i,a,r){var n,s,l,o,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(a){if(i){K(t,H.autosizesClass)}else{t.setAttribute("sizes",a)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){l=t.parentNode;o=l&&j.test(l.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||o);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(x,2500);V(t,L,true)}if(o){G.call(l.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!o){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||o)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,"ls-is-cached")}B(u);t._lazyCache=true;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){N--}},true)});var R=function(e){if(e._lazyRace){return}var t;var i=n.test(e.nodeName);var a=i&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=a=="auto";if((r||!m)&&i&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;N++;s(e,t,r,a,i)};var r=ae(function(){H.loadMode=3;i()});var l=function(){if(H.loadMode==3){H.loadMode=2}r()};var o=function(){if(m){return}if(f.now()-e<999){I(o,999);return}m=true;H.loadMode=3;i();q("scroll",l,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",i,true);q("resize",i,true);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(i).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P]("DOMNodeInserted",i,true);O[P]("DOMAttrModified",i,true);setInterval(i,999)}q("hashchange",i,true);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,i,true)});if(/d$|^c/.test(D.readyState)){o()}else{q("load",o);D[P]("DOMContentLoaded",i);I(o,2e4)}if(k.elements.length){t();ee._lsFlush()}else{i()}},checkElems:i,unveil:R,_aLSL:l}}(),re=function(){var i;var n=te(function(e,t,i,a){var r,n,s;e._lazysizesWidth=a;a+="px";e.setAttribute("sizes",a);if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n<s;n++){r[n].setAttribute("sizes",a)}}if(!i.detail.dataAttr){Y(e,i.detail)}});var a=function(e,t,i){var a;var r=e.parentNode;if(r){i=s(e,r,i);a=X(e,"lazybeforesizes",{width:i,dataAttr:!!t});if(!a.defaultPrevented){i=a.detail.width;if(i&&i!==e._lazysizesWidth){n(e,r,a,i)}}}};var e=function(){var e;var t=i.length;if(t){e=0;for(;e<t;e++){a(i[e])}}};var t=ae(e);return{_:function(){i=D.getElementsByClassName(H.autosizesClass);q("resize",t)},checkElems:t,updateElem:a}}(),t=function(){if(!t.i&&D.getElementsByClassName){t.i=true;re._();e._()}};return I(function(){H.init&&t()}),k={cfg:H,autoSizer:re,loader:e,init:t,uP:Y,aC:K,rC:Q,hC:J,fire:X,gW:s,rAF:ee}}(e,e.document,Date);e.lazySizes=t,"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:{});
|
assets/vendor/object-fit-images/{ofi.min.js → dist/ofi.min.js}
RENAMED
File without changes
|
assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.css
RENAMED
File without changes
|
assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.png
RENAMED
File without changes
|
assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.svg
RENAMED
File without changes
|
assets/vendor/photoswipe/{default-skin → dist/default-skin}/preloader.gif
RENAMED
File without changes
|
assets/vendor/photoswipe/{photoswipe-ui-default.min.js → dist/photoswipe-ui-default.min.js}
RENAMED
File without changes
|
assets/vendor/photoswipe/{photoswipe.css → dist/photoswipe.css}
RENAMED
File without changes
|
assets/vendor/photoswipe/{photoswipe.min.js → dist/photoswipe.min.js}
RENAMED
File without changes
|
assets/vendor/readme.md
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
# Vendor scripts will be loaded automatically after `build` task
|
assets/vendor/simplebar/{simplebar.min.css → dist/simplebar.min.css}
RENAMED
File without changes
|
assets/vendor/simplebar/dist/simplebar.min.js
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* SimpleBar.js - v5.3.0
|
3 |
+
* Scrollbars, simpler.
|
4 |
+
* https://grsmto.github.io/simplebar/
|
5 |
+
*
|
6 |
+
* Made by Adrien Denat from a fork by Jonathan Nicol
|
7 |
+
* Under MIT License
|
8 |
+
*/
|
9 |
+
|
10 |
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).SimpleBar=e()}(this,(function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n,i,o="object",s=function(t){return t&&t.Math==Math&&t},a=s(typeof globalThis==o&&globalThis)||s(typeof window==o&&window)||s(typeof self==o&&self)||s(typeof t==o&&t)||Function("return this")(),c=function(t){try{return!!t()}catch(t){return!0}},l=!c((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,h={f:f&&!u.call({1:2},1)?function(t){var e=f(this,t);return!!e&&e.enumerable}:u},d=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},p={}.toString,v=function(t){return p.call(t).slice(8,-1)},g="".split,y=c((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==v(t)?g.call(t,""):Object(t)}:Object,b=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return y(b(t))},x=function(t){return"object"==typeof t?null!==t:"function"==typeof t},E=function(t,e){if(!x(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!x(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!x(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!x(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},w={}.hasOwnProperty,O=function(t,e){return w.call(t,e)},_=a.document,S=x(_)&&x(_.createElement),A=function(t){return S?_.createElement(t):{}},k=!l&&!c((function(){return 7!=Object.defineProperty(A("div"),"a",{get:function(){return 7}}).a})),L=Object.getOwnPropertyDescriptor,M={f:l?L:function(t,e){if(t=m(t),e=E(e,!0),k)try{return L(t,e)}catch(t){}if(O(t,e))return d(!h.f.call(t,e),t[e])}},T=function(t){if(!x(t))throw TypeError(String(t)+" is not an object");return t},j=Object.defineProperty,R={f:l?j:function(t,e,r){if(T(t),e=E(e,!0),T(r),k)try{return j(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},W=l?function(t,e,r){return R.f(t,e,d(1,r))}:function(t,e,r){return t[e]=r,t},z=function(t,e){try{W(a,t,e)}catch(r){a[t]=e}return e},C=e((function(t){var e=a["__core-js_shared__"]||z("__core-js_shared__",{});(t.exports=function(t,r){return e[t]||(e[t]=void 0!==r?r:{})})("versions",[]).push({version:"3.2.1",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),N=C("native-function-to-string",Function.toString),I=a.WeakMap,D="function"==typeof I&&/native code/.test(N.call(I)),P=0,V=Math.random(),F=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++P+V).toString(36)},B=C("keys"),H=function(t){return B[t]||(B[t]=F(t))},q={},$=a.WeakMap;if(D){var X=new $,Y=X.get,G=X.has,U=X.set;r=function(t,e){return U.call(X,t,e),e},n=function(t){return Y.call(X,t)||{}},i=function(t){return G.call(X,t)}}else{var Q=H("state");q[Q]=!0,r=function(t,e){return W(t,Q,e),e},n=function(t){return O(t,Q)?t[Q]:{}},i=function(t){return O(t,Q)}}var K={set:r,get:n,has:i,enforce:function(t){return i(t)?n(t):r(t,{})},getterFor:function(t){return function(e){var r;if(!x(e)||(r=n(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},J=e((function(t){var e=K.get,r=K.enforce,n=String(N).split("toString");C("inspectSource",(function(t){return N.call(t)})),(t.exports=function(t,e,i,o){var s=!!o&&!!o.unsafe,c=!!o&&!!o.enumerable,l=!!o&&!!o.noTargetGet;"function"==typeof i&&("string"!=typeof e||O(i,"name")||W(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==a?(s?!l&&t[e]&&(c=!0):delete t[e],c?t[e]=i:W(t,e,i)):c?t[e]=i:z(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||N.call(this)}))})),Z=a,tt=function(t){return"function"==typeof t?t:void 0},et=function(t,e){return arguments.length<2?tt(Z[t])||tt(a[t]):Z[t]&&Z[t][e]||a[t]&&a[t][e]},rt=Math.ceil,nt=Math.floor,it=function(t){return isNaN(t=+t)?0:(t>0?nt:rt)(t)},ot=Math.min,st=function(t){return t>0?ot(it(t),9007199254740991):0},at=Math.max,ct=Math.min,lt=function(t){return function(e,r,n){var i,o=m(e),s=st(o.length),a=function(t,e){var r=it(t);return r<0?at(r+e,0):ct(r,e)}(n,s);if(t&&r!=r){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((t||a in o)&&o[a]===r)return t||a||0;return!t&&-1}},ut={includes:lt(!0),indexOf:lt(!1)}.indexOf,ft=function(t,e){var r,n=m(t),i=0,o=[];for(r in n)!O(q,r)&&O(n,r)&&o.push(r);for(;e.length>i;)O(n,r=e[i++])&&(~ut(o,r)||o.push(r));return o},ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],dt=ht.concat("length","prototype"),pt={f:Object.getOwnPropertyNames||function(t){return ft(t,dt)}},vt={f:Object.getOwnPropertySymbols},gt=et("Reflect","ownKeys")||function(t){var e=pt.f(T(t)),r=vt.f;return r?e.concat(r(t)):e},yt=function(t,e){for(var r=gt(e),n=R.f,i=M.f,o=0;o<r.length;o++){var s=r[o];O(t,s)||n(t,s,i(e,s))}},bt=/#|\.prototype\./,mt=function(t,e){var r=Et[xt(t)];return r==Ot||r!=wt&&("function"==typeof e?c(e):!!e)},xt=mt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Et=mt.data={},wt=mt.NATIVE="N",Ot=mt.POLYFILL="P",_t=mt,St=M.f,At=function(t,e){var r,n,i,o,s,c=t.target,l=t.global,u=t.stat;if(r=l?a:u?a[c]||z(c,{}):(a[c]||{}).prototype)for(n in e){if(o=e[n],i=t.noTargetGet?(s=St(r,n))&&s.value:r[n],!_t(l?n:c+(u?".":"#")+n,t.forced)&&void 0!==i){if(typeof o==typeof i)continue;yt(o,i)}(t.sham||i&&i.sham)&&W(o,"sham",!0),J(r,n,o,t)}},kt=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},Lt=function(t,e,r){if(kt(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}},Mt=function(t){return Object(b(t))},Tt=Array.isArray||function(t){return"Array"==v(t)},jt=!!Object.getOwnPropertySymbols&&!c((function(){return!String(Symbol())})),Rt=a.Symbol,Wt=C("wks"),zt=function(t){return Wt[t]||(Wt[t]=jt&&Rt[t]||(jt?Rt:F)("Symbol."+t))},Ct=zt("species"),Nt=function(t,e){var r;return Tt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Tt(r.prototype)?x(r)&&null===(r=r[Ct])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},It=[].push,Dt=function(t){var e=1==t,r=2==t,n=3==t,i=4==t,o=6==t,s=5==t||o;return function(a,c,l,u){for(var f,h,d=Mt(a),p=y(d),v=Lt(c,l,3),g=st(p.length),b=0,m=u||Nt,x=e?m(a,g):r?m(a,0):void 0;g>b;b++)if((s||b in p)&&(h=v(f=p[b],b,d),t))if(e)x[b]=h;else if(h)switch(t){case 3:return!0;case 5:return f;case 6:return b;case 2:It.call(x,f)}else if(i)return!1;return o?-1:n||i?i:x}},Pt={forEach:Dt(0),map:Dt(1),filter:Dt(2),some:Dt(3),every:Dt(4),find:Dt(5),findIndex:Dt(6)},Vt=function(t,e){var r=[][t];return!r||!c((function(){r.call(null,e||function(){throw 1},1)}))},Ft=Pt.forEach,Bt=Vt("forEach")?function(t){return Ft(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach;At({target:"Array",proto:!0,forced:[].forEach!=Bt},{forEach:Bt});var Ht={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0};for(var qt in Ht){var $t=a[qt],Xt=$t&&$t.prototype;if(Xt&&Xt.forEach!==Bt)try{W(Xt,"forEach",Bt)}catch(t){Xt.forEach=Bt}}var Yt=!("undefined"==typeof window||!window.document||!window.document.createElement),Gt=zt("species"),Ut=Pt.filter;At({target:"Array",proto:!0,forced:!function(t){return!c((function(){var e=[];return(e.constructor={})[Gt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}("filter")},{filter:function(t){return Ut(this,t,arguments.length>1?arguments[1]:void 0)}});var Qt=Object.keys||function(t){return ft(t,ht)},Kt=l?Object.defineProperties:function(t,e){T(t);for(var r,n=Qt(e),i=n.length,o=0;i>o;)R.f(t,r=n[o++],e[r]);return t},Jt=et("document","documentElement"),Zt=H("IE_PROTO"),te=function(){},ee=function(){var t,e=A("iframe"),r=ht.length;for(e.style.display="none",Jt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),ee=t.F;r--;)delete ee.prototype[ht[r]];return ee()},re=Object.create||function(t,e){var r;return null!==t?(te.prototype=T(t),r=new te,te.prototype=null,r[Zt]=t):r=ee(),void 0===e?r:Kt(r,e)};q[Zt]=!0;var ne=zt("unscopables"),ie=Array.prototype;null==ie[ne]&&W(ie,ne,re(null));var oe,se,ae,ce=function(t){ie[ne][t]=!0},le={},ue=!c((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),fe=H("IE_PROTO"),he=Object.prototype,de=ue?Object.getPrototypeOf:function(t){return t=Mt(t),O(t,fe)?t[fe]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?he:null},pe=zt("iterator"),ve=!1;[].keys&&("next"in(ae=[].keys())?(se=de(de(ae)))!==Object.prototype&&(oe=se):ve=!0),null==oe&&(oe={}),O(oe,pe)||W(oe,pe,(function(){return this}));var ge={IteratorPrototype:oe,BUGGY_SAFARI_ITERATORS:ve},ye=R.f,be=zt("toStringTag"),me=function(t,e,r){t&&!O(t=r?t:t.prototype,be)&&ye(t,be,{configurable:!0,value:e})},xe=ge.IteratorPrototype,Ee=function(){return this},we=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return T(r),function(t){if(!x(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),Oe=ge.IteratorPrototype,_e=ge.BUGGY_SAFARI_ITERATORS,Se=zt("iterator"),Ae=function(){return this},ke=function(t,e,r,n,i,o,s){!function(t,e,r){var n=e+" Iterator";t.prototype=re(xe,{next:d(1,r)}),me(t,n,!1),le[n]=Ee}(r,e,n);var a,c,l,u=function(t){if(t===i&&g)return g;if(!_e&&t in p)return p[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},f=e+" Iterator",h=!1,p=t.prototype,v=p[Se]||p["@@iterator"]||i&&p[i],g=!_e&&v||u(i),y="Array"==e&&p.entries||v;if(y&&(a=de(y.call(new t)),Oe!==Object.prototype&&a.next&&(de(a)!==Oe&&(we?we(a,Oe):"function"!=typeof a[Se]&&W(a,Se,Ae)),me(a,f,!0))),"values"==i&&v&&"values"!==v.name&&(h=!0,g=function(){return v.call(this)}),p[Se]!==g&&W(p,Se,g),le[e]=g,i)if(c={values:u("values"),keys:o?g:u("keys"),entries:u("entries")},s)for(l in c)!_e&&!h&&l in p||J(p,l,c[l]);else At({target:e,proto:!0,forced:_e||h},c);return c},Le=K.set,Me=K.getterFor("Array Iterator"),Te=ke(Array,"Array",(function(t,e){Le(this,{type:"Array Iterator",target:m(t),index:0,kind:e})}),(function(){var t=Me(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");le.Arguments=le.Array,ce("keys"),ce("values"),ce("entries");var je=Object.assign,Re=!je||c((function(){var t={},e={},r=Symbol();return t[r]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=je({},t)[r]||"abcdefghijklmnopqrst"!=Qt(je({},e)).join("")}))?function(t,e){for(var r=Mt(t),n=arguments.length,i=1,o=vt.f,s=h.f;n>i;)for(var a,c=y(arguments[i++]),u=o?Qt(c).concat(o(c)):Qt(c),f=u.length,d=0;f>d;)a=u[d++],l&&!s.call(c,a)||(r[a]=c[a]);return r}:je;At({target:"Object",stat:!0,forced:Object.assign!==Re},{assign:Re});var We=zt("toStringTag"),ze="Arguments"==v(function(){return arguments}()),Ce=function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),We))?r:ze?v(e):"Object"==(n=v(e))&&"function"==typeof e.callee?"Arguments":n},Ne={};Ne[zt("toStringTag")]="z";var Ie="[object z]"!==String(Ne)?function(){return"[object "+Ce(this)+"]"}:Ne.toString,De=Object.prototype;Ie!==De.toString&&J(De,"toString",Ie,{unsafe:!0});var Pe="\t\n\v\f\r \u2028\u2029\ufeff",Ve="["+Pe+"]",Fe=RegExp("^"+Ve+Ve+"*"),Be=RegExp(Ve+Ve+"*$"),He=function(t){return function(e){var r=String(b(e));return 1&t&&(r=r.replace(Fe,"")),2&t&&(r=r.replace(Be,"")),r}},qe={start:He(1),end:He(2),trim:He(3)}.trim,$e=a.parseInt,Xe=/^[+-]?0[Xx]/,Ye=8!==$e(Pe+"08")||22!==$e(Pe+"0x16")?function(t,e){var r=qe(String(t));return $e(r,e>>>0||(Xe.test(r)?16:10))}:$e;At({global:!0,forced:parseInt!=Ye},{parseInt:Ye});var Ge=function(t){return function(e,r){var n,i,o=String(b(e)),s=it(r),a=o.length;return s<0||s>=a?t?"":void 0:(n=o.charCodeAt(s))<55296||n>56319||s+1===a||(i=o.charCodeAt(s+1))<56320||i>57343?t?o.charAt(s):n:t?o.slice(s,s+2):i-56320+(n-55296<<10)+65536}},Ue={codeAt:Ge(!1),charAt:Ge(!0)},Qe=Ue.charAt,Ke=K.set,Je=K.getterFor("String Iterator");ke(String,"String",(function(t){Ke(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=Je(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Qe(r,n),e.index+=t.length,{value:t,done:!1})}));var Ze=function(t,e,r){for(var n in e)J(t,n,e[n],r);return t},tr=!c((function(){return Object.isExtensible(Object.preventExtensions({}))})),er=e((function(t){var e=R.f,r=F("meta"),n=0,i=Object.isExtensible||function(){return!0},o=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},s=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!x(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!O(t,r)){if(!i(t))return"F";if(!e)return"E";o(t)}return t[r].objectID},getWeakData:function(t,e){if(!O(t,r)){if(!i(t))return!0;if(!e)return!1;o(t)}return t[r].weakData},onFreeze:function(t){return tr&&s.REQUIRED&&i(t)&&!O(t,r)&&o(t),t}};q[r]=!0})),rr=(er.REQUIRED,er.fastKey,er.getWeakData,er.onFreeze,zt("iterator")),nr=Array.prototype,ir=zt("iterator"),or=function(t,e,r,n){try{return n?e(T(r)[0],r[1]):e(r)}catch(e){var i=t.return;throw void 0!==i&&T(i.call(t)),e}},sr=e((function(t){var e=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,r,n,i,o){var s,a,c,l,u,f,h,d=Lt(r,n,i?2:1);if(o)s=t;else{if("function"!=typeof(a=function(t){if(null!=t)return t[ir]||t["@@iterator"]||le[Ce(t)]}(t)))throw TypeError("Target is not iterable");if(void 0!==(h=a)&&(le.Array===h||nr[rr]===h)){for(c=0,l=st(t.length);l>c;c++)if((u=i?d(T(f=t[c])[0],f[1]):d(t[c]))&&u instanceof e)return u;return new e(!1)}s=a.call(t)}for(;!(f=s.next()).done;)if((u=or(s,d,f.value,i))&&u instanceof e)return u;return new e(!1)}).stop=function(t){return new e(!0,t)}})),ar=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},cr=zt("iterator"),lr=!1;try{var ur=0,fr={next:function(){return{done:!!ur++}},return:function(){lr=!0}};fr[cr]=function(){return this},Array.from(fr,(function(){throw 2}))}catch(t){}var hr=function(t,e,r,n,i){var o=a[t],s=o&&o.prototype,l=o,u=n?"set":"add",f={},h=function(t){var e=s[t];J(s,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(i&&!x(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return i&&!x(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(i&&!x(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(_t(t,"function"!=typeof o||!(i||s.forEach&&!c((function(){(new o).entries().next()})))))l=r.getConstructor(e,t,n,u),er.REQUIRED=!0;else if(_t(t,!0)){var d=new l,p=d[u](i?{}:-0,1)!=d,v=c((function(){d.has(1)})),g=function(t,e){if(!e&&!lr)return!1;var r=!1;try{var n={};n[cr]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r}((function(t){new o(t)})),y=!i&&c((function(){for(var t=new o,e=5;e--;)t[u](e,e);return!t.has(-0)}));g||((l=e((function(e,r){ar(e,l,t);var i=function(t,e,r){var n,i;return we&&"function"==typeof(n=e.constructor)&&n!==r&&x(i=n.prototype)&&i!==r.prototype&&we(t,i),t}(new o,e,l);return null!=r&&sr(r,i[u],i,n),i}))).prototype=s,s.constructor=l),(v||y)&&(h("delete"),h("has"),n&&h("get")),(y||p)&&h(u),i&&s.clear&&delete s.clear}return f[t]=l,At({global:!0,forced:l!=o},f),me(l,t),i||r.setStrong(l,t,n),l},dr=er.getWeakData,pr=K.set,vr=K.getterFor,gr=Pt.find,yr=Pt.findIndex,br=0,mr=function(t){return t.frozen||(t.frozen=new xr)},xr=function(){this.entries=[]},Er=function(t,e){return gr(t.entries,(function(t){return t[0]===e}))};xr.prototype={get:function(t){var e=Er(this,t);if(e)return e[1]},has:function(t){return!!Er(this,t)},set:function(t,e){var r=Er(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=yr(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}};var wr={getConstructor:function(t,e,r,n){var i=t((function(t,o){ar(t,i,e),pr(t,{type:e,id:br++,frozen:void 0}),null!=o&&sr(o,t[n],t,r)})),o=vr(e),s=function(t,e,r){var n=o(t),i=dr(T(e),!0);return!0===i?mr(n).set(e,r):i[n.id]=r,t};return Ze(i.prototype,{delete:function(t){var e=o(this);if(!x(t))return!1;var r=dr(t);return!0===r?mr(e).delete(t):r&&O(r,e.id)&&delete r[e.id]},has:function(t){var e=o(this);if(!x(t))return!1;var r=dr(t);return!0===r?mr(e).has(t):r&&O(r,e.id)}}),Ze(i.prototype,r?{get:function(t){var e=o(this);if(x(t)){var r=dr(t);return!0===r?mr(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return s(this,t,e)}}:{add:function(t){return s(this,t,!0)}}),i}},Or=(e((function(t){var e,r=K.enforce,n=!a.ActiveXObject&&"ActiveXObject"in a,i=Object.isExtensible,o=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},s=t.exports=hr("WeakMap",o,wr,!0,!0);if(D&&n){e=wr.getConstructor(o,"WeakMap",!0),er.REQUIRED=!0;var c=s.prototype,l=c.delete,u=c.has,f=c.get,h=c.set;Ze(c,{delete:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),l.call(this,t)||n.frozen.delete(t)}return l.call(this,t)},has:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),u.call(this,t)||n.frozen.has(t)}return u.call(this,t)},get:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),u.call(this,t)?f.call(this,t):n.frozen.get(t)}return f.call(this,t)},set:function(t,n){if(x(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),u.call(this,t)?h.call(this,t,n):o.frozen.set(t,n)}else h.call(this,t,n);return this}})}})),zt("iterator")),_r=zt("toStringTag"),Sr=Te.values;for(var Ar in Ht){var kr=a[Ar],Lr=kr&&kr.prototype;if(Lr){if(Lr[Or]!==Sr)try{W(Lr,Or,Sr)}catch(t){Lr[Or]=Sr}if(Lr[_r]||W(Lr,_r,Ar),Ht[Ar])for(var Mr in Te)if(Lr[Mr]!==Te[Mr])try{W(Lr,Mr,Te[Mr])}catch(t){Lr[Mr]=Te[Mr]}}}var Tr="Expected a function",jr=NaN,Rr="[object Symbol]",Wr=/^\s+|\s+$/g,zr=/^[-+]0x[0-9a-f]+$/i,Cr=/^0b[01]+$/i,Nr=/^0o[0-7]+$/i,Ir=parseInt,Dr="object"==typeof t&&t&&t.Object===Object&&t,Pr="object"==typeof self&&self&&self.Object===Object&&self,Vr=Dr||Pr||Function("return this")(),Fr=Object.prototype.toString,Br=Math.max,Hr=Math.min,qr=function(){return Vr.Date.now()};function $r(t,e,r){var n,i,o,s,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof t)throw new TypeError(Tr);function d(e){var r=n,o=i;return n=i=void 0,l=e,s=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||f&&t-l>=o}function v(){var t=qr();if(p(t))return g(t);a=setTimeout(v,function(t){var r=e-(t-c);return f?Hr(r,o-(t-l)):r}(t))}function g(t){return a=void 0,h&&n?d(t):(n=i=void 0,s)}function y(){var t=qr(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===a)return function(t){return l=t,a=setTimeout(v,e),u?d(t):s}(c);if(f)return a=setTimeout(v,e),d(c)}return void 0===a&&(a=setTimeout(v,e)),s}return e=Yr(e)||0,Xr(r)&&(u=!!r.leading,o=(f="maxWait"in r)?Br(Yr(r.maxWait)||0,e):o,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=i=a=void 0},y.flush=function(){return void 0===a?s:g(qr())},y}function Xr(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Yr(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&Fr.call(t)==Rr}(t))return jr;if(Xr(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Xr(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Wr,"");var r=Cr.test(t);return r||Nr.test(t)?Ir(t.slice(2),r?2:8):zr.test(t)?jr:+t}var Gr=function(t,e,r){var n=!0,i=!0;if("function"!=typeof t)throw new TypeError(Tr);return Xr(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),$r(t,e,{leading:n,maxWait:e,trailing:i})},Ur="Expected a function",Qr=NaN,Kr="[object Symbol]",Jr=/^\s+|\s+$/g,Zr=/^[-+]0x[0-9a-f]+$/i,tn=/^0b[01]+$/i,en=/^0o[0-7]+$/i,rn=parseInt,nn="object"==typeof t&&t&&t.Object===Object&&t,on="object"==typeof self&&self&&self.Object===Object&&self,sn=nn||on||Function("return this")(),an=Object.prototype.toString,cn=Math.max,ln=Math.min,un=function(){return sn.Date.now()};function fn(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function hn(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&an.call(t)==Kr}(t))return Qr;if(fn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=fn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Jr,"");var r=tn.test(t);return r||en.test(t)?rn(t.slice(2),r?2:8):Zr.test(t)?Qr:+t}var dn=function(t,e,r){var n,i,o,s,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof t)throw new TypeError(Ur);function d(e){var r=n,o=i;return n=i=void 0,l=e,s=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||f&&t-l>=o}function v(){var t=un();if(p(t))return g(t);a=setTimeout(v,function(t){var r=e-(t-c);return f?ln(r,o-(t-l)):r}(t))}function g(t){return a=void 0,h&&n?d(t):(n=i=void 0,s)}function y(){var t=un(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===a)return function(t){return l=t,a=setTimeout(v,e),u?d(t):s}(c);if(f)return a=setTimeout(v,e),d(c)}return void 0===a&&(a=setTimeout(v,e)),s}return e=hn(e)||0,fn(r)&&(u=!!r.leading,o=(f="maxWait"in r)?cn(hn(r.maxWait)||0,e):o,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=i=a=void 0},y.flush=function(){return void 0===a?s:g(un())},y},pn="Expected a function",vn="__lodash_hash_undefined__",gn="[object Function]",yn="[object GeneratorFunction]",bn=/^\[object .+?Constructor\]$/,mn="object"==typeof t&&t&&t.Object===Object&&t,xn="object"==typeof self&&self&&self.Object===Object&&self,En=mn||xn||Function("return this")();var wn=Array.prototype,On=Function.prototype,_n=Object.prototype,Sn=En["__core-js_shared__"],An=function(){var t=/[^.]+$/.exec(Sn&&Sn.keys&&Sn.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),kn=On.toString,Ln=_n.hasOwnProperty,Mn=_n.toString,Tn=RegExp("^"+kn.call(Ln).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),jn=wn.splice,Rn=Vn(En,"Map"),Wn=Vn(Object,"create");function zn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Cn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Nn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function In(t,e){for(var r,n,i=t.length;i--;)if((r=t[i][0])===(n=e)||r!=r&&n!=n)return i;return-1}function Dn(t){return!(!Bn(t)||(e=t,An&&An in e))&&(function(t){var e=Bn(t)?Mn.call(t):"";return e==gn||e==yn}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t)?Tn:bn).test(function(t){if(null!=t){try{return kn.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t));var e}function Pn(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Vn(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return Dn(r)?r:void 0}function Fn(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError(pn);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s),s};return r.cache=new(Fn.Cache||Nn),r}function Bn(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}zn.prototype.clear=function(){this.__data__=Wn?Wn(null):{}},zn.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},zn.prototype.get=function(t){var e=this.__data__;if(Wn){var r=e[t];return r===vn?void 0:r}return Ln.call(e,t)?e[t]:void 0},zn.prototype.has=function(t){var e=this.__data__;return Wn?void 0!==e[t]:Ln.call(e,t)},zn.prototype.set=function(t,e){return this.__data__[t]=Wn&&void 0===e?vn:e,this},Cn.prototype.clear=function(){this.__data__=[]},Cn.prototype.delete=function(t){var e=this.__data__,r=In(e,t);return!(r<0)&&(r==e.length-1?e.pop():jn.call(e,r,1),!0)},Cn.prototype.get=function(t){var e=this.__data__,r=In(e,t);return r<0?void 0:e[r][1]},Cn.prototype.has=function(t){return In(this.__data__,t)>-1},Cn.prototype.set=function(t,e){var r=this.__data__,n=In(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},Nn.prototype.clear=function(){this.__data__={hash:new zn,map:new(Rn||Cn),string:new zn}},Nn.prototype.delete=function(t){return Pn(this,t).delete(t)},Nn.prototype.get=function(t){return Pn(this,t).get(t)},Nn.prototype.has=function(t){return Pn(this,t).has(t)},Nn.prototype.set=function(t,e){return Pn(this,t).set(t,e),this},Fn.Cache=Nn;var Hn=Fn,qn=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var r=-1;return t.some((function(t,n){return t[0]===e&&(r=n,!0)})),r}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var r=t(this.__entries__,e),n=this.__entries__[r];return n&&n[1]},e.prototype.set=function(e,r){var n=t(this.__entries__,e);~n?this.__entries__[n][1]=r:this.__entries__.push([e,r])},e.prototype.delete=function(e){var r=this.__entries__,n=t(r,e);~n&&r.splice(n,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var r=0,n=this.__entries__;r<n.length;r++){var i=n[r];t.call(e,i[1],i[0])}},e}()}(),$n="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,Xn="undefined"!=typeof global&&global.Math===Math?global:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),Yn="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(Xn):function(t){return setTimeout((function(){return t(Date.now())}),1e3/60)},Gn=2;var Un=20,Qn=["top","right","bottom","left","width","height","size","weight"],Kn="undefined"!=typeof MutationObserver,Jn=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(t,e){var r=!1,n=!1,i=0;function o(){r&&(r=!1,t()),n&&a()}function s(){Yn(o)}function a(){var t=Date.now();if(r){if(t-i<Gn)return;n=!0}else r=!0,n=!1,setTimeout(s,e);i=t}return a}(this.refresh.bind(this),Un)}return t.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},t.prototype.removeObserver=function(t){var e=this.observers_,r=e.indexOf(t);~r&&e.splice(r,1),!e.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},t.prototype.updateObservers_=function(){var t=this.observers_.filter((function(t){return t.gatherActive(),t.hasActive()}));return t.forEach((function(t){return t.broadcastActive()})),t.length>0},t.prototype.connect_=function(){$n&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Kn?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){$n&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,r=void 0===e?"":e;Qn.some((function(t){return!!~r.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),Zn=function(t,e){for(var r=0,n=Object.keys(e);r<n.length;r++){var i=n[r];Object.defineProperty(t,i,{value:e[i],enumerable:!1,writable:!1,configurable:!0})}return t},ti=function(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView||Xn},ei=ai(0,0,0,0);function ri(t){return parseFloat(t)||0}function ni(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return e.reduce((function(e,r){return e+ri(t["border-"+r+"-width"])}),0)}function ii(t){var e=t.clientWidth,r=t.clientHeight;if(!e&&!r)return ei;var n=ti(t).getComputedStyle(t),i=function(t){for(var e={},r=0,n=["top","right","bottom","left"];r<n.length;r++){var i=n[r],o=t["padding-"+i];e[i]=ri(o)}return e}(n),o=i.left+i.right,s=i.top+i.bottom,a=ri(n.width),c=ri(n.height);if("border-box"===n.boxSizing&&(Math.round(a+o)!==e&&(a-=ni(n,"left","right")+o),Math.round(c+s)!==r&&(c-=ni(n,"top","bottom")+s)),!function(t){return t===ti(t).document.documentElement}(t)){var l=Math.round(a+o)-e,u=Math.round(c+s)-r;1!==Math.abs(l)&&(a-=l),1!==Math.abs(u)&&(c-=u)}return ai(i.left,i.top,a,c)}var oi="undefined"!=typeof SVGGraphicsElement?function(t){return t instanceof ti(t).SVGGraphicsElement}:function(t){return t instanceof ti(t).SVGElement&&"function"==typeof t.getBBox};function si(t){return $n?oi(t)?function(t){var e=t.getBBox();return ai(0,0,e.width,e.height)}(t):ii(t):ei}function ai(t,e,r,n){return{x:t,y:e,width:r,height:n}}var ci=function(){function t(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=ai(0,0,0,0),this.target=t}return t.prototype.isActive=function(){var t=si(this.target);return this.contentRect_=t,t.width!==this.broadcastWidth||t.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},t}(),li=function(t,e){var r,n,i,o,s,a,c,l=(n=(r=e).x,i=r.y,o=r.width,s=r.height,a="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(a.prototype),Zn(c,{x:n,y:i,width:o,height:s,top:i,right:n+o,bottom:s+i,left:n}),c);Zn(this,{target:t,contentRect:l})},ui=function(){function t(t,e,r){if(this.activeObservations_=[],this.observations_=new qn,"function"!=typeof t)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=e,this.callbackCtx_=r}return t.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof ti(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)||(e.set(t,new ci(t)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof ti(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)&&(e.delete(t),e.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach((function(e){e.isActive()&&t.activeObservations_.push(e)}))},t.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,e=this.activeObservations_.map((function(t){return new li(t.target,t.broadcastRect())}));this.callback_.call(t,e,t),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),fi="undefined"!=typeof WeakMap?new WeakMap:new qn,hi=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=Jn.getInstance(),n=new ui(e,r,this);fi.set(this,n)};["observe","unobserve","disconnect"].forEach((function(t){hi.prototype[t]=function(){var e;return(e=fi.get(this))[t].apply(e,arguments)}}));var di=void 0!==Xn.ResizeObserver?Xn.ResizeObserver:hi,pi=null,vi=null;function gi(){if(null===pi){if("undefined"==typeof document)return pi=0;var t=document.body,e=document.createElement("div");e.classList.add("simplebar-hide-scrollbar"),t.appendChild(e);var r=e.getBoundingClientRect().right;t.removeChild(e),pi=r}return pi}Yt&&window.addEventListener("resize",(function(){vi!==window.devicePixelRatio&&(vi=window.devicePixelRatio,pi=null)}));var yi=function(t){return function(e,r,n,i){kt(r);var o=Mt(e),s=y(o),a=st(o.length),c=t?a-1:0,l=t?-1:1;if(n<2)for(;;){if(c in s){i=s[c],c+=l;break}if(c+=l,t?c<0:a<=c)throw TypeError("Reduce of empty array with no initial value")}for(;t?c>=0:a>c;c+=l)c in s&&(i=r(i,s[c],c,o));return i}},bi={left:yi(!1),right:yi(!0)}.left;At({target:"Array",proto:!0,forced:Vt("reduce")},{reduce:function(t){return bi(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}});var mi=R.f,xi=Function.prototype,Ei=xi.toString,wi=/^\s*function ([^ (]*)/;!l||"name"in xi||mi(xi,"name",{configurable:!0,get:function(){try{return Ei.call(this).match(wi)[1]}catch(t){return""}}});var Oi,_i,Si=function(){var t=T(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e},Ai=RegExp.prototype.exec,ki=String.prototype.replace,Li=Ai,Mi=(Oi=/a/,_i=/b*/g,Ai.call(Oi,"a"),Ai.call(_i,"a"),0!==Oi.lastIndex||0!==_i.lastIndex),Ti=void 0!==/()??/.exec("")[1];(Mi||Ti)&&(Li=function(t){var e,r,n,i,o=this;return Ti&&(r=new RegExp("^"+o.source+"$(?!\\s)",Si.call(o))),Mi&&(e=o.lastIndex),n=Ai.call(o,t),Mi&&n&&(o.lastIndex=o.global?n.index+n[0].length:e),Ti&&n&&n.length>1&&ki.call(n[0],r,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(n[i]=void 0)})),n});var ji=Li;At({target:"RegExp",proto:!0,forced:/./.exec!==ji},{exec:ji});var Ri=zt("species"),Wi=!c((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),zi=!c((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Ci=function(t,e,r,n){var i=zt(t),o=!c((function(){var e={};return e[i]=function(){return 7},7!=""[t](e)})),s=o&&!c((function(){var e=!1,r=/a/;return r.exec=function(){return e=!0,null},"split"===t&&(r.constructor={},r.constructor[Ri]=function(){return r}),r[i](""),!e}));if(!o||!s||"replace"===t&&!Wi||"split"===t&&!zi){var a=/./[i],l=r(i,""[t],(function(t,e,r,n,i){return e.exec===ji?o&&!i?{done:!0,value:a.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}})),u=l[0],f=l[1];J(String.prototype,t,u),J(RegExp.prototype,i,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}),n&&W(RegExp.prototype[i],"sham",!0)}},Ni=Ue.charAt,Ii=function(t,e,r){return e+(r?Ni(t,e).length:1)},Di=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==v(t))throw TypeError("RegExp#exec called on incompatible receiver");return ji.call(t,e)};Ci("match",1,(function(t,e,r){return[function(e){var r=b(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var i=T(t),o=String(this);if(!i.global)return Di(i,o);var s=i.unicode;i.lastIndex=0;for(var a,c=[],l=0;null!==(a=Di(i,o));){var u=String(a[0]);c[l]=u,""===u&&(i.lastIndex=Ii(o,st(i.lastIndex),s)),l++}return 0===l?null:c}]}));var Pi=Math.max,Vi=Math.min,Fi=Math.floor,Bi=/\$([$&'`]|\d\d?|<[^>]*>)/g,Hi=/\$([$&'`]|\d\d?)/g;Ci("replace",2,(function(t,e,r){return[function(r,n){var i=b(this),o=null==r?void 0:r[t];return void 0!==o?o.call(r,i,n):e.call(String(i),r,n)},function(t,i){var o=r(e,t,this,i);if(o.done)return o.value;var s=T(t),a=String(this),c="function"==typeof i;c||(i=String(i));var l=s.global;if(l){var u=s.unicode;s.lastIndex=0}for(var f=[];;){var h=Di(s,a);if(null===h)break;if(f.push(h),!l)break;""===String(h[0])&&(s.lastIndex=Ii(a,st(s.lastIndex),u))}for(var d,p="",v=0,g=0;g<f.length;g++){h=f[g];for(var y=String(h[0]),b=Pi(Vi(it(h.index),a.length),0),m=[],x=1;x<h.length;x++)m.push(void 0===(d=h[x])?d:String(d));var E=h.groups;if(c){var w=[y].concat(m,b,a);void 0!==E&&w.push(E);var O=String(i.apply(void 0,w))}else O=n(y,a,b,m,E,i);b>=v&&(p+=a.slice(v,b)+O,v=b+y.length)}return p+a.slice(v)}];function n(t,r,n,i,o,s){var a=n+t.length,c=i.length,l=Hi;return void 0!==o&&(o=Mt(o),l=Bi),e.call(s,l,(function(e,s){var l;switch(s.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(a);case"<":l=o[s.slice(1,-1)];break;default:var u=+s;if(0===u)return e;if(u>c){var f=Fi(u/10);return 0===f?e:f<=c?void 0===i[f-1]?s.charAt(1):i[f-1]+s.charAt(1):e}l=i[u-1]}return void 0===l?"":l}))}}));var qi=function(t){return Array.prototype.reduce.call(t,(function(t,e){var r=e.name.match(/data-simplebar-(.+)/);if(r){var n=r[1].replace(/\W+(.)/g,(function(t,e){return e.toUpperCase()}));switch(e.value){case"true":t[n]=!0;break;case"false":t[n]=!1;break;case void 0:t[n]=!0;break;default:t[n]=e.value}}return t}),{})};function $i(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView?t.ownerDocument.defaultView:window}function Xi(t){return t&&t.ownerDocument?t.ownerDocument:document}var Yi=function(){function t(e,r){var n=this;this.onScroll=function(){var t=$i(n.el);n.scrollXTicking||(t.requestAnimationFrame(n.scrollX),n.scrollXTicking=!0),n.scrollYTicking||(t.requestAnimationFrame(n.scrollY),n.scrollYTicking=!0)},this.scrollX=function(){n.axis.x.isOverflowing&&(n.showScrollbar("x"),n.positionScrollbar("x")),n.scrollXTicking=!1},this.scrollY=function(){n.axis.y.isOverflowing&&(n.showScrollbar("y"),n.positionScrollbar("y")),n.scrollYTicking=!1},this.onMouseEnter=function(){n.showScrollbar("x"),n.showScrollbar("y")},this.onMouseMove=function(t){n.mouseX=t.clientX,n.mouseY=t.clientY,(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&n.onMouseMoveForAxis("x"),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&n.onMouseMoveForAxis("y")},this.onMouseLeave=function(){n.onMouseMove.cancel(),(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&n.onMouseLeaveForAxis("x"),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&n.onMouseLeaveForAxis("y"),n.mouseX=-1,n.mouseY=-1},this.onWindowResize=function(){n.scrollbarWidth=n.getScrollbarWidth(),n.hideNativeScrollbar()},this.hideScrollbars=function(){n.axis.x.track.rect=n.axis.x.track.el.getBoundingClientRect(),n.axis.y.track.rect=n.axis.y.track.el.getBoundingClientRect(),n.isWithinBounds(n.axis.y.track.rect)||(n.axis.y.scrollbar.el.classList.remove(n.classNames.visible),n.axis.y.isVisible=!1),n.isWithinBounds(n.axis.x.track.rect)||(n.axis.x.scrollbar.el.classList.remove(n.classNames.visible),n.axis.x.isVisible=!1)},this.onPointerEvent=function(t){var e,r;n.axis.x.track.rect=n.axis.x.track.el.getBoundingClientRect(),n.axis.y.track.rect=n.axis.y.track.el.getBoundingClientRect(),(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&(e=n.isWithinBounds(n.axis.x.track.rect)),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&(r=n.isWithinBounds(n.axis.y.track.rect)),(e||r)&&(t.preventDefault(),t.stopPropagation(),"mousedown"===t.type&&(e&&(n.axis.x.scrollbar.rect=n.axis.x.scrollbar.el.getBoundingClientRect(),n.isWithinBounds(n.axis.x.scrollbar.rect)?n.onDragStart(t,"x"):n.onTrackClick(t,"x")),r&&(n.axis.y.scrollbar.rect=n.axis.y.scrollbar.el.getBoundingClientRect(),n.isWithinBounds(n.axis.y.scrollbar.rect)?n.onDragStart(t,"y"):n.onTrackClick(t,"y"))))},this.drag=function(e){var r=n.axis[n.draggedAxis].track,i=r.rect[n.axis[n.draggedAxis].sizeAttr],o=n.axis[n.draggedAxis].scrollbar,s=n.contentWrapperEl[n.axis[n.draggedAxis].scrollSizeAttr],a=parseInt(n.elStyles[n.axis[n.draggedAxis].sizeAttr],10);e.preventDefault(),e.stopPropagation();var c=(("y"===n.draggedAxis?e.pageY:e.pageX)-r.rect[n.axis[n.draggedAxis].offsetAttr]-n.axis[n.draggedAxis].dragOffset)/(i-o.size)*(s-a);"x"===n.draggedAxis&&(c=n.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c-(i+o.size):c,c=n.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-c:c),n.contentWrapperEl[n.axis[n.draggedAxis].scrollOffsetAttr]=c},this.onEndDrag=function(t){var e=Xi(n.el),r=$i(n.el);t.preventDefault(),t.stopPropagation(),n.el.classList.remove(n.classNames.dragging),e.removeEventListener("mousemove",n.drag,!0),e.removeEventListener("mouseup",n.onEndDrag,!0),n.removePreventClickId=r.setTimeout((function(){e.removeEventListener("click",n.preventClick,!0),e.removeEventListener("dblclick",n.preventClick,!0),n.removePreventClickId=null}))},this.preventClick=function(t){t.preventDefault(),t.stopPropagation()},this.el=e,this.minScrollbarWidth=20,this.options=Object.assign({},t.defaultOptions,{},r),this.classNames=Object.assign({},t.defaultOptions.classNames,{},this.options.classNames),this.axis={x:{scrollOffsetAttr:"scrollLeft",sizeAttr:"width",scrollSizeAttr:"scrollWidth",offsetSizeAttr:"offsetWidth",offsetAttr:"left",overflowAttr:"overflowX",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}},y:{scrollOffsetAttr:"scrollTop",sizeAttr:"height",scrollSizeAttr:"scrollHeight",offsetSizeAttr:"offsetHeight",offsetAttr:"top",overflowAttr:"overflowY",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}}},this.removePreventClickId=null,t.instances.has(this.el)||(this.recalculate=Gr(this.recalculate.bind(this),64),this.onMouseMove=Gr(this.onMouseMove.bind(this),64),this.hideScrollbars=dn(this.hideScrollbars.bind(this),this.options.timeout),this.onWindowResize=dn(this.onWindowResize.bind(this),64,{leading:!0}),t.getRtlHelpers=Hn(t.getRtlHelpers),this.init())}t.getRtlHelpers=function(){var e=document.createElement("div");e.innerHTML='<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';var r=e.firstElementChild;document.body.appendChild(r);var n=r.firstElementChild;r.scrollLeft=0;var i=t.getOffset(r),o=t.getOffset(n);r.scrollLeft=999;var s=t.getOffset(n);return{isRtlScrollingInverted:i.left!==o.left&&o.left-s.left!=0,isRtlScrollbarInverted:i.left!==o.left}},t.getOffset=function(t){var e=t.getBoundingClientRect(),r=Xi(t),n=$i(t);return{top:e.top+(n.pageYOffset||r.documentElement.scrollTop),left:e.left+(n.pageXOffset||r.documentElement.scrollLeft)}};var e=t.prototype;return e.init=function(){t.instances.set(this.el,this),Yt&&(this.initDOM(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},e.initDOM=function(){var t=this;if(Array.prototype.filter.call(this.el.children,(function(e){return e.classList.contains(t.classNames.wrapper)})).length)this.wrapperEl=this.el.querySelector("."+this.classNames.wrapper),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector("."+this.classNames.contentWrapper),this.contentEl=this.options.contentNode||this.el.querySelector("."+this.classNames.contentEl),this.offsetEl=this.el.querySelector("."+this.classNames.offset),this.maskEl=this.el.querySelector("."+this.classNames.mask),this.placeholderEl=this.findChild(this.wrapperEl,"."+this.classNames.placeholder),this.heightAutoObserverWrapperEl=this.el.querySelector("."+this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl=this.el.querySelector("."+this.classNames.heightAutoObserverEl),this.axis.x.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.horizontal),this.axis.y.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.vertical);else{for(this.wrapperEl=document.createElement("div"),this.contentWrapperEl=document.createElement("div"),this.offsetEl=document.createElement("div"),this.maskEl=document.createElement("div"),this.contentEl=document.createElement("div"),this.placeholderEl=document.createElement("div"),this.heightAutoObserverWrapperEl=document.createElement("div"),this.heightAutoObserverEl=document.createElement("div"),this.wrapperEl.classList.add(this.classNames.wrapper),this.contentWrapperEl.classList.add(this.classNames.contentWrapper),this.offsetEl.classList.add(this.classNames.offset),this.maskEl.classList.add(this.classNames.mask),this.contentEl.classList.add(this.classNames.contentEl),this.placeholderEl.classList.add(this.classNames.placeholder),this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.contentWrapperEl.appendChild(this.contentEl),this.offsetEl.appendChild(this.contentWrapperEl),this.maskEl.appendChild(this.offsetEl),this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl),this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl),this.wrapperEl.appendChild(this.maskEl),this.wrapperEl.appendChild(this.placeholderEl),this.el.appendChild(this.wrapperEl)}if(!this.axis.x.track.el||!this.axis.y.track.el){var e=document.createElement("div"),r=document.createElement("div");e.classList.add(this.classNames.track),r.classList.add(this.classNames.scrollbar),e.appendChild(r),this.axis.x.track.el=e.cloneNode(!0),this.axis.x.track.el.classList.add(this.classNames.horizontal),this.axis.y.track.el=e.cloneNode(!0),this.axis.y.track.el.classList.add(this.classNames.vertical),this.el.appendChild(this.axis.x.track.el),this.el.appendChild(this.axis.y.track.el)}this.axis.x.scrollbar.el=this.axis.x.track.el.querySelector("."+this.classNames.scrollbar),this.axis.y.scrollbar.el=this.axis.y.track.el.querySelector("."+this.classNames.scrollbar),this.options.autoHide||(this.axis.x.scrollbar.el.classList.add(this.classNames.visible),this.axis.y.scrollbar.el.classList.add(this.classNames.visible)),this.el.setAttribute("data-simplebar","init")},e.initListeners=function(){var t=this,e=$i(this.el);this.options.autoHide&&this.el.addEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.addEventListener("scroll",this.onScroll),e.addEventListener("resize",this.onWindowResize);var r=!1,n=e.ResizeObserver||di;this.resizeObserver=new n((function(){r&&t.recalculate()})),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),e.requestAnimationFrame((function(){r=!0})),this.mutationObserver=new e.MutationObserver(this.recalculate),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})},e.recalculate=function(){var t=$i(this.el);this.elStyles=t.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var e=this.heightAutoObserverEl.offsetHeight<=1,r=this.heightAutoObserverEl.offsetWidth<=1,n=this.contentEl.offsetWidth,i=this.contentWrapperEl.offsetWidth,o=this.elStyles.overflowX,s=this.elStyles.overflowY;this.contentEl.style.padding=this.elStyles.paddingTop+" "+this.elStyles.paddingRight+" "+this.elStyles.paddingBottom+" "+this.elStyles.paddingLeft,this.wrapperEl.style.margin="-"+this.elStyles.paddingTop+" -"+this.elStyles.paddingRight+" -"+this.elStyles.paddingBottom+" -"+this.elStyles.paddingLeft;var a=this.contentEl.scrollHeight,c=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=e?"auto":"100%",this.placeholderEl.style.width=r?n+"px":"auto",this.placeholderEl.style.height=a+"px";var l=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=c>n,this.axis.y.isOverflowing=a>l,this.axis.x.isOverflowing="hidden"!==o&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==s&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var u=this.axis.x.isOverflowing?this.scrollbarWidth:0,f=this.axis.y.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&c>i-f,this.axis.y.isOverflowing=this.axis.y.isOverflowing&&a>l-u,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el.style.width=this.axis.x.scrollbar.size+"px",this.axis.y.scrollbar.el.style.height=this.axis.y.scrollbar.size+"px",this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")},e.getScrollbarSize=function(t){if(void 0===t&&(t="y"),!this.axis[t].isOverflowing)return 0;var e,r=this.contentEl[this.axis[t].scrollSizeAttr],n=this.axis[t].track.el[this.axis[t].offsetSizeAttr],i=n/r;return e=Math.max(~~(i*n),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(e=Math.min(e,this.options.scrollbarMaxSize)),e},e.positionScrollbar=function(e){if(void 0===e&&(e="y"),this.axis[e].isOverflowing){var r=this.contentWrapperEl[this.axis[e].scrollSizeAttr],n=this.axis[e].track.el[this.axis[e].offsetSizeAttr],i=parseInt(this.elStyles[this.axis[e].sizeAttr],10),o=this.axis[e].scrollbar,s=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],a=(s="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-s:s)/(r-i),c=~~((n-o.size)*a);c="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c+(n-o.size):c,o.el.style.transform="x"===e?"translate3d("+c+"px, 0, 0)":"translate3d(0, "+c+"px, 0)"}},e.toggleTrackVisibility=function(t){void 0===t&&(t="y");var e=this.axis[t].track.el,r=this.axis[t].scrollbar.el;this.axis[t].isOverflowing||this.axis[t].forceVisible?(e.style.visibility="visible",this.contentWrapperEl.style[this.axis[t].overflowAttr]="scroll"):(e.style.visibility="hidden",this.contentWrapperEl.style[this.axis[t].overflowAttr]="hidden"),this.axis[t].isOverflowing?r.style.display="block":r.style.display="none"},e.hideNativeScrollbar=function(){this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-"+this.scrollbarWidth+"px":0,this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-"+this.scrollbarWidth+"px":0},e.onMouseMoveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.rect=this.axis[t].track.el.getBoundingClientRect(),this.axis[t].scrollbar.rect=this.axis[t].scrollbar.el.getBoundingClientRect(),this.isWithinBounds(this.axis[t].scrollbar.rect)?this.axis[t].scrollbar.el.classList.add(this.classNames.hover):this.axis[t].scrollbar.el.classList.remove(this.classNames.hover),this.isWithinBounds(this.axis[t].track.rect)?(this.showScrollbar(t),this.axis[t].track.el.classList.add(this.classNames.hover)):this.axis[t].track.el.classList.remove(this.classNames.hover)},e.onMouseLeaveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.el.classList.remove(this.classNames.hover),this.axis[t].scrollbar.el.classList.remove(this.classNames.hover)},e.showScrollbar=function(t){void 0===t&&(t="y");var e=this.axis[t].scrollbar.el;this.axis[t].isVisible||(e.classList.add(this.classNames.visible),this.axis[t].isVisible=!0),this.options.autoHide&&this.hideScrollbars()},e.onDragStart=function(t,e){void 0===e&&(e="y");var r=Xi(this.el),n=$i(this.el),i=this.axis[e].scrollbar,o="y"===e?t.pageY:t.pageX;this.axis[e].dragOffset=o-i.rect[this.axis[e].offsetAttr],this.draggedAxis=e,this.el.classList.add(this.classNames.dragging),r.addEventListener("mousemove",this.drag,!0),r.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(r.addEventListener("click",this.preventClick,!0),r.addEventListener("dblclick",this.preventClick,!0)):(n.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},e.onTrackClick=function(t,e){var r=this;if(void 0===e&&(e="y"),this.options.clickOnTrack){var n=$i(this.el);this.axis[e].scrollbar.rect=this.axis[e].scrollbar.el.getBoundingClientRect();var i=this.axis[e].scrollbar.rect[this.axis[e].offsetAttr],o=parseInt(this.elStyles[this.axis[e].sizeAttr],10),s=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],a=("y"===e?this.mouseY-i:this.mouseX-i)<0?-1:1,c=-1===a?s-o:s+o;!function t(){var i,o;-1===a?s>c&&(s-=r.options.clickOnTrackSpeed,r.contentWrapperEl.scrollTo(((i={})[r.axis[e].offsetAttr]=s,i)),n.requestAnimationFrame(t)):s<c&&(s+=r.options.clickOnTrackSpeed,r.contentWrapperEl.scrollTo(((o={})[r.axis[e].offsetAttr]=s,o)),n.requestAnimationFrame(t))}()}},e.getContentElement=function(){return this.contentEl},e.getScrollElement=function(){return this.contentWrapperEl},e.getScrollbarWidth=function(){try{return"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:gi()}catch(t){return gi()}},e.removeListeners=function(){var t=this,e=$i(this.el);this.options.autoHide&&this.el.removeEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.removeEventListener("mousemove",this.onMouseMove),this.el.removeEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl&&this.contentWrapperEl.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onWindowResize),this.mutationObserver&&this.mutationObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.recalculate.cancel(),this.onMouseMove.cancel(),this.hideScrollbars.cancel(),this.onWindowResize.cancel()},e.unMount=function(){this.removeListeners(),t.instances.delete(this.el)},e.isWithinBounds=function(t){return this.mouseX>=t.left&&this.mouseX<=t.left+t.width&&this.mouseY>=t.top&&this.mouseY<=t.top+t.height},e.findChild=function(t,e){var r=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;return Array.prototype.filter.call(t.children,(function(t){return r.call(t,e)}))[0]},t}();return Yi.defaultOptions={autoHide:!0,forceVisible:!1,clickOnTrack:!0,clickOnTrackSpeed:40,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging"},scrollbarMinSize:25,scrollbarMaxSize:0,timeout:1e3},Yi.instances=new WeakMap,Yi.initDOMLoadedElements=function(){document.removeEventListener("DOMContentLoaded",this.initDOMLoadedElements),window.removeEventListener("load",this.initDOMLoadedElements),Array.prototype.forEach.call(document.querySelectorAll("[data-simplebar]"),(function(t){"init"===t.getAttribute("data-simplebar")||Yi.instances.has(t)||new Yi(t,qi(t.attributes))}))},Yi.removeObserver=function(){this.globalObserver.disconnect()},Yi.initHtmlApi=function(){this.initDOMLoadedElements=this.initDOMLoadedElements.bind(this),"undefined"!=typeof MutationObserver&&(this.globalObserver=new MutationObserver(Yi.handleMutations),this.globalObserver.observe(document,{childList:!0,subtree:!0})),"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(this.initDOMLoadedElements):(document.addEventListener("DOMContentLoaded",this.initDOMLoadedElements),window.addEventListener("load",this.initDOMLoadedElements))},Yi.handleMutations=function(t){t.forEach((function(t){Array.prototype.forEach.call(t.addedNodes,(function(t){1===t.nodeType&&(t.hasAttribute("data-simplebar")?!Yi.instances.has(t)&&new Yi(t,qi(t.attributes)):Array.prototype.forEach.call(t.querySelectorAll("[data-simplebar]"),(function(t){"init"===t.getAttribute("data-simplebar")||Yi.instances.has(t)||new Yi(t,qi(t.attributes))})))})),Array.prototype.forEach.call(t.removedNodes,(function(t){1===t.nodeType&&(t.hasAttribute('[data-simplebar="init"]')?Yi.instances.has(t)&&Yi.instances.get(t).unMount():Array.prototype.forEach.call(t.querySelectorAll('[data-simplebar="init"]'),(function(t){Yi.instances.has(t)&&Yi.instances.get(t).unMount()})))}))}))},Yi.getOptions=qi,Yt&&Yi.initHtmlApi(),Yi}));
|
assets/vendor/simplebar/simplebar.min.js
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* SimpleBar.js - v5.2.1
|
3 |
-
* Scrollbars, simpler.
|
4 |
-
* https://grsmto.github.io/simplebar/
|
5 |
-
*
|
6 |
-
* Made by Adrien Denat from a fork by Jonathan Nicol
|
7 |
-
* Under MIT License
|
8 |
-
*/
|
9 |
-
|
10 |
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).SimpleBar=e()}(this,(function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n,i,o="object",s=function(t){return t&&t.Math==Math&&t},a=s(typeof globalThis==o&&globalThis)||s(typeof window==o&&window)||s(typeof self==o&&self)||s(typeof t==o&&t)||Function("return this")(),c=function(t){try{return!!t()}catch(t){return!0}},l=!c((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,h={f:f&&!u.call({1:2},1)?function(t){var e=f(this,t);return!!e&&e.enumerable}:u},d=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},p={}.toString,v=function(t){return p.call(t).slice(8,-1)},g="".split,y=c((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==v(t)?g.call(t,""):Object(t)}:Object,b=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return y(b(t))},x=function(t){return"object"==typeof t?null!==t:"function"==typeof t},E=function(t,e){if(!x(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!x(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!x(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!x(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},w={}.hasOwnProperty,O=function(t,e){return w.call(t,e)},_=a.document,S=x(_)&&x(_.createElement),A=function(t){return S?_.createElement(t):{}},k=!l&&!c((function(){return 7!=Object.defineProperty(A("div"),"a",{get:function(){return 7}}).a})),L=Object.getOwnPropertyDescriptor,M={f:l?L:function(t,e){if(t=m(t),e=E(e,!0),k)try{return L(t,e)}catch(t){}if(O(t,e))return d(!h.f.call(t,e),t[e])}},T=function(t){if(!x(t))throw TypeError(String(t)+" is not an object");return t},j=Object.defineProperty,R={f:l?j:function(t,e,r){if(T(t),e=E(e,!0),T(r),k)try{return j(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},W=l?function(t,e,r){return R.f(t,e,d(1,r))}:function(t,e,r){return t[e]=r,t},z=function(t,e){try{W(a,t,e)}catch(r){a[t]=e}return e},C=e((function(t){var e=a["__core-js_shared__"]||z("__core-js_shared__",{});(t.exports=function(t,r){return e[t]||(e[t]=void 0!==r?r:{})})("versions",[]).push({version:"3.2.1",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),N=C("native-function-to-string",Function.toString),I=a.WeakMap,D="function"==typeof I&&/native code/.test(N.call(I)),P=0,V=Math.random(),F=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++P+V).toString(36)},B=C("keys"),H=function(t){return B[t]||(B[t]=F(t))},q={},$=a.WeakMap;if(D){var X=new $,Y=X.get,G=X.has,U=X.set;r=function(t,e){return U.call(X,t,e),e},n=function(t){return Y.call(X,t)||{}},i=function(t){return G.call(X,t)}}else{var Q=H("state");q[Q]=!0,r=function(t,e){return W(t,Q,e),e},n=function(t){return O(t,Q)?t[Q]:{}},i=function(t){return O(t,Q)}}var K={set:r,get:n,has:i,enforce:function(t){return i(t)?n(t):r(t,{})},getterFor:function(t){return function(e){var r;if(!x(e)||(r=n(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},J=e((function(t){var e=K.get,r=K.enforce,n=String(N).split("toString");C("inspectSource",(function(t){return N.call(t)})),(t.exports=function(t,e,i,o){var s=!!o&&!!o.unsafe,c=!!o&&!!o.enumerable,l=!!o&&!!o.noTargetGet;"function"==typeof i&&("string"!=typeof e||O(i,"name")||W(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==a?(s?!l&&t[e]&&(c=!0):delete t[e],c?t[e]=i:W(t,e,i)):c?t[e]=i:z(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||N.call(this)}))})),Z=a,tt=function(t){return"function"==typeof t?t:void 0},et=function(t,e){return arguments.length<2?tt(Z[t])||tt(a[t]):Z[t]&&Z[t][e]||a[t]&&a[t][e]},rt=Math.ceil,nt=Math.floor,it=function(t){return isNaN(t=+t)?0:(t>0?nt:rt)(t)},ot=Math.min,st=function(t){return t>0?ot(it(t),9007199254740991):0},at=Math.max,ct=Math.min,lt=function(t){return function(e,r,n){var i,o=m(e),s=st(o.length),a=function(t,e){var r=it(t);return r<0?at(r+e,0):ct(r,e)}(n,s);if(t&&r!=r){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((t||a in o)&&o[a]===r)return t||a||0;return!t&&-1}},ut={includes:lt(!0),indexOf:lt(!1)}.indexOf,ft=function(t,e){var r,n=m(t),i=0,o=[];for(r in n)!O(q,r)&&O(n,r)&&o.push(r);for(;e.length>i;)O(n,r=e[i++])&&(~ut(o,r)||o.push(r));return o},ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],dt=ht.concat("length","prototype"),pt={f:Object.getOwnPropertyNames||function(t){return ft(t,dt)}},vt={f:Object.getOwnPropertySymbols},gt=et("Reflect","ownKeys")||function(t){var e=pt.f(T(t)),r=vt.f;return r?e.concat(r(t)):e},yt=function(t,e){for(var r=gt(e),n=R.f,i=M.f,o=0;o<r.length;o++){var s=r[o];O(t,s)||n(t,s,i(e,s))}},bt=/#|\.prototype\./,mt=function(t,e){var r=Et[xt(t)];return r==Ot||r!=wt&&("function"==typeof e?c(e):!!e)},xt=mt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Et=mt.data={},wt=mt.NATIVE="N",Ot=mt.POLYFILL="P",_t=mt,St=M.f,At=function(t,e){var r,n,i,o,s,c=t.target,l=t.global,u=t.stat;if(r=l?a:u?a[c]||z(c,{}):(a[c]||{}).prototype)for(n in e){if(o=e[n],i=t.noTargetGet?(s=St(r,n))&&s.value:r[n],!_t(l?n:c+(u?".":"#")+n,t.forced)&&void 0!==i){if(typeof o==typeof i)continue;yt(o,i)}(t.sham||i&&i.sham)&&W(o,"sham",!0),J(r,n,o,t)}},kt=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},Lt=function(t,e,r){if(kt(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}},Mt=function(t){return Object(b(t))},Tt=Array.isArray||function(t){return"Array"==v(t)},jt=!!Object.getOwnPropertySymbols&&!c((function(){return!String(Symbol())})),Rt=a.Symbol,Wt=C("wks"),zt=function(t){return Wt[t]||(Wt[t]=jt&&Rt[t]||(jt?Rt:F)("Symbol."+t))},Ct=zt("species"),Nt=function(t,e){var r;return Tt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Tt(r.prototype)?x(r)&&null===(r=r[Ct])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},It=[].push,Dt=function(t){var e=1==t,r=2==t,n=3==t,i=4==t,o=6==t,s=5==t||o;return function(a,c,l,u){for(var f,h,d=Mt(a),p=y(d),v=Lt(c,l,3),g=st(p.length),b=0,m=u||Nt,x=e?m(a,g):r?m(a,0):void 0;g>b;b++)if((s||b in p)&&(h=v(f=p[b],b,d),t))if(e)x[b]=h;else if(h)switch(t){case 3:return!0;case 5:return f;case 6:return b;case 2:It.call(x,f)}else if(i)return!1;return o?-1:n||i?i:x}},Pt={forEach:Dt(0),map:Dt(1),filter:Dt(2),some:Dt(3),every:Dt(4),find:Dt(5),findIndex:Dt(6)},Vt=function(t,e){var r=[][t];return!r||!c((function(){r.call(null,e||function(){throw 1},1)}))},Ft=Pt.forEach,Bt=Vt("forEach")?function(t){return Ft(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach;At({target:"Array",proto:!0,forced:[].forEach!=Bt},{forEach:Bt});var Ht={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0};for(var qt in Ht){var $t=a[qt],Xt=$t&&$t.prototype;if(Xt&&Xt.forEach!==Bt)try{W(Xt,"forEach",Bt)}catch(t){Xt.forEach=Bt}}var Yt=!("undefined"==typeof window||!window.document||!window.document.createElement),Gt=zt("species"),Ut=Pt.filter;At({target:"Array",proto:!0,forced:!function(t){return!c((function(){var e=[];return(e.constructor={})[Gt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}("filter")},{filter:function(t){return Ut(this,t,arguments.length>1?arguments[1]:void 0)}});var Qt=Object.keys||function(t){return ft(t,ht)},Kt=l?Object.defineProperties:function(t,e){T(t);for(var r,n=Qt(e),i=n.length,o=0;i>o;)R.f(t,r=n[o++],e[r]);return t},Jt=et("document","documentElement"),Zt=H("IE_PROTO"),te=function(){},ee=function(){var t,e=A("iframe"),r=ht.length;for(e.style.display="none",Jt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),ee=t.F;r--;)delete ee.prototype[ht[r]];return ee()},re=Object.create||function(t,e){var r;return null!==t?(te.prototype=T(t),r=new te,te.prototype=null,r[Zt]=t):r=ee(),void 0===e?r:Kt(r,e)};q[Zt]=!0;var ne=zt("unscopables"),ie=Array.prototype;null==ie[ne]&&W(ie,ne,re(null));var oe,se,ae,ce=function(t){ie[ne][t]=!0},le={},ue=!c((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),fe=H("IE_PROTO"),he=Object.prototype,de=ue?Object.getPrototypeOf:function(t){return t=Mt(t),O(t,fe)?t[fe]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?he:null},pe=zt("iterator"),ve=!1;[].keys&&("next"in(ae=[].keys())?(se=de(de(ae)))!==Object.prototype&&(oe=se):ve=!0),null==oe&&(oe={}),O(oe,pe)||W(oe,pe,(function(){return this}));var ge={IteratorPrototype:oe,BUGGY_SAFARI_ITERATORS:ve},ye=R.f,be=zt("toStringTag"),me=function(t,e,r){t&&!O(t=r?t:t.prototype,be)&&ye(t,be,{configurable:!0,value:e})},xe=ge.IteratorPrototype,Ee=function(){return this},we=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return T(r),function(t){if(!x(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),Oe=ge.IteratorPrototype,_e=ge.BUGGY_SAFARI_ITERATORS,Se=zt("iterator"),Ae=function(){return this},ke=function(t,e,r,n,i,o,s){!function(t,e,r){var n=e+" Iterator";t.prototype=re(xe,{next:d(1,r)}),me(t,n,!1),le[n]=Ee}(r,e,n);var a,c,l,u=function(t){if(t===i&&g)return g;if(!_e&&t in p)return p[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},f=e+" Iterator",h=!1,p=t.prototype,v=p[Se]||p["@@iterator"]||i&&p[i],g=!_e&&v||u(i),y="Array"==e&&p.entries||v;if(y&&(a=de(y.call(new t)),Oe!==Object.prototype&&a.next&&(de(a)!==Oe&&(we?we(a,Oe):"function"!=typeof a[Se]&&W(a,Se,Ae)),me(a,f,!0))),"values"==i&&v&&"values"!==v.name&&(h=!0,g=function(){return v.call(this)}),p[Se]!==g&&W(p,Se,g),le[e]=g,i)if(c={values:u("values"),keys:o?g:u("keys"),entries:u("entries")},s)for(l in c)!_e&&!h&&l in p||J(p,l,c[l]);else At({target:e,proto:!0,forced:_e||h},c);return c},Le=K.set,Me=K.getterFor("Array Iterator"),Te=ke(Array,"Array",(function(t,e){Le(this,{type:"Array Iterator",target:m(t),index:0,kind:e})}),(function(){var t=Me(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");le.Arguments=le.Array,ce("keys"),ce("values"),ce("entries");var je=Object.assign,Re=!je||c((function(){var t={},e={},r=Symbol();return t[r]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=je({},t)[r]||"abcdefghijklmnopqrst"!=Qt(je({},e)).join("")}))?function(t,e){for(var r=Mt(t),n=arguments.length,i=1,o=vt.f,s=h.f;n>i;)for(var a,c=y(arguments[i++]),u=o?Qt(c).concat(o(c)):Qt(c),f=u.length,d=0;f>d;)a=u[d++],l&&!s.call(c,a)||(r[a]=c[a]);return r}:je;At({target:"Object",stat:!0,forced:Object.assign!==Re},{assign:Re});var We=zt("toStringTag"),ze="Arguments"==v(function(){return arguments}()),Ce=function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),We))?r:ze?v(e):"Object"==(n=v(e))&&"function"==typeof e.callee?"Arguments":n},Ne={};Ne[zt("toStringTag")]="z";var Ie="[object z]"!==String(Ne)?function(){return"[object "+Ce(this)+"]"}:Ne.toString,De=Object.prototype;Ie!==De.toString&&J(De,"toString",Ie,{unsafe:!0});var Pe="\t\n\v\f\r \u2028\u2029\ufeff",Ve="["+Pe+"]",Fe=RegExp("^"+Ve+Ve+"*"),Be=RegExp(Ve+Ve+"*$"),He=function(t){return function(e){var r=String(b(e));return 1&t&&(r=r.replace(Fe,"")),2&t&&(r=r.replace(Be,"")),r}},qe={start:He(1),end:He(2),trim:He(3)}.trim,$e=a.parseInt,Xe=/^[+-]?0[Xx]/,Ye=8!==$e(Pe+"08")||22!==$e(Pe+"0x16")?function(t,e){var r=qe(String(t));return $e(r,e>>>0||(Xe.test(r)?16:10))}:$e;At({global:!0,forced:parseInt!=Ye},{parseInt:Ye});var Ge=function(t){return function(e,r){var n,i,o=String(b(e)),s=it(r),a=o.length;return s<0||s>=a?t?"":void 0:(n=o.charCodeAt(s))<55296||n>56319||s+1===a||(i=o.charCodeAt(s+1))<56320||i>57343?t?o.charAt(s):n:t?o.slice(s,s+2):i-56320+(n-55296<<10)+65536}},Ue={codeAt:Ge(!1),charAt:Ge(!0)},Qe=Ue.charAt,Ke=K.set,Je=K.getterFor("String Iterator");ke(String,"String",(function(t){Ke(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=Je(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Qe(r,n),e.index+=t.length,{value:t,done:!1})}));var Ze=function(t,e,r){for(var n in e)J(t,n,e[n],r);return t},tr=!c((function(){return Object.isExtensible(Object.preventExtensions({}))})),er=e((function(t){var e=R.f,r=F("meta"),n=0,i=Object.isExtensible||function(){return!0},o=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},s=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!x(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!O(t,r)){if(!i(t))return"F";if(!e)return"E";o(t)}return t[r].objectID},getWeakData:function(t,e){if(!O(t,r)){if(!i(t))return!0;if(!e)return!1;o(t)}return t[r].weakData},onFreeze:function(t){return tr&&s.REQUIRED&&i(t)&&!O(t,r)&&o(t),t}};q[r]=!0})),rr=(er.REQUIRED,er.fastKey,er.getWeakData,er.onFreeze,zt("iterator")),nr=Array.prototype,ir=zt("iterator"),or=function(t,e,r,n){try{return n?e(T(r)[0],r[1]):e(r)}catch(e){var i=t.return;throw void 0!==i&&T(i.call(t)),e}},sr=e((function(t){var e=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,r,n,i,o){var s,a,c,l,u,f,h,d=Lt(r,n,i?2:1);if(o)s=t;else{if("function"!=typeof(a=function(t){if(null!=t)return t[ir]||t["@@iterator"]||le[Ce(t)]}(t)))throw TypeError("Target is not iterable");if(void 0!==(h=a)&&(le.Array===h||nr[rr]===h)){for(c=0,l=st(t.length);l>c;c++)if((u=i?d(T(f=t[c])[0],f[1]):d(t[c]))&&u instanceof e)return u;return new e(!1)}s=a.call(t)}for(;!(f=s.next()).done;)if((u=or(s,d,f.value,i))&&u instanceof e)return u;return new e(!1)}).stop=function(t){return new e(!0,t)}})),ar=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},cr=zt("iterator"),lr=!1;try{var ur=0,fr={next:function(){return{done:!!ur++}},return:function(){lr=!0}};fr[cr]=function(){return this},Array.from(fr,(function(){throw 2}))}catch(t){}var hr=function(t,e,r,n,i){var o=a[t],s=o&&o.prototype,l=o,u=n?"set":"add",f={},h=function(t){var e=s[t];J(s,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(i&&!x(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return i&&!x(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(i&&!x(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(_t(t,"function"!=typeof o||!(i||s.forEach&&!c((function(){(new o).entries().next()})))))l=r.getConstructor(e,t,n,u),er.REQUIRED=!0;else if(_t(t,!0)){var d=new l,p=d[u](i?{}:-0,1)!=d,v=c((function(){d.has(1)})),g=function(t,e){if(!e&&!lr)return!1;var r=!1;try{var n={};n[cr]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r}((function(t){new o(t)})),y=!i&&c((function(){for(var t=new o,e=5;e--;)t[u](e,e);return!t.has(-0)}));g||((l=e((function(e,r){ar(e,l,t);var i=function(t,e,r){var n,i;return we&&"function"==typeof(n=e.constructor)&&n!==r&&x(i=n.prototype)&&i!==r.prototype&&we(t,i),t}(new o,e,l);return null!=r&&sr(r,i[u],i,n),i}))).prototype=s,s.constructor=l),(v||y)&&(h("delete"),h("has"),n&&h("get")),(y||p)&&h(u),i&&s.clear&&delete s.clear}return f[t]=l,At({global:!0,forced:l!=o},f),me(l,t),i||r.setStrong(l,t,n),l},dr=er.getWeakData,pr=K.set,vr=K.getterFor,gr=Pt.find,yr=Pt.findIndex,br=0,mr=function(t){return t.frozen||(t.frozen=new xr)},xr=function(){this.entries=[]},Er=function(t,e){return gr(t.entries,(function(t){return t[0]===e}))};xr.prototype={get:function(t){var e=Er(this,t);if(e)return e[1]},has:function(t){return!!Er(this,t)},set:function(t,e){var r=Er(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=yr(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}};var wr={getConstructor:function(t,e,r,n){var i=t((function(t,o){ar(t,i,e),pr(t,{type:e,id:br++,frozen:void 0}),null!=o&&sr(o,t[n],t,r)})),o=vr(e),s=function(t,e,r){var n=o(t),i=dr(T(e),!0);return!0===i?mr(n).set(e,r):i[n.id]=r,t};return Ze(i.prototype,{delete:function(t){var e=o(this);if(!x(t))return!1;var r=dr(t);return!0===r?mr(e).delete(t):r&&O(r,e.id)&&delete r[e.id]},has:function(t){var e=o(this);if(!x(t))return!1;var r=dr(t);return!0===r?mr(e).has(t):r&&O(r,e.id)}}),Ze(i.prototype,r?{get:function(t){var e=o(this);if(x(t)){var r=dr(t);return!0===r?mr(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return s(this,t,e)}}:{add:function(t){return s(this,t,!0)}}),i}},Or=(e((function(t){var e,r=K.enforce,n=!a.ActiveXObject&&"ActiveXObject"in a,i=Object.isExtensible,o=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},s=t.exports=hr("WeakMap",o,wr,!0,!0);if(D&&n){e=wr.getConstructor(o,"WeakMap",!0),er.REQUIRED=!0;var c=s.prototype,l=c.delete,u=c.has,f=c.get,h=c.set;Ze(c,{delete:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),l.call(this,t)||n.frozen.delete(t)}return l.call(this,t)},has:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),u.call(this,t)||n.frozen.has(t)}return u.call(this,t)},get:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),u.call(this,t)?f.call(this,t):n.frozen.get(t)}return f.call(this,t)},set:function(t,n){if(x(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),u.call(this,t)?h.call(this,t,n):o.frozen.set(t,n)}else h.call(this,t,n);return this}})}})),zt("iterator")),_r=zt("toStringTag"),Sr=Te.values;for(var Ar in Ht){var kr=a[Ar],Lr=kr&&kr.prototype;if(Lr){if(Lr[Or]!==Sr)try{W(Lr,Or,Sr)}catch(t){Lr[Or]=Sr}if(Lr[_r]||W(Lr,_r,Ar),Ht[Ar])for(var Mr in Te)if(Lr[Mr]!==Te[Mr])try{W(Lr,Mr,Te[Mr])}catch(t){Lr[Mr]=Te[Mr]}}}var Tr="Expected a function",jr=NaN,Rr="[object Symbol]",Wr=/^\s+|\s+$/g,zr=/^[-+]0x[0-9a-f]+$/i,Cr=/^0b[01]+$/i,Nr=/^0o[0-7]+$/i,Ir=parseInt,Dr="object"==typeof t&&t&&t.Object===Object&&t,Pr="object"==typeof self&&self&&self.Object===Object&&self,Vr=Dr||Pr||Function("return this")(),Fr=Object.prototype.toString,Br=Math.max,Hr=Math.min,qr=function(){return Vr.Date.now()};function $r(t,e,r){var n,i,o,s,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof t)throw new TypeError(Tr);function d(e){var r=n,o=i;return n=i=void 0,l=e,s=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||f&&t-l>=o}function v(){var t=qr();if(p(t))return g(t);a=setTimeout(v,function(t){var r=e-(t-c);return f?Hr(r,o-(t-l)):r}(t))}function g(t){return a=void 0,h&&n?d(t):(n=i=void 0,s)}function y(){var t=qr(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===a)return function(t){return l=t,a=setTimeout(v,e),u?d(t):s}(c);if(f)return a=setTimeout(v,e),d(c)}return void 0===a&&(a=setTimeout(v,e)),s}return e=Yr(e)||0,Xr(r)&&(u=!!r.leading,o=(f="maxWait"in r)?Br(Yr(r.maxWait)||0,e):o,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=i=a=void 0},y.flush=function(){return void 0===a?s:g(qr())},y}function Xr(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Yr(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&Fr.call(t)==Rr}(t))return jr;if(Xr(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Xr(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Wr,"");var r=Cr.test(t);return r||Nr.test(t)?Ir(t.slice(2),r?2:8):zr.test(t)?jr:+t}var Gr=function(t,e,r){var n=!0,i=!0;if("function"!=typeof t)throw new TypeError(Tr);return Xr(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),$r(t,e,{leading:n,maxWait:e,trailing:i})},Ur="Expected a function",Qr=NaN,Kr="[object Symbol]",Jr=/^\s+|\s+$/g,Zr=/^[-+]0x[0-9a-f]+$/i,tn=/^0b[01]+$/i,en=/^0o[0-7]+$/i,rn=parseInt,nn="object"==typeof t&&t&&t.Object===Object&&t,on="object"==typeof self&&self&&self.Object===Object&&self,sn=nn||on||Function("return this")(),an=Object.prototype.toString,cn=Math.max,ln=Math.min,un=function(){return sn.Date.now()};function fn(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function hn(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&an.call(t)==Kr}(t))return Qr;if(fn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=fn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Jr,"");var r=tn.test(t);return r||en.test(t)?rn(t.slice(2),r?2:8):Zr.test(t)?Qr:+t}var dn=function(t,e,r){var n,i,o,s,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof t)throw new TypeError(Ur);function d(e){var r=n,o=i;return n=i=void 0,l=e,s=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||f&&t-l>=o}function v(){var t=un();if(p(t))return g(t);a=setTimeout(v,function(t){var r=e-(t-c);return f?ln(r,o-(t-l)):r}(t))}function g(t){return a=void 0,h&&n?d(t):(n=i=void 0,s)}function y(){var t=un(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===a)return function(t){return l=t,a=setTimeout(v,e),u?d(t):s}(c);if(f)return a=setTimeout(v,e),d(c)}return void 0===a&&(a=setTimeout(v,e)),s}return e=hn(e)||0,fn(r)&&(u=!!r.leading,o=(f="maxWait"in r)?cn(hn(r.maxWait)||0,e):o,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=i=a=void 0},y.flush=function(){return void 0===a?s:g(un())},y},pn="Expected a function",vn="__lodash_hash_undefined__",gn="[object Function]",yn="[object GeneratorFunction]",bn=/^\[object .+?Constructor\]$/,mn="object"==typeof t&&t&&t.Object===Object&&t,xn="object"==typeof self&&self&&self.Object===Object&&self,En=mn||xn||Function("return this")();var wn=Array.prototype,On=Function.prototype,_n=Object.prototype,Sn=En["__core-js_shared__"],An=function(){var t=/[^.]+$/.exec(Sn&&Sn.keys&&Sn.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),kn=On.toString,Ln=_n.hasOwnProperty,Mn=_n.toString,Tn=RegExp("^"+kn.call(Ln).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),jn=wn.splice,Rn=Vn(En,"Map"),Wn=Vn(Object,"create");function zn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Cn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Nn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function In(t,e){for(var r,n,i=t.length;i--;)if((r=t[i][0])===(n=e)||r!=r&&n!=n)return i;return-1}function Dn(t){return!(!Bn(t)||(e=t,An&&An in e))&&(function(t){var e=Bn(t)?Mn.call(t):"";return e==gn||e==yn}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t)?Tn:bn).test(function(t){if(null!=t){try{return kn.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t));var e}function Pn(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Vn(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return Dn(r)?r:void 0}function Fn(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError(pn);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s),s};return r.cache=new(Fn.Cache||Nn),r}function Bn(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}zn.prototype.clear=function(){this.__data__=Wn?Wn(null):{}},zn.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},zn.prototype.get=function(t){var e=this.__data__;if(Wn){var r=e[t];return r===vn?void 0:r}return Ln.call(e,t)?e[t]:void 0},zn.prototype.has=function(t){var e=this.__data__;return Wn?void 0!==e[t]:Ln.call(e,t)},zn.prototype.set=function(t,e){return this.__data__[t]=Wn&&void 0===e?vn:e,this},Cn.prototype.clear=function(){this.__data__=[]},Cn.prototype.delete=function(t){var e=this.__data__,r=In(e,t);return!(r<0)&&(r==e.length-1?e.pop():jn.call(e,r,1),!0)},Cn.prototype.get=function(t){var e=this.__data__,r=In(e,t);return r<0?void 0:e[r][1]},Cn.prototype.has=function(t){return In(this.__data__,t)>-1},Cn.prototype.set=function(t,e){var r=this.__data__,n=In(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},Nn.prototype.clear=function(){this.__data__={hash:new zn,map:new(Rn||Cn),string:new zn}},Nn.prototype.delete=function(t){return Pn(this,t).delete(t)},Nn.prototype.get=function(t){return Pn(this,t).get(t)},Nn.prototype.has=function(t){return Pn(this,t).has(t)},Nn.prototype.set=function(t,e){return Pn(this,t).set(t,e),this},Fn.Cache=Nn;var Hn=Fn,qn=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var r=-1;return t.some((function(t,n){return t[0]===e&&(r=n,!0)})),r}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var r=t(this.__entries__,e),n=this.__entries__[r];return n&&n[1]},e.prototype.set=function(e,r){var n=t(this.__entries__,e);~n?this.__entries__[n][1]=r:this.__entries__.push([e,r])},e.prototype.delete=function(e){var r=this.__entries__,n=t(r,e);~n&&r.splice(n,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var r=0,n=this.__entries__;r<n.length;r++){var i=n[r];t.call(e,i[1],i[0])}},e}()}(),$n="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,Xn="undefined"!=typeof global&&global.Math===Math?global:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),Yn="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(Xn):function(t){return setTimeout((function(){return t(Date.now())}),1e3/60)},Gn=2;var Un=20,Qn=["top","right","bottom","left","width","height","size","weight"],Kn="undefined"!=typeof MutationObserver,Jn=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(t,e){var r=!1,n=!1,i=0;function o(){r&&(r=!1,t()),n&&a()}function s(){Yn(o)}function a(){var t=Date.now();if(r){if(t-i<Gn)return;n=!0}else r=!0,n=!1,setTimeout(s,e);i=t}return a}(this.refresh.bind(this),Un)}return t.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},t.prototype.removeObserver=function(t){var e=this.observers_,r=e.indexOf(t);~r&&e.splice(r,1),!e.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},t.prototype.updateObservers_=function(){var t=this.observers_.filter((function(t){return t.gatherActive(),t.hasActive()}));return t.forEach((function(t){return t.broadcastActive()})),t.length>0},t.prototype.connect_=function(){$n&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Kn?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){$n&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,r=void 0===e?"":e;Qn.some((function(t){return!!~r.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),Zn=function(t,e){for(var r=0,n=Object.keys(e);r<n.length;r++){var i=n[r];Object.defineProperty(t,i,{value:e[i],enumerable:!1,writable:!1,configurable:!0})}return t},ti=function(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView||Xn},ei=ai(0,0,0,0);function ri(t){return parseFloat(t)||0}function ni(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return e.reduce((function(e,r){return e+ri(t["border-"+r+"-width"])}),0)}function ii(t){var e=t.clientWidth,r=t.clientHeight;if(!e&&!r)return ei;var n=ti(t).getComputedStyle(t),i=function(t){for(var e={},r=0,n=["top","right","bottom","left"];r<n.length;r++){var i=n[r],o=t["padding-"+i];e[i]=ri(o)}return e}(n),o=i.left+i.right,s=i.top+i.bottom,a=ri(n.width),c=ri(n.height);if("border-box"===n.boxSizing&&(Math.round(a+o)!==e&&(a-=ni(n,"left","right")+o),Math.round(c+s)!==r&&(c-=ni(n,"top","bottom")+s)),!function(t){return t===ti(t).document.documentElement}(t)){var l=Math.round(a+o)-e,u=Math.round(c+s)-r;1!==Math.abs(l)&&(a-=l),1!==Math.abs(u)&&(c-=u)}return ai(i.left,i.top,a,c)}var oi="undefined"!=typeof SVGGraphicsElement?function(t){return t instanceof ti(t).SVGGraphicsElement}:function(t){return t instanceof ti(t).SVGElement&&"function"==typeof t.getBBox};function si(t){return $n?oi(t)?function(t){var e=t.getBBox();return ai(0,0,e.width,e.height)}(t):ii(t):ei}function ai(t,e,r,n){return{x:t,y:e,width:r,height:n}}var ci=function(){function t(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=ai(0,0,0,0),this.target=t}return t.prototype.isActive=function(){var t=si(this.target);return this.contentRect_=t,t.width!==this.broadcastWidth||t.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},t}(),li=function(t,e){var r,n,i,o,s,a,c,l=(n=(r=e).x,i=r.y,o=r.width,s=r.height,a="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(a.prototype),Zn(c,{x:n,y:i,width:o,height:s,top:i,right:n+o,bottom:s+i,left:n}),c);Zn(this,{target:t,contentRect:l})},ui=function(){function t(t,e,r){if(this.activeObservations_=[],this.observations_=new qn,"function"!=typeof t)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=e,this.callbackCtx_=r}return t.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof ti(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)||(e.set(t,new ci(t)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof ti(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)&&(e.delete(t),e.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach((function(e){e.isActive()&&t.activeObservations_.push(e)}))},t.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,e=this.activeObservations_.map((function(t){return new li(t.target,t.broadcastRect())}));this.callback_.call(t,e,t),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),fi="undefined"!=typeof WeakMap?new WeakMap:new qn,hi=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=Jn.getInstance(),n=new ui(e,r,this);fi.set(this,n)};["observe","unobserve","disconnect"].forEach((function(t){hi.prototype[t]=function(){var e;return(e=fi.get(this))[t].apply(e,arguments)}}));var di=void 0!==Xn.ResizeObserver?Xn.ResizeObserver:hi,pi=null,vi=null;function gi(){if(null===pi){if("undefined"==typeof document)return pi=0;var t=document.body,e=document.createElement("div");e.classList.add("simplebar-hide-scrollbar"),t.appendChild(e);var r=e.getBoundingClientRect().right;t.removeChild(e),pi=r}return pi}Yt&&window.addEventListener("resize",(function(){vi!==window.devicePixelRatio&&(vi=window.devicePixelRatio,pi=null)}));var yi=function(t){return function(e,r,n,i){kt(r);var o=Mt(e),s=y(o),a=st(o.length),c=t?a-1:0,l=t?-1:1;if(n<2)for(;;){if(c in s){i=s[c],c+=l;break}if(c+=l,t?c<0:a<=c)throw TypeError("Reduce of empty array with no initial value")}for(;t?c>=0:a>c;c+=l)c in s&&(i=r(i,s[c],c,o));return i}},bi={left:yi(!1),right:yi(!0)}.left;At({target:"Array",proto:!0,forced:Vt("reduce")},{reduce:function(t){return bi(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}});var mi=R.f,xi=Function.prototype,Ei=xi.toString,wi=/^\s*function ([^ (]*)/;!l||"name"in xi||mi(xi,"name",{configurable:!0,get:function(){try{return Ei.call(this).match(wi)[1]}catch(t){return""}}});var Oi,_i,Si=function(){var t=T(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e},Ai=RegExp.prototype.exec,ki=String.prototype.replace,Li=Ai,Mi=(Oi=/a/,_i=/b*/g,Ai.call(Oi,"a"),Ai.call(_i,"a"),0!==Oi.lastIndex||0!==_i.lastIndex),Ti=void 0!==/()??/.exec("")[1];(Mi||Ti)&&(Li=function(t){var e,r,n,i,o=this;return Ti&&(r=new RegExp("^"+o.source+"$(?!\\s)",Si.call(o))),Mi&&(e=o.lastIndex),n=Ai.call(o,t),Mi&&n&&(o.lastIndex=o.global?n.index+n[0].length:e),Ti&&n&&n.length>1&&ki.call(n[0],r,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(n[i]=void 0)})),n});var ji=Li;At({target:"RegExp",proto:!0,forced:/./.exec!==ji},{exec:ji});var Ri=zt("species"),Wi=!c((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),zi=!c((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Ci=function(t,e,r,n){var i=zt(t),o=!c((function(){var e={};return e[i]=function(){return 7},7!=""[t](e)})),s=o&&!c((function(){var e=!1,r=/a/;return r.exec=function(){return e=!0,null},"split"===t&&(r.constructor={},r.constructor[Ri]=function(){return r}),r[i](""),!e}));if(!o||!s||"replace"===t&&!Wi||"split"===t&&!zi){var a=/./[i],l=r(i,""[t],(function(t,e,r,n,i){return e.exec===ji?o&&!i?{done:!0,value:a.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}})),u=l[0],f=l[1];J(String.prototype,t,u),J(RegExp.prototype,i,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}),n&&W(RegExp.prototype[i],"sham",!0)}},Ni=Ue.charAt,Ii=function(t,e,r){return e+(r?Ni(t,e).length:1)},Di=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==v(t))throw TypeError("RegExp#exec called on incompatible receiver");return ji.call(t,e)};Ci("match",1,(function(t,e,r){return[function(e){var r=b(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var i=T(t),o=String(this);if(!i.global)return Di(i,o);var s=i.unicode;i.lastIndex=0;for(var a,c=[],l=0;null!==(a=Di(i,o));){var u=String(a[0]);c[l]=u,""===u&&(i.lastIndex=Ii(o,st(i.lastIndex),s)),l++}return 0===l?null:c}]}));var Pi=Math.max,Vi=Math.min,Fi=Math.floor,Bi=/\$([$&'`]|\d\d?|<[^>]*>)/g,Hi=/\$([$&'`]|\d\d?)/g;Ci("replace",2,(function(t,e,r){return[function(r,n){var i=b(this),o=null==r?void 0:r[t];return void 0!==o?o.call(r,i,n):e.call(String(i),r,n)},function(t,i){var o=r(e,t,this,i);if(o.done)return o.value;var s=T(t),a=String(this),c="function"==typeof i;c||(i=String(i));var l=s.global;if(l){var u=s.unicode;s.lastIndex=0}for(var f=[];;){var h=Di(s,a);if(null===h)break;if(f.push(h),!l)break;""===String(h[0])&&(s.lastIndex=Ii(a,st(s.lastIndex),u))}for(var d,p="",v=0,g=0;g<f.length;g++){h=f[g];for(var y=String(h[0]),b=Pi(Vi(it(h.index),a.length),0),m=[],x=1;x<h.length;x++)m.push(void 0===(d=h[x])?d:String(d));var E=h.groups;if(c){var w=[y].concat(m,b,a);void 0!==E&&w.push(E);var O=String(i.apply(void 0,w))}else O=n(y,a,b,m,E,i);b>=v&&(p+=a.slice(v,b)+O,v=b+y.length)}return p+a.slice(v)}];function n(t,r,n,i,o,s){var a=n+t.length,c=i.length,l=Hi;return void 0!==o&&(o=Mt(o),l=Bi),e.call(s,l,(function(e,s){var l;switch(s.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(a);case"<":l=o[s.slice(1,-1)];break;default:var u=+s;if(0===u)return e;if(u>c){var f=Fi(u/10);return 0===f?e:f<=c?void 0===i[f-1]?s.charAt(1):i[f-1]+s.charAt(1):e}l=i[u-1]}return void 0===l?"":l}))}}));var qi=function(t){return Array.prototype.reduce.call(t,(function(t,e){var r=e.name.match(/data-simplebar-(.+)/);if(r){var n=r[1].replace(/\W+(.)/g,(function(t,e){return e.toUpperCase()}));switch(e.value){case"true":t[n]=!0;break;case"false":t[n]=!1;break;case void 0:t[n]=!0;break;default:t[n]=e.value}}return t}),{})};function $i(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView?t.ownerDocument.defaultView:window}function Xi(t){return t&&t.ownerDocument?t.ownerDocument:document}var Yi=function(){function t(e,r){var n=this;this.onScroll=function(){var t=$i(n.el);n.scrollXTicking||(t.requestAnimationFrame(n.scrollX),n.scrollXTicking=!0),n.scrollYTicking||(t.requestAnimationFrame(n.scrollY),n.scrollYTicking=!0)},this.scrollX=function(){n.axis.x.isOverflowing&&(n.showScrollbar("x"),n.positionScrollbar("x")),n.scrollXTicking=!1},this.scrollY=function(){n.axis.y.isOverflowing&&(n.showScrollbar("y"),n.positionScrollbar("y")),n.scrollYTicking=!1},this.onMouseEnter=function(){n.showScrollbar("x"),n.showScrollbar("y")},this.onMouseMove=function(t){n.mouseX=t.clientX,n.mouseY=t.clientY,(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&n.onMouseMoveForAxis("x"),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&n.onMouseMoveForAxis("y")},this.onMouseLeave=function(){n.onMouseMove.cancel(),(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&n.onMouseLeaveForAxis("x"),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&n.onMouseLeaveForAxis("y"),n.mouseX=-1,n.mouseY=-1},this.onWindowResize=function(){n.scrollbarWidth=n.getScrollbarWidth(),n.hideNativeScrollbar()},this.hideScrollbars=function(){n.axis.x.track.rect=n.axis.x.track.el.getBoundingClientRect(),n.axis.y.track.rect=n.axis.y.track.el.getBoundingClientRect(),n.isWithinBounds(n.axis.y.track.rect)||(n.axis.y.scrollbar.el.classList.remove(n.classNames.visible),n.axis.y.isVisible=!1),n.isWithinBounds(n.axis.x.track.rect)||(n.axis.x.scrollbar.el.classList.remove(n.classNames.visible),n.axis.x.isVisible=!1)},this.onPointerEvent=function(t){var e,r;n.axis.x.track.rect=n.axis.x.track.el.getBoundingClientRect(),n.axis.y.track.rect=n.axis.y.track.el.getBoundingClientRect(),(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&(e=n.isWithinBounds(n.axis.x.track.rect)),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&(r=n.isWithinBounds(n.axis.y.track.rect)),(e||r)&&(t.preventDefault(),t.stopPropagation(),"mousedown"===t.type&&(e&&(n.axis.x.scrollbar.rect=n.axis.x.scrollbar.el.getBoundingClientRect(),n.isWithinBounds(n.axis.x.scrollbar.rect)?n.onDragStart(t,"x"):n.onTrackClick(t,"x")),r&&(n.axis.y.scrollbar.rect=n.axis.y.scrollbar.el.getBoundingClientRect(),n.isWithinBounds(n.axis.y.scrollbar.rect)?n.onDragStart(t,"y"):n.onTrackClick(t,"y"))))},this.drag=function(e){var r=n.axis[n.draggedAxis].track,i=r.rect[n.axis[n.draggedAxis].sizeAttr],o=n.axis[n.draggedAxis].scrollbar,s=n.contentWrapperEl[n.axis[n.draggedAxis].scrollSizeAttr],a=parseInt(n.elStyles[n.axis[n.draggedAxis].sizeAttr],10);e.preventDefault(),e.stopPropagation();var c=(("y"===n.draggedAxis?e.pageY:e.pageX)-r.rect[n.axis[n.draggedAxis].offsetAttr]-n.axis[n.draggedAxis].dragOffset)/(i-o.size)*(s-a);"x"===n.draggedAxis&&(c=n.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c-(i+o.size):c,c=n.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-c:c),n.contentWrapperEl[n.axis[n.draggedAxis].scrollOffsetAttr]=c},this.onEndDrag=function(t){var e=Xi(n.el),r=$i(n.el);t.preventDefault(),t.stopPropagation(),n.el.classList.remove(n.classNames.dragging),e.removeEventListener("mousemove",n.drag,!0),e.removeEventListener("mouseup",n.onEndDrag,!0),n.removePreventClickId=r.setTimeout((function(){e.removeEventListener("click",n.preventClick,!0),e.removeEventListener("dblclick",n.preventClick,!0),n.removePreventClickId=null}))},this.preventClick=function(t){t.preventDefault(),t.stopPropagation()},this.el=e,this.minScrollbarWidth=20,this.options=Object.assign({},t.defaultOptions,{},r),this.classNames=Object.assign({},t.defaultOptions.classNames,{},this.options.classNames),this.axis={x:{scrollOffsetAttr:"scrollLeft",sizeAttr:"width",scrollSizeAttr:"scrollWidth",offsetSizeAttr:"offsetWidth",offsetAttr:"left",overflowAttr:"overflowX",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}},y:{scrollOffsetAttr:"scrollTop",sizeAttr:"height",scrollSizeAttr:"scrollHeight",offsetSizeAttr:"offsetHeight",offsetAttr:"top",overflowAttr:"overflowY",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}}},this.removePreventClickId=null,t.instances.has(this.el)||(this.recalculate=Gr(this.recalculate.bind(this),64),this.onMouseMove=Gr(this.onMouseMove.bind(this),64),this.hideScrollbars=dn(this.hideScrollbars.bind(this),this.options.timeout),this.onWindowResize=dn(this.onWindowResize.bind(this),64,{leading:!0}),t.getRtlHelpers=Hn(t.getRtlHelpers),this.init())}t.getRtlHelpers=function(){var e=document.createElement("div");e.innerHTML='<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';var r=e.firstElementChild;document.body.appendChild(r);var n=r.firstElementChild;r.scrollLeft=0;var i=t.getOffset(r),o=t.getOffset(n);r.scrollLeft=999;var s=t.getOffset(n);return{isRtlScrollingInverted:i.left!==o.left&&o.left-s.left!=0,isRtlScrollbarInverted:i.left!==o.left}},t.getOffset=function(t){var e=t.getBoundingClientRect(),r=Xi(t),n=$i(t);return{top:e.top+(n.pageYOffset||r.documentElement.scrollTop),left:e.left+(n.pageXOffset||r.documentElement.scrollLeft)}};var e=t.prototype;return e.init=function(){t.instances.set(this.el,this),Yt&&(this.initDOM(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},e.initDOM=function(){var t=this;if(Array.prototype.filter.call(this.el.children,(function(e){return e.classList.contains(t.classNames.wrapper)})).length)this.wrapperEl=this.el.querySelector("."+this.classNames.wrapper),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector("."+this.classNames.contentWrapper),this.contentEl=this.options.contentNode||this.el.querySelector("."+this.classNames.contentEl),this.offsetEl=this.el.querySelector("."+this.classNames.offset),this.maskEl=this.el.querySelector("."+this.classNames.mask),this.placeholderEl=this.findChild(this.wrapperEl,"."+this.classNames.placeholder),this.heightAutoObserverWrapperEl=this.el.querySelector("."+this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl=this.el.querySelector("."+this.classNames.heightAutoObserverEl),this.axis.x.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.horizontal),this.axis.y.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.vertical);else{for(this.wrapperEl=document.createElement("div"),this.contentWrapperEl=document.createElement("div"),this.offsetEl=document.createElement("div"),this.maskEl=document.createElement("div"),this.contentEl=document.createElement("div"),this.placeholderEl=document.createElement("div"),this.heightAutoObserverWrapperEl=document.createElement("div"),this.heightAutoObserverEl=document.createElement("div"),this.wrapperEl.classList.add(this.classNames.wrapper),this.contentWrapperEl.classList.add(this.classNames.contentWrapper),this.offsetEl.classList.add(this.classNames.offset),this.maskEl.classList.add(this.classNames.mask),this.contentEl.classList.add(this.classNames.contentEl),this.placeholderEl.classList.add(this.classNames.placeholder),this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.contentWrapperEl.appendChild(this.contentEl),this.offsetEl.appendChild(this.contentWrapperEl),this.maskEl.appendChild(this.offsetEl),this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl),this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl),this.wrapperEl.appendChild(this.maskEl),this.wrapperEl.appendChild(this.placeholderEl),this.el.appendChild(this.wrapperEl)}if(!this.axis.x.track.el||!this.axis.y.track.el){var e=document.createElement("div"),r=document.createElement("div");e.classList.add(this.classNames.track),r.classList.add(this.classNames.scrollbar),e.appendChild(r),this.axis.x.track.el=e.cloneNode(!0),this.axis.x.track.el.classList.add(this.classNames.horizontal),this.axis.y.track.el=e.cloneNode(!0),this.axis.y.track.el.classList.add(this.classNames.vertical),this.el.appendChild(this.axis.x.track.el),this.el.appendChild(this.axis.y.track.el)}this.axis.x.scrollbar.el=this.axis.x.track.el.querySelector("."+this.classNames.scrollbar),this.axis.y.scrollbar.el=this.axis.y.track.el.querySelector("."+this.classNames.scrollbar),this.options.autoHide||(this.axis.x.scrollbar.el.classList.add(this.classNames.visible),this.axis.y.scrollbar.el.classList.add(this.classNames.visible)),this.el.setAttribute("data-simplebar","init")},e.initListeners=function(){var t=this,e=$i(this.el);this.options.autoHide&&this.el.addEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.addEventListener("scroll",this.onScroll),e.addEventListener("resize",this.onWindowResize);var r=!1,n=e.ResizeObserver||di;this.resizeObserver=new n((function(){r&&t.recalculate()})),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),e.requestAnimationFrame((function(){r=!0})),this.mutationObserver=new e.MutationObserver(this.recalculate),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})},e.recalculate=function(){var t=$i(this.el);this.elStyles=t.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var e=this.contentEl.offsetWidth,r=this.heightAutoObserverEl.offsetHeight<=1,n=this.heightAutoObserverEl.offsetWidth<=1||e>0,i=this.contentWrapperEl.offsetWidth,o=this.elStyles.overflowX,s=this.elStyles.overflowY;this.contentEl.style.padding=this.elStyles.paddingTop+" "+this.elStyles.paddingRight+" "+this.elStyles.paddingBottom+" "+this.elStyles.paddingLeft,this.wrapperEl.style.margin="-"+this.elStyles.paddingTop+" -"+this.elStyles.paddingRight+" -"+this.elStyles.paddingBottom+" -"+this.elStyles.paddingLeft;var a=this.contentEl.scrollHeight,c=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=r?"auto":"100%",this.placeholderEl.style.width=n?(e||c)+"px":"auto",this.placeholderEl.style.height=a+"px";var l=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=0!==e&&c>e,this.axis.y.isOverflowing=a>l,this.axis.x.isOverflowing="hidden"!==o&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==s&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var u=this.axis.x.isOverflowing?this.scrollbarWidth:0,f=this.axis.y.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&c>i-f,this.axis.y.isOverflowing=this.axis.y.isOverflowing&&a>l-u,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el.style.width=this.axis.x.scrollbar.size+"px",this.axis.y.scrollbar.el.style.height=this.axis.y.scrollbar.size+"px",this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")},e.getScrollbarSize=function(t){if(void 0===t&&(t="y"),!this.axis[t].isOverflowing)return 0;var e,r=this.contentEl[this.axis[t].scrollSizeAttr],n=this.axis[t].track.el[this.axis[t].offsetSizeAttr],i=n/r;return e=Math.max(~~(i*n),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(e=Math.min(e,this.options.scrollbarMaxSize)),e},e.positionScrollbar=function(e){if(void 0===e&&(e="y"),this.axis[e].isOverflowing){var r=this.contentWrapperEl[this.axis[e].scrollSizeAttr],n=this.axis[e].track.el[this.axis[e].offsetSizeAttr],i=parseInt(this.elStyles[this.axis[e].sizeAttr],10),o=this.axis[e].scrollbar,s=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],a=(s="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-s:s)/(r-i),c=~~((n-o.size)*a);c="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c+(n-o.size):c,o.el.style.transform="x"===e?"translate3d("+c+"px, 0, 0)":"translate3d(0, "+c+"px, 0)"}},e.toggleTrackVisibility=function(t){void 0===t&&(t="y");var e=this.axis[t].track.el,r=this.axis[t].scrollbar.el;this.axis[t].isOverflowing||this.axis[t].forceVisible?(e.style.visibility="visible",this.contentWrapperEl.style[this.axis[t].overflowAttr]="scroll"):(e.style.visibility="hidden",this.contentWrapperEl.style[this.axis[t].overflowAttr]="hidden"),this.axis[t].isOverflowing?r.style.display="block":r.style.display="none"},e.hideNativeScrollbar=function(){this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-"+this.scrollbarWidth+"px":0,this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-"+this.scrollbarWidth+"px":0},e.onMouseMoveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.rect=this.axis[t].track.el.getBoundingClientRect(),this.axis[t].scrollbar.rect=this.axis[t].scrollbar.el.getBoundingClientRect(),this.isWithinBounds(this.axis[t].scrollbar.rect)?this.axis[t].scrollbar.el.classList.add(this.classNames.hover):this.axis[t].scrollbar.el.classList.remove(this.classNames.hover),this.isWithinBounds(this.axis[t].track.rect)?(this.showScrollbar(t),this.axis[t].track.el.classList.add(this.classNames.hover)):this.axis[t].track.el.classList.remove(this.classNames.hover)},e.onMouseLeaveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.el.classList.remove(this.classNames.hover),this.axis[t].scrollbar.el.classList.remove(this.classNames.hover)},e.showScrollbar=function(t){void 0===t&&(t="y");var e=this.axis[t].scrollbar.el;this.axis[t].isVisible||(e.classList.add(this.classNames.visible),this.axis[t].isVisible=!0),this.options.autoHide&&this.hideScrollbars()},e.onDragStart=function(t,e){void 0===e&&(e="y");var r=Xi(this.el),n=$i(this.el),i=this.axis[e].scrollbar,o="y"===e?t.pageY:t.pageX;this.axis[e].dragOffset=o-i.rect[this.axis[e].offsetAttr],this.draggedAxis=e,this.el.classList.add(this.classNames.dragging),r.addEventListener("mousemove",this.drag,!0),r.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(r.addEventListener("click",this.preventClick,!0),r.addEventListener("dblclick",this.preventClick,!0)):(n.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},e.onTrackClick=function(t,e){var r=this;if(void 0===e&&(e="y"),this.options.clickOnTrack){var n=$i(this.el);this.axis[e].scrollbar.rect=this.axis[e].scrollbar.el.getBoundingClientRect();var i=this.axis[e].scrollbar.rect[this.axis[e].offsetAttr],o=parseInt(this.elStyles[this.axis[e].sizeAttr],10),s=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],a=("y"===e?this.mouseY-i:this.mouseX-i)<0?-1:1,c=-1===a?s-o:s+o;!function t(){var i,o;-1===a?s>c&&(s-=40,r.contentWrapperEl.scrollTo(((i={})[r.axis[e].offsetAttr]=s,i)),n.requestAnimationFrame(t)):s<c&&(s+=40,r.contentWrapperEl.scrollTo(((o={})[r.axis[e].offsetAttr]=s,o)),n.requestAnimationFrame(t))}()}},e.getContentElement=function(){return this.contentEl},e.getScrollElement=function(){return this.contentWrapperEl},e.getScrollbarWidth=function(){try{return"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:gi()}catch(t){return gi()}},e.removeListeners=function(){var t=this,e=$i(this.el);this.options.autoHide&&this.el.removeEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.removeEventListener("mousemove",this.onMouseMove),this.el.removeEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onWindowResize),this.mutationObserver.disconnect(),this.resizeObserver.disconnect(),this.recalculate.cancel(),this.onMouseMove.cancel(),this.hideScrollbars.cancel(),this.onWindowResize.cancel()},e.unMount=function(){this.removeListeners(),t.instances.delete(this.el)},e.isWithinBounds=function(t){return this.mouseX>=t.left&&this.mouseX<=t.left+t.width&&this.mouseY>=t.top&&this.mouseY<=t.top+t.height},e.findChild=function(t,e){var r=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;return Array.prototype.filter.call(t.children,(function(t){return r.call(t,e)}))[0]},t}();return Yi.defaultOptions={autoHide:!0,forceVisible:!1,clickOnTrack:!0,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging"},scrollbarMinSize:25,scrollbarMaxSize:0,timeout:1e3},Yi.instances=new WeakMap,Yi.initDOMLoadedElements=function(){document.removeEventListener("DOMContentLoaded",this.initDOMLoadedElements),window.removeEventListener("load",this.initDOMLoadedElements),Array.prototype.forEach.call(document.querySelectorAll("[data-simplebar]"),(function(t){"init"===t.getAttribute("data-simplebar")||Yi.instances.has(t)||new Yi(t,qi(t.attributes))}))},Yi.removeObserver=function(){this.globalObserver.disconnect()},Yi.initHtmlApi=function(){this.initDOMLoadedElements=this.initDOMLoadedElements.bind(this),"undefined"!=typeof MutationObserver&&(this.globalObserver=new MutationObserver(Yi.handleMutations),this.globalObserver.observe(document,{childList:!0,subtree:!0})),"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(this.initDOMLoadedElements):(document.addEventListener("DOMContentLoaded",this.initDOMLoadedElements),window.addEventListener("load",this.initDOMLoadedElements))},Yi.handleMutations=function(t){t.forEach((function(t){Array.prototype.forEach.call(t.addedNodes,(function(t){1===t.nodeType&&(t.hasAttribute("data-simplebar")?!Yi.instances.has(t)&&new Yi(t,qi(t.attributes)):Array.prototype.forEach.call(t.querySelectorAll("[data-simplebar]"),(function(t){"init"===t.getAttribute("data-simplebar")||Yi.instances.has(t)||new Yi(t,qi(t.attributes))})))})),Array.prototype.forEach.call(t.removedNodes,(function(t){1===t.nodeType&&(t.hasAttribute('[data-simplebar="init"]')?Yi.instances.has(t)&&Yi.instances.get(t).unMount():Array.prototype.forEach.call(t.querySelectorAll('[data-simplebar="init"]'),(function(t){Yi.instances.has(t)&&Yi.instances.get(t).unMount()})))}))}))},Yi.getOptions=qi,Yt&&Yi.initHtmlApi(),Yi}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/vendor/swiper/css/swiper.min.css
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Swiper 5.0.4
|
3 |
-
* Most modern mobile touch slider and framework with hardware accelerated transitions
|
4 |
-
* http://swiperjs.com
|
5 |
-
*
|
6 |
-
* Copyright 2014-2019 Vladimir Kharlampidi
|
7 |
-
*
|
8 |
-
* Released under the MIT License
|
9 |
-
*
|
10 |
-
* Released on: September 30, 2019
|
11 |
-
*/
|
12 |
-
|
13 |
-
@font-face{font-family:swiper-icons;src:url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-container-3d{perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(-1 * var(--swiper-navigation-size)/ 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size)}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after{content:'next'}.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white{--swiper-navigation-color:#ffffff}.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black{--swiper-navigation-color:#000000}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white{--swiper-pagination-color:#ffffff}.swiper-pagination-black{--swiper-pagination-color:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/vendor/swiper/js/swiper.min.js
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Swiper 5.0.4
|
3 |
-
* Most modern mobile touch slider and framework with hardware accelerated transitions
|
4 |
-
* http://swiperjs.com
|
5 |
-
*
|
6 |
-
* Copyright 2014-2019 Vladimir Kharlampidi
|
7 |
-
*
|
8 |
-
* Released under the MIT License
|
9 |
-
*
|
10 |
-
* Released on: September 30, 2019
|
11 |
-
*/
|
12 |
-
|
13 |
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Swiper=t()}(this,(function(){"use strict";var e="undefined"==typeof document?{body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},location:{hash:""}}:document,t="undefined"==typeof window?{document:e,navigator:{userAgent:""},location:{},history:{},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){}}:window,i=function(e){for(var t=0;t<e.length;t+=1)this[t]=e[t];return this.length=e.length,this};function s(s,a){var r=[],n=0;if(s&&!a&&s instanceof i)return s;if(s)if("string"==typeof s){var o,l,d=s.trim();if(d.indexOf("<")>=0&&d.indexOf(">")>=0){var h="div";for(0===d.indexOf("<li")&&(h="ul"),0===d.indexOf("<tr")&&(h="tbody"),0!==d.indexOf("<td")&&0!==d.indexOf("<th")||(h="tr"),0===d.indexOf("<tbody")&&(h="table"),0===d.indexOf("<option")&&(h="select"),(l=e.createElement(h)).innerHTML=d,n=0;n<l.childNodes.length;n+=1)r.push(l.childNodes[n])}else for(o=a||"#"!==s[0]||s.match(/[ .<>:~]/)?(a||e).querySelectorAll(s.trim()):[e.getElementById(s.trim().split("#")[1])],n=0;n<o.length;n+=1)o[n]&&r.push(o[n])}else if(s.nodeType||s===t||s===e)r.push(s);else if(s.length>0&&s[0].nodeType)for(n=0;n<s.length;n+=1)r.push(s[n]);return new i(r)}function a(e){for(var t=[],i=0;i<e.length;i+=1)-1===t.indexOf(e[i])&&t.push(e[i]);return t}s.fn=i.prototype,s.Class=i,s.Dom7=i;var r={addClass:function(e){if(void 0===e)return this;for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.remove(t[i]);return this},hasClass:function(e){return!!this[0]&&this[0].classList.contains(e)},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.toggle(t[i]);return this},attr:function(e,t){var i=arguments;if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var s=0;s<this.length;s+=1)if(2===i.length)this[s].setAttribute(e,t);else for(var a in e)this[s][a]=e[a],this[s].setAttribute(a,e[a]);return this},removeAttr:function(e){for(var t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},data:function(e,t){var i;if(void 0!==t){for(var s=0;s<this.length;s+=1)(i=this[s]).dom7ElementDataStorage||(i.dom7ElementDataStorage={}),i.dom7ElementDataStorage[e]=t;return this}if(i=this[0]){if(i.dom7ElementDataStorage&&e in i.dom7ElementDataStorage)return i.dom7ElementDataStorage[e];var a=i.getAttribute("data-"+e);return a||void 0}},transform:function(e){for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransform=e,i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransitionDuration=e,i.transitionDuration=e}return this},on:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var a=t[0],r=t[1],n=t[2],o=t[3];function l(e){var t=e.target;if(t){var i=e.target.dom7EventData||[];if(i.indexOf(e)<0&&i.unshift(e),s(t).is(r))n.apply(t,i);else for(var a=s(t).parents(),o=0;o<a.length;o+=1)s(a[o]).is(r)&&n.apply(a[o],i)}}function d(e){var t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),n.apply(this,t)}"function"==typeof t[1]&&(a=(e=t)[0],n=e[1],o=e[2],r=void 0),o||(o=!1);for(var h,p=a.split(" "),c=0;c<this.length;c+=1){var u=this[c];if(r)for(h=0;h<p.length;h+=1){var v=p[h];u.dom7LiveListeners||(u.dom7LiveListeners={}),u.dom7LiveListeners[v]||(u.dom7LiveListeners[v]=[]),u.dom7LiveListeners[v].push({listener:n,proxyListener:l}),u.addEventListener(v,l,o)}else for(h=0;h<p.length;h+=1){var f=p[h];u.dom7Listeners||(u.dom7Listeners={}),u.dom7Listeners[f]||(u.dom7Listeners[f]=[]),u.dom7Listeners[f].push({listener:n,proxyListener:d}),u.addEventListener(f,d,o)}}return this},off:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],n=t[3];"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],n=e[2],a=void 0),n||(n=!1);for(var o=s.split(" "),l=0;l<o.length;l+=1)for(var d=o[l],h=0;h<this.length;h+=1){var p=this[h],c=void 0;if(!a&&p.dom7Listeners?c=p.dom7Listeners[d]:a&&p.dom7LiveListeners&&(c=p.dom7LiveListeners[d]),c&&c.length)for(var u=c.length-1;u>=0;u-=1){var v=c[u];r&&v.listener===r?(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1)):r&&v.listener&&v.listener.dom7proxy&&v.listener.dom7proxy===r?(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1)):r||(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1))}}return this},trigger:function(){for(var i=[],s=arguments.length;s--;)i[s]=arguments[s];for(var a=i[0].split(" "),r=i[1],n=0;n<a.length;n+=1)for(var o=a[n],l=0;l<this.length;l+=1){var d=this[l],h=void 0;try{h=new t.CustomEvent(o,{detail:r,bubbles:!0,cancelable:!0})}catch(t){(h=e.createEvent("Event")).initEvent(o,!0,!0),h.detail=r}d.dom7EventData=i.filter((function(e,t){return t>0})),d.dispatchEvent(h),d.dom7EventData=[],delete d.dom7EventData}return this},transitionEnd:function(e){var t,i=["webkitTransitionEnd","transitionend"],s=this;function a(r){if(r.target===this)for(e.call(this,r),t=0;t<i.length;t+=1)s.off(i[t],a)}if(e)for(t=0;t<i.length;t+=1)s.on(i[t],a);return this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},offset:function(){if(this.length>0){var i=this[0],s=i.getBoundingClientRect(),a=e.body,r=i.clientTop||a.clientTop||0,n=i.clientLeft||a.clientLeft||0,o=i===t?t.scrollY:i.scrollTop,l=i===t?t.scrollX:i.scrollLeft;return{top:s.top+o-r,left:s.left+l-n}}return null},css:function(e,i){var s;if(1===arguments.length){if("string"!=typeof e){for(s=0;s<this.length;s+=1)for(var a in e)this[s].style[a]=e[a];return this}if(this[0])return t.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(s=0;s<this.length;s+=1)this[s].style[e]=i;return this}return this},each:function(e){if(!e)return this;for(var t=0;t<this.length;t+=1)if(!1===e.call(this[t],t,this[t]))return this;return this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:void 0;for(var t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(var t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(a){var r,n,o=this[0];if(!o||void 0===a)return!1;if("string"==typeof a){if(o.matches)return o.matches(a);if(o.webkitMatchesSelector)return o.webkitMatchesSelector(a);if(o.msMatchesSelector)return o.msMatchesSelector(a);for(r=s(a),n=0;n<r.length;n+=1)if(r[n]===o)return!0;return!1}if(a===e)return o===e;if(a===t)return o===t;if(a.nodeType||a instanceof i){for(r=a.nodeType?[a]:a,n=0;n<r.length;n+=1)if(r[n]===o)return!0;return!1}return!1},index:function(){var e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;var t,s=this.length;return new i(e>s-1?[]:e<0?(t=s+e)<0?[]:[this[t]]:[this[e]])},append:function(){for(var t,s=[],a=arguments.length;a--;)s[a]=arguments[a];for(var r=0;r<s.length;r+=1){t=s[r];for(var n=0;n<this.length;n+=1)if("string"==typeof t){var o=e.createElement("div");for(o.innerHTML=t;o.firstChild;)this[n].appendChild(o.firstChild)}else if(t instanceof i)for(var l=0;l<t.length;l+=1)this[n].appendChild(t[l]);else this[n].appendChild(t)}return this},prepend:function(t){var s,a;for(s=0;s<this.length;s+=1)if("string"==typeof t){var r=e.createElement("div");for(r.innerHTML=t,a=r.childNodes.length-1;a>=0;a-=1)this[s].insertBefore(r.childNodes[a],this[s].childNodes[0])}else if(t instanceof i)for(a=0;a<t.length;a+=1)this[s].insertBefore(t[a],this[s].childNodes[0]);else this[s].insertBefore(t,this[s].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&s(this[0].nextElementSibling).is(e)?new i([this[0].nextElementSibling]):new i([]):this[0].nextElementSibling?new i([this[0].nextElementSibling]):new i([]):new i([])},nextAll:function(e){var t=[],a=this[0];if(!a)return new i([]);for(;a.nextElementSibling;){var r=a.nextElementSibling;e?s(r).is(e)&&t.push(r):t.push(r),a=r}return new i(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&s(t.previousElementSibling).is(e)?new i([t.previousElementSibling]):new i([]):t.previousElementSibling?new i([t.previousElementSibling]):new i([])}return new i([])},prevAll:function(e){var t=[],a=this[0];if(!a)return new i([]);for(;a.previousElementSibling;){var r=a.previousElementSibling;e?s(r).is(e)&&t.push(r):t.push(r),a=r}return new i(t)},parent:function(e){for(var t=[],i=0;i<this.length;i+=1)null!==this[i].parentNode&&(e?s(this[i].parentNode).is(e)&&t.push(this[i].parentNode):t.push(this[i].parentNode));return s(a(t))},parents:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var r=this[i].parentNode;r;)e?s(r).is(e)&&t.push(r):t.push(r),r=r.parentNode;return s(a(t))},closest:function(e){var t=this;return void 0===e?new i([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){for(var t=[],s=0;s<this.length;s+=1)for(var a=this[s].querySelectorAll(e),r=0;r<a.length;r+=1)t.push(a[r]);return new i(t)},children:function(e){for(var t=[],r=0;r<this.length;r+=1)for(var n=this[r].childNodes,o=0;o<n.length;o+=1)e?1===n[o].nodeType&&s(n[o]).is(e)&&t.push(n[o]):1===n[o].nodeType&&t.push(n[o]);return new i(a(t))},filter:function(e){for(var t=[],s=0;s<this.length;s+=1)e.call(this[s],s,this[s])&&t.push(this[s]);return new i(t)},remove:function(){for(var e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},add:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,a;for(i=0;i<e.length;i+=1){var r=s(e[i]);for(a=0;a<r.length;a+=1)this[this.length]=r[a],this.length+=1}return this},styles:function(){return this[0]?t.getComputedStyle(this[0],null):{}}};Object.keys(r).forEach((function(e){s.fn[e]=s.fn[e]||r[e]}));var n={deleteProps:function(e){var t=e;Object.keys(t).forEach((function(e){try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))},nextTick:function(e,t){return void 0===t&&(t=0),setTimeout(e,t)},now:function(){return Date.now()},getTranslate:function(e,i){var s,a,r;void 0===i&&(i="x");var n=t.getComputedStyle(e,null);return t.WebKitCSSMatrix?((a=n.transform||n.webkitTransform).split(",").length>6&&(a=a.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),r=new t.WebKitCSSMatrix("none"===a?"":a)):s=(r=n.MozTransform||n.OTransform||n.MsTransform||n.msTransform||n.transform||n.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===i&&(a=t.WebKitCSSMatrix?r.m41:16===s.length?parseFloat(s[12]):parseFloat(s[4])),"y"===i&&(a=t.WebKitCSSMatrix?r.m42:16===s.length?parseFloat(s[13]):parseFloat(s[5])),a||0},parseUrlQuery:function(e){var i,s,a,r,n={},o=e||t.location.href;if("string"==typeof o&&o.length)for(r=(s=(o=o.indexOf("?")>-1?o.replace(/\S*\?/,""):"").split("&").filter((function(e){return""!==e}))).length,i=0;i<r;i+=1)a=s[i].replace(/#\S+/g,"").split("="),n[decodeURIComponent(a[0])]=void 0===a[1]?void 0:decodeURIComponent(a[1])||"";return n},isObject:function(e){return"object"==typeof e&&null!==e&&e.constructor&&e.constructor===Object},extend:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var i=Object(e[0]),s=1;s<e.length;s+=1){var a=e[s];if(null!=a)for(var r=Object.keys(Object(a)),o=0,l=r.length;o<l;o+=1){var d=r[o],h=Object.getOwnPropertyDescriptor(a,d);void 0!==h&&h.enumerable&&(n.isObject(i[d])&&n.isObject(a[d])?n.extend(i[d],a[d]):!n.isObject(i[d])&&n.isObject(a[d])?(i[d]={},n.extend(i[d],a[d])):i[d]=a[d])}}return i}},o={touch:t.Modernizr&&!0===t.Modernizr.touch||!!(t.navigator.maxTouchPoints>0||"ontouchstart"in t||t.DocumentTouch&&e instanceof t.DocumentTouch),pointerEvents:!!t.PointerEvent&&"maxTouchPoints"in t.navigator&&t.navigator.maxTouchPoints>0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,i)}catch(e){}return e}(),gestures:"ongesturestart"in t},l=function(e){void 0===e&&(e={});var t=this;t.params=e,t.eventsListeners={},t.params&&t.params.on&&Object.keys(t.params.on).forEach((function(e){t.on(e,t.params.on[e])}))},d={components:{configurable:!0}};l.prototype.on=function(e,t,i){var s=this;if("function"!=typeof t)return s;var a=i?"unshift":"push";return e.split(" ").forEach((function(e){s.eventsListeners[e]||(s.eventsListeners[e]=[]),s.eventsListeners[e][a](t)})),s},l.prototype.once=function(e,t,i){var s=this;if("function"!=typeof t)return s;function a(){for(var i=[],r=arguments.length;r--;)i[r]=arguments[r];t.apply(s,i),s.off(e,a),a.f7proxy&&delete a.f7proxy}return a.f7proxy=t,s.on(e,a,i)},l.prototype.off=function(e,t){var i=this;return i.eventsListeners?(e.split(" ").forEach((function(e){void 0===t?i.eventsListeners[e]=[]:i.eventsListeners[e]&&i.eventsListeners[e].length&&i.eventsListeners[e].forEach((function(s,a){(s===t||s.f7proxy&&s.f7proxy===t)&&i.eventsListeners[e].splice(a,1)}))})),i):i},l.prototype.emit=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a,r=this;if(!r.eventsListeners)return r;"string"==typeof e[0]||Array.isArray(e[0])?(i=e[0],s=e.slice(1,e.length),a=r):(i=e[0].events,s=e[0].data,a=e[0].context||r);var n=Array.isArray(i)?i:i.split(" ");return n.forEach((function(e){if(r.eventsListeners&&r.eventsListeners[e]){var t=[];r.eventsListeners[e].forEach((function(e){t.push(e)})),t.forEach((function(e){e.apply(a,s)}))}})),r},l.prototype.useModulesParams=function(e){var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i];s.params&&n.extend(e,s.params)}))},l.prototype.useModules=function(e){void 0===e&&(e={});var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i],a=e[i]||{};s.instance&&Object.keys(s.instance).forEach((function(e){var i=s.instance[e];t[e]="function"==typeof i?i.bind(t):i})),s.on&&t.on&&Object.keys(s.on).forEach((function(e){t.on(e,s.on[e])})),s.create&&s.create.bind(t)(a)}))},d.components.set=function(e){this.use&&this.use(e)},l.installModule=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;s.prototype.modules||(s.prototype.modules={});var a=e.name||Object.keys(s.prototype.modules).length+"_"+n.now();return s.prototype.modules[a]=e,e.proto&&Object.keys(e.proto).forEach((function(t){s.prototype[t]=e.proto[t]})),e.static&&Object.keys(e.static).forEach((function(t){s[t]=e.static[t]})),e.install&&e.install.apply(s,t),s},l.use=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;return Array.isArray(e)?(e.forEach((function(e){return s.installModule(e)})),s):s.installModule.apply(s,[e].concat(t))},Object.defineProperties(l,d);var h={updateSize:function(){var e,t,i=this.$el;e=void 0!==this.params.width?this.params.width:i[0].clientWidth,t=void 0!==this.params.height?this.params.height:i[0].clientHeight,0===e&&this.isHorizontal()||0===t&&this.isVertical()||(e=e-parseInt(i.css("padding-left"),10)-parseInt(i.css("padding-right"),10),t=t-parseInt(i.css("padding-top"),10)-parseInt(i.css("padding-bottom"),10),n.extend(this,{width:e,height:t,size:this.isHorizontal()?e:t}))},updateSlides:function(){var e=this.params,i=this.$wrapperEl,s=this.size,a=this.rtlTranslate,r=this.wrongRTL,o=this.virtual&&e.virtual.enabled,l=o?this.virtual.slides.length:this.slides.length,d=i.children("."+this.params.slideClass),h=o?this.virtual.slides.length:d.length,p=[],c=[],u=[];function v(t){return!e.cssMode||t!==d.length-1}var f=e.slidesOffsetBefore;"function"==typeof f&&(f=e.slidesOffsetBefore.call(this));var m=e.slidesOffsetAfter;"function"==typeof m&&(m=e.slidesOffsetAfter.call(this));var g=this.snapGrid.length,b=this.snapGrid.length,w=e.spaceBetween,y=-f,x=0,E=0;if(void 0!==s){var T,C;"string"==typeof w&&w.indexOf("%")>=0&&(w=parseFloat(w.replace("%",""))/100*s),this.virtualSize=-w,a?d.css({marginLeft:"",marginTop:""}):d.css({marginRight:"",marginBottom:""}),e.slidesPerColumn>1&&(T=Math.floor(h/e.slidesPerColumn)===h/this.params.slidesPerColumn?h:Math.ceil(h/e.slidesPerColumn)*e.slidesPerColumn,"auto"!==e.slidesPerView&&"row"===e.slidesPerColumnFill&&(T=Math.max(T,e.slidesPerView*e.slidesPerColumn)));for(var S,M=e.slidesPerColumn,P=T/M,z=Math.floor(h/e.slidesPerColumn),k=0;k<h;k+=1){C=0;var $=d.eq(k);if(e.slidesPerColumn>1){var L=void 0,I=void 0,D=void 0;if("row"===e.slidesPerColumnFill&&e.slidesPerGroup>1){var O=Math.floor(k/(e.slidesPerGroup*e.slidesPerColumn)),A=k-e.slidesPerColumn*e.slidesPerGroup*O;L=(I=A-(D=Math.floor(A/e.slidesPerGroup))*e.slidesPerGroup+O*e.slidesPerGroup)+D*T/M,$.css({"-webkit-box-ordinal-group":L,"-moz-box-ordinal-group":L,"-ms-flex-order":L,"-webkit-order":L,order:L})}else"column"===e.slidesPerColumnFill?(D=k-(I=Math.floor(k/M))*M,(I>z||I===z&&D===M-1)&&(D+=1)>=M&&(D=0,I+=1)):I=k-(D=Math.floor(k/P))*P;$.css("margin-"+(this.isHorizontal()?"top":"left"),0!==D&&e.spaceBetween&&e.spaceBetween+"px")}if("none"!==$.css("display")){if("auto"===e.slidesPerView){var G=t.getComputedStyle($[0],null),H=$[0].style.transform,N=$[0].style.webkitTransform;if(H&&($[0].style.transform="none"),N&&($[0].style.webkitTransform="none"),e.roundLengths)C=this.isHorizontal()?$.outerWidth(!0):$.outerHeight(!0);else if(this.isHorizontal()){var B=parseFloat(G.getPropertyValue("width")),V=parseFloat(G.getPropertyValue("padding-left")),X=parseFloat(G.getPropertyValue("padding-right")),Y=parseFloat(G.getPropertyValue("margin-left")),F=parseFloat(G.getPropertyValue("margin-right")),R=G.getPropertyValue("box-sizing");C=R&&"border-box"===R?B+Y+F:B+V+X+Y+F}else{var q=parseFloat(G.getPropertyValue("height")),W=parseFloat(G.getPropertyValue("padding-top")),j=parseFloat(G.getPropertyValue("padding-bottom")),K=parseFloat(G.getPropertyValue("margin-top")),U=parseFloat(G.getPropertyValue("margin-bottom")),_=G.getPropertyValue("box-sizing");C=_&&"border-box"===_?q+K+U:q+W+j+K+U}H&&($[0].style.transform=H),N&&($[0].style.webkitTransform=N),e.roundLengths&&(C=Math.floor(C))}else C=(s-(e.slidesPerView-1)*w)/e.slidesPerView,e.roundLengths&&(C=Math.floor(C)),d[k]&&(this.isHorizontal()?d[k].style.width=C+"px":d[k].style.height=C+"px");d[k]&&(d[k].swiperSlideSize=C),u.push(C),e.centeredSlides?(y=y+C/2+x/2+w,0===x&&0!==k&&(y=y-s/2-w),0===k&&(y=y-s/2-w),Math.abs(y)<.001&&(y=0),e.roundLengths&&(y=Math.floor(y)),E%e.slidesPerGroup==0&&p.push(y),c.push(y)):(e.roundLengths&&(y=Math.floor(y)),E%e.slidesPerGroup==0&&p.push(y),c.push(y),y=y+C+w),this.virtualSize+=C+w,x=C,E+=1}}if(this.virtualSize=Math.max(this.virtualSize,s)+m,a&&r&&("slide"===e.effect||"coverflow"===e.effect)&&i.css({width:this.virtualSize+e.spaceBetween+"px"}),e.setWrapperSize&&(this.isHorizontal()?i.css({width:this.virtualSize+e.spaceBetween+"px"}):i.css({height:this.virtualSize+e.spaceBetween+"px"})),e.slidesPerColumn>1&&(this.virtualSize=(C+e.spaceBetween)*T,this.virtualSize=Math.ceil(this.virtualSize/e.slidesPerColumn)-e.spaceBetween,this.isHorizontal()?i.css({width:this.virtualSize+e.spaceBetween+"px"}):i.css({height:this.virtualSize+e.spaceBetween+"px"}),e.centeredSlides)){S=[];for(var Z=0;Z<p.length;Z+=1){var Q=p[Z];e.roundLengths&&(Q=Math.floor(Q)),p[Z]<this.virtualSize+p[0]&&S.push(Q)}p=S}if(!e.centeredSlides){S=[];for(var J=0;J<p.length;J+=1){var ee=p[J];e.roundLengths&&(ee=Math.floor(ee)),p[J]<=this.virtualSize-s&&S.push(ee)}p=S,Math.floor(this.virtualSize-s)-Math.floor(p[p.length-1])>1&&p.push(this.virtualSize-s)}if(0===p.length&&(p=[0]),0!==e.spaceBetween&&(this.isHorizontal()?a?d.filter(v).css({marginLeft:w+"px"}):d.filter(v).css({marginRight:w+"px"}):d.filter(v).css({marginBottom:w+"px"})),e.centerInsufficientSlides){var te=0;if(u.forEach((function(t){te+=t+(e.spaceBetween?e.spaceBetween:0)})),(te-=e.spaceBetween)<s){var ie=(s-te)/2;p.forEach((function(e,t){p[t]=e-ie})),c.forEach((function(e,t){c[t]=e+ie}))}}n.extend(this,{slides:d,snapGrid:p,slidesGrid:c,slidesSizesGrid:u}),h!==l&&this.emit("slidesLengthChange"),p.length!==g&&(this.params.watchOverflow&&this.checkOverflow(),this.emit("snapGridLengthChange")),c.length!==b&&this.emit("slidesGridLengthChange"),(e.watchSlidesProgress||e.watchSlidesVisibility)&&this.updateSlidesOffset()}},updateAutoHeight:function(e){var t,i=[],s=0;if("number"==typeof e?this.setTransition(e):!0===e&&this.setTransition(this.params.speed),"auto"!==this.params.slidesPerView&&this.params.slidesPerView>1)for(t=0;t<Math.ceil(this.params.slidesPerView);t+=1){var a=this.activeIndex+t;if(a>this.slides.length)break;i.push(this.slides.eq(a)[0])}else i.push(this.slides.eq(this.activeIndex)[0]);for(t=0;t<i.length;t+=1)if(void 0!==i[t]){var r=i[t].offsetHeight;s=r>s?r:s}s&&this.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t<e.length;t+=1)e[t].swiperSlideOffset=this.isHorizontal()?e[t].offsetLeft:e[t].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this.params,i=this.slides,a=this.rtlTranslate;if(0!==i.length){void 0===i[0].swiperSlideOffset&&this.updateSlidesOffset();var r=-e;a&&(r=e),i.removeClass(t.slideVisibleClass),this.visibleSlidesIndexes=[],this.visibleSlides=[];for(var n=0;n<i.length;n+=1){var o=i[n],l=(r+(t.centeredSlides?this.minTranslate():0)-o.swiperSlideOffset)/(o.swiperSlideSize+t.spaceBetween);if(t.watchSlidesVisibility){var d=-(r-o.swiperSlideOffset),h=d+this.slidesSizesGrid[n];(d>=0&&d<this.size-1||h>1&&h<=this.size||d<=0&&h>=this.size)&&(this.visibleSlides.push(o),this.visibleSlidesIndexes.push(n),i.eq(n).addClass(t.slideVisibleClass))}o.progress=a?-l:l}this.visibleSlides=s(this.visibleSlides)}},updateProgress:function(e){if(void 0===e){var t=this.rtlTranslate?-1:1;e=this&&this.translate&&this.translate*t||0}var i=this.params,s=this.maxTranslate()-this.minTranslate(),a=this.progress,r=this.isBeginning,o=this.isEnd,l=r,d=o;0===s?(a=0,r=!0,o=!0):(r=(a=(e-this.minTranslate())/s)<=0,o=a>=1),n.extend(this,{progress:a,isBeginning:r,isEnd:o}),(i.watchSlidesProgress||i.watchSlidesVisibility)&&this.updateSlidesProgress(e),r&&!l&&this.emit("reachBeginning toEdge"),o&&!d&&this.emit("reachEnd toEdge"),(l&&!r||d&&!o)&&this.emit("fromEdge"),this.emit("progress",a)},updateSlidesClasses:function(){var e,t=this.slides,i=this.params,s=this.$wrapperEl,a=this.activeIndex,r=this.realIndex,n=this.virtual&&i.virtual.enabled;t.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=n?this.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+a+'"]'):t.eq(a)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass));var o=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===o.length&&(o=t.eq(0)).addClass(i.slideNextClass);var l=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===l.length&&(l=t.eq(-1)).addClass(i.slidePrevClass),i.loop&&(o.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),l.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass))},updateActiveIndex:function(e){var t,i=this.rtlTranslate?this.translate:-this.translate,s=this.slidesGrid,a=this.snapGrid,r=this.params,o=this.activeIndex,l=this.realIndex,d=this.snapIndex,h=e;if(void 0===h){for(var p=0;p<s.length;p+=1)void 0!==s[p+1]?i>=s[p]&&i<s[p+1]-(s[p+1]-s[p])/2?h=p:i>=s[p]&&i<s[p+1]&&(h=p+1):i>=s[p]&&(h=p);r.normalizeSlideIndex&&(h<0||void 0===h)&&(h=0)}if((t=a.indexOf(i)>=0?a.indexOf(i):Math.floor(h/r.slidesPerGroup))>=a.length&&(t=a.length-1),h!==o){var c=parseInt(this.slides.eq(h).attr("data-swiper-slide-index")||h,10);n.extend(this,{snapIndex:t,realIndex:c,previousIndex:o,activeIndex:h}),this.emit("activeIndexChange"),this.emit("snapIndexChange"),l!==c&&this.emit("realIndexChange"),(this.initialized||this.runCallbacksOnInit)&&this.emit("slideChange")}else t!==d&&(this.snapIndex=t,this.emit("snapIndexChange"))},updateClickedSlide:function(e){var t=this.params,i=s(e.target).closest("."+t.slideClass)[0],a=!1;if(i)for(var r=0;r<this.slides.length;r+=1)this.slides[r]===i&&(a=!0);if(!i||!a)return this.clickedSlide=void 0,void(this.clickedIndex=void 0);this.clickedSlide=i,this.virtual&&this.params.virtual.enabled?this.clickedIndex=parseInt(s(i).attr("data-swiper-slide-index"),10):this.clickedIndex=s(i).index(),t.slideToClickedSlide&&void 0!==this.clickedIndex&&this.clickedIndex!==this.activeIndex&&this.slideToClickedSlide()}};var p={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");var t=this.params,i=this.rtlTranslate,s=this.translate,a=this.$wrapperEl;if(t.virtualTranslate)return i?-s:s;if(t.cssMode)return s;var r=n.getTranslate(a[0],e);return i&&(r=-r),r||0},setTranslate:function(e,t){var i=this.rtlTranslate,s=this.params,a=this.$wrapperEl,r=this.wrapperEl,n=this.progress,o=0,l=0;this.isHorizontal()?o=i?-e:e:l=e,s.roundLengths&&(o=Math.floor(o),l=Math.floor(l)),s.cssMode?r[this.isHorizontal()?"scrollLeft":"scrollTop"]=this.isHorizontal()?-o:-l:s.virtualTranslate||a.transform("translate3d("+o+"px, "+l+"px, 0px)"),this.previousTranslate=this.translate,this.translate=this.isHorizontal()?o:l;var d=this.maxTranslate()-this.minTranslate();(0===d?0:(e-this.minTranslate())/d)!==n&&this.updateProgress(e),this.emit("setTranslate",this.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]}};var c={setTransition:function(e,t){this.params.cssMode||this.$wrapperEl.transition(e),this.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.params,a=this.previousIndex;if(!s.cssMode){s.autoHeight&&this.updateAutoHeight();var r=t;if(r||(r=i>a?"next":i<a?"prev":"reset"),this.emit("transitionStart"),e&&i!==a){if("reset"===r)return void this.emit("slideResetTransitionStart");this.emit("slideChangeTransitionStart"),"next"===r?this.emit("slideNextTransitionStart"):this.emit("slidePrevTransitionStart")}}},transitionEnd:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.previousIndex,a=this.params;if(this.animating=!1,!a.cssMode){this.setTransition(0);var r=t;if(r||(r=i>s?"next":i<s?"prev":"reset"),this.emit("transitionEnd"),e&&i!==s){if("reset"===r)return void this.emit("slideResetTransitionEnd");this.emit("slideChangeTransitionEnd"),"next"===r?this.emit("slideNextTransitionEnd"):this.emit("slidePrevTransitionEnd")}}}};var u={slideTo:function(e,t,i,s){var a;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var r=this,n=e;n<0&&(n=0);var o=r.params,l=r.snapGrid,d=r.slidesGrid,h=r.previousIndex,p=r.activeIndex,c=r.rtlTranslate,u=r.wrapperEl;if(r.animating&&o.preventInteractionOnTransition)return!1;var v=Math.floor(n/o.slidesPerGroup);v>=l.length&&(v=l.length-1),(p||o.initialSlide||0)===(h||0)&&i&&r.emit("beforeSlideChangeStart");var f,m=-l[v];if(r.updateProgress(m),o.normalizeSlideIndex)for(var g=0;g<d.length;g+=1)-Math.floor(100*m)>=Math.floor(100*d[g])&&(n=g);if(r.initialized&&n!==p){if(!r.allowSlideNext&&m<r.translate&&m<r.minTranslate())return!1;if(!r.allowSlidePrev&&m>r.translate&&m>r.maxTranslate()&&(p||0)!==n)return!1}if(f=n>p?"next":n<p?"prev":"reset",c&&-m===r.translate||!c&&m===r.translate)return r.updateActiveIndex(n),o.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==o.effect&&r.setTranslate(m),"reset"!==f&&(r.transitionStart(i,f),r.transitionEnd(i,f)),!1;if(o.cssMode){var b=r.isHorizontal();return 0===t?u[b?"scrollLeft":"scrollTop"]=-m:u.scrollTo?u.scrollTo(((a={})[b?"left":"top"]=-m,a.behavior="smooth",a)):u[b?"scrollLeft":"scrollTop"]=-m,!0}return 0===t?(r.setTransition(0),r.setTranslate(m),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,f),r.transitionEnd(i,f)):(r.setTransition(t),r.setTranslate(m),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,f),r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(i,f))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd))),!0},slideToLoop:function(e,t,i,s){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var a=e;return this.params.loop&&(a+=this.loopedSlides),this.slideTo(a,t,i,s)},slideNext:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating;return s.loop?!a&&(this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft,this.slideTo(this.activeIndex+s.slidesPerGroup,e,t,i)):this.slideTo(this.activeIndex+s.slidesPerGroup,e,t,i)},slidePrev:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.snapGrid,n=this.slidesGrid,o=this.rtlTranslate;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}function l(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}var d,h=l(o?this.translate:-this.translate),p=r.map((function(e){return l(e)})),c=(n.map((function(e){return l(e)})),r[p.indexOf(h)],r[p.indexOf(h)-1]);return void 0===c&&s.cssMode&&r.forEach((function(e){!c&&h>=e&&(c=e)})),void 0!==c&&(d=n.indexOf(c))<0&&(d=this.activeIndex-1),this.slideTo(d,e,t,i)},slideReset:function(e,t,i){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,i)},slideToClosest:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.activeIndex,a=Math.floor(s/this.params.slidesPerGroup);if(a<this.snapGrid.length-1){var r=this.rtlTranslate?this.translate:-this.translate,n=this.snapGrid[a];r-n>(this.snapGrid[a+1]-n)/2&&(s=this.params.slidesPerGroup)}return this.slideTo(s,e,t,i)},slideToClickedSlide:function(){var e,t=this,i=t.params,a=t.$wrapperEl,r="auto"===i.slidesPerView?t.slidesPerViewDynamic():i.slidesPerView,o=t.clickedIndex;if(i.loop){if(t.animating)return;e=parseInt(s(t.clickedSlide).attr("data-swiper-slide-index"),10),i.centeredSlides?o<t.loopedSlides-r/2||o>t.slides.length-t.loopedSlides+r/2?(t.loopFix(),o=a.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),n.nextTick((function(){t.slideTo(o)}))):t.slideTo(o):o>t.slides.length-r?(t.loopFix(),o=a.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),n.nextTick((function(){t.slideTo(o)}))):t.slideTo(o)}else t.slideTo(o)}};var v={loopCreate:function(){var t=this,i=t.params,a=t.$wrapperEl;a.children("."+i.slideClass+"."+i.slideDuplicateClass).remove();var r=a.children("."+i.slideClass);if(i.loopFillGroupWithBlank){var n=i.slidesPerGroup-r.length%i.slidesPerGroup;if(n!==i.slidesPerGroup){for(var o=0;o<n;o+=1){var l=s(e.createElement("div")).addClass(i.slideClass+" "+i.slideBlankClass);a.append(l)}r=a.children("."+i.slideClass)}}"auto"!==i.slidesPerView||i.loopedSlides||(i.loopedSlides=r.length),t.loopedSlides=Math.ceil(parseFloat(i.loopedSlides||i.slidesPerView,10)),t.loopedSlides+=i.loopAdditionalSlides,t.loopedSlides>r.length&&(t.loopedSlides=r.length);var d=[],h=[];r.each((function(e,i){var a=s(i);e<t.loopedSlides&&h.push(i),e<r.length&&e>=r.length-t.loopedSlides&&d.push(i),a.attr("data-swiper-slide-index",e)}));for(var p=0;p<h.length;p+=1)a.append(s(h[p].cloneNode(!0)).addClass(i.slideDuplicateClass));for(var c=d.length-1;c>=0;c-=1)a.prepend(s(d[c].cloneNode(!0)).addClass(i.slideDuplicateClass))},loopFix:function(){var e,t=this.params,i=this.activeIndex,s=this.slides,a=this.loopedSlides,r=this.allowSlidePrev,n=this.allowSlideNext,o=this.snapGrid,l=this.rtlTranslate;this.allowSlidePrev=!0,this.allowSlideNext=!0;var d=-o[i]-this.getTranslate();if(i<a)e=s.length-3*a+i,e+=a,this.slideTo(e,0,!1,!0)&&0!==d&&this.setTranslate((l?-this.translate:this.translate)-d);else if("auto"===t.slidesPerView&&i>=2*a||i>=s.length-a){e=-s.length+i+a,e+=a,this.slideTo(e,0,!1,!0)&&0!==d&&this.setTranslate((l?-this.translate:this.translate)-d)}this.allowSlidePrev=r,this.allowSlideNext=n},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,i=this.slides;e.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}};var f={setGrabCursor:function(e){if(!(o.touch||!this.params.simulateTouch||this.params.watchOverflow&&this.isLocked||this.params.cssMode)){var t=this.el;t.style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){o.touch||this.params.watchOverflow&&this.isLocked||this.params.cssMode||(this.el.style.cursor="")}};var m,g,b,w,y,x,E,T,C,S,M,P,z,k,$,L={appendSlide:function(e){var t=this.$wrapperEl,i=this.params;if(i.loop&&this.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s<e.length;s+=1)e[s]&&t.append(e[s]);else t.append(e);i.loop&&this.loopCreate(),i.observer&&o.observer||this.update()},prependSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&this.loopDestroy();var a=s+1;if("object"==typeof e&&"length"in e){for(var r=0;r<e.length;r+=1)e[r]&&i.prepend(e[r]);a=s+e.length}else i.prepend(e);t.loop&&this.loopCreate(),t.observer&&o.observer||this.update(),this.slideTo(a,0,!1)},addSlide:function(e,t){var i=this.$wrapperEl,s=this.params,a=this.activeIndex;s.loop&&(a-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+s.slideClass));var r=this.slides.length;if(e<=0)this.prependSlide(t);else if(e>=r)this.appendSlide(t);else{for(var n=a>e?a+1:a,l=[],d=r-1;d>=e;d-=1){var h=this.slides.eq(d);h.remove(),l.unshift(h)}if("object"==typeof t&&"length"in t){for(var p=0;p<t.length;p+=1)t[p]&&i.append(t[p]);n=a>e?a+t.length:a}else i.append(t);for(var c=0;c<l.length;c+=1)i.append(l[c]);s.loop&&this.loopCreate(),s.observer&&o.observer||this.update(),s.loop?this.slideTo(n+this.loopedSlides,0,!1):this.slideTo(n,0,!1)}},removeSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&(s-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+t.slideClass));var a,r=s;if("object"==typeof e&&"length"in e){for(var n=0;n<e.length;n+=1)a=e[n],this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1);r=Math.max(r,0)}else a=e,this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1),r=Math.max(r,0);t.loop&&this.loopCreate(),t.observer&&o.observer||this.update(),t.loop?this.slideTo(r+this.loopedSlides,0,!1):this.slideTo(r,0,!1)},removeAllSlides:function(){for(var e=[],t=0;t<this.slides.length;t+=1)e.push(t);this.removeSlide(e)}},I=(m=t.navigator.platform,g=t.navigator.userAgent,b={ios:!1,android:!1,androidChrome:!1,desktop:!1,iphone:!1,ipod:!1,ipad:!1,edge:!1,ie:!1,firefox:!1,macos:!1,windows:!1,cordova:!(!t.cordova&&!t.phonegap),phonegap:!(!t.cordova&&!t.phonegap),electron:!1},w=t.screen.width,y=t.screen.height,x=g.match(/(Android);?[\s\/]+([\d.]+)?/),E=g.match(/(iPad).*OS\s([\d_]+)/),T=g.match(/(iPod)(.*OS\s([\d_]+))?/),C=!E&&g.match(/(iPhone\sOS|iOS)\s([\d_]+)/),S=g.indexOf("MSIE ")>=0||g.indexOf("Trident/")>=0,M=g.indexOf("Edge/")>=0,P=g.indexOf("Gecko/")>=0&&g.indexOf("Firefox/")>=0,z="Win32"===m,k=g.toLowerCase().indexOf("electron")>=0,$="MacIntel"===m,!E&&$&&o.touch&&(1024===w&&1366===y||834===w&&1194===y||834===w&&1112===y||768===w&&1024===y)&&(E=g.match(/(Version)\/([\d.]+)/),$=!1),b.ie=S,b.edge=M,b.firefox=P,x&&!z&&(b.os="android",b.osVersion=x[2],b.android=!0,b.androidChrome=g.toLowerCase().indexOf("chrome")>=0),(E||C||T)&&(b.os="ios",b.ios=!0),C&&!T&&(b.osVersion=C[2].replace(/_/g,"."),b.iphone=!0),E&&(b.osVersion=E[2].replace(/_/g,"."),b.ipad=!0),T&&(b.osVersion=T[3]?T[3].replace(/_/g,"."):null,b.ipod=!0),b.ios&&b.osVersion&&g.indexOf("Version/")>=0&&"10"===b.osVersion.split(".")[0]&&(b.osVersion=g.toLowerCase().split("version/")[1].split(" ")[0]),b.webView=!(!(C||E||T)||!g.match(/.*AppleWebKit(?!.*Safari)/i)&&!t.navigator.standalone)||t.matchMedia&&t.matchMedia("(display-mode: standalone)").matches,b.webview=b.webView,b.standalone=b.webView,b.desktop=!(b.ios||b.android)||k,b.desktop&&(b.electron=k,b.macos=$,b.windows=z,b.macos&&(b.os="macos"),b.windows&&(b.os="windows")),b.pixelRatio=t.devicePixelRatio||1,b);function D(i){var a=this.touchEventsData,r=this.params,o=this.touches;if(!this.animating||!r.preventInteractionOnTransition){var l=i;l.originalEvent&&(l=l.originalEvent);var d=s(l.target);if(("wrapper"!==r.touchEventsTarget||d.closest(this.wrapperEl).length)&&(a.isTouchEvent="touchstart"===l.type,(a.isTouchEvent||!("which"in l)||3!==l.which)&&!(!a.isTouchEvent&&"button"in l&&l.button>0||a.isTouched&&a.isMoved)))if(r.noSwiping&&d.closest(r.noSwipingSelector?r.noSwipingSelector:"."+r.noSwipingClass)[0])this.allowClick=!0;else if(!r.swipeHandler||d.closest(r.swipeHandler)[0]){o.currentX="touchstart"===l.type?l.targetTouches[0].pageX:l.pageX,o.currentY="touchstart"===l.type?l.targetTouches[0].pageY:l.pageY;var h=o.currentX,p=o.currentY,c=r.edgeSwipeDetection||r.iOSEdgeSwipeDetection,u=r.edgeSwipeThreshold||r.iOSEdgeSwipeThreshold;if(!c||!(h<=u||h>=t.screen.width-u)){if(n.extend(a,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=h,o.startY=p,a.touchStartTime=n.now(),this.allowClick=!0,this.updateSize(),this.swipeDirection=void 0,r.threshold>0&&(a.allowThresholdMove=!1),"touchstart"!==l.type){var v=!0;d.is(a.formElements)&&(v=!1),e.activeElement&&s(e.activeElement).is(a.formElements)&&e.activeElement!==d[0]&&e.activeElement.blur();var f=v&&this.allowTouchMove&&r.touchStartPreventDefault;(r.touchStartForcePreventDefault||f)&&l.preventDefault()}this.emit("touchStart",l)}}}}function O(t){var i=this.touchEventsData,a=this.params,r=this.touches,o=this.rtlTranslate,l=t;if(l.originalEvent&&(l=l.originalEvent),i.isTouched){if(!i.isTouchEvent||"mousemove"!==l.type){var d="touchmove"===l.type?l.targetTouches[0].pageX:l.pageX,h="touchmove"===l.type?l.targetTouches[0].pageY:l.pageY;if(l.preventedByNestedSwiper)return r.startX=d,void(r.startY=h);if(!this.allowTouchMove)return this.allowClick=!1,void(i.isTouched&&(n.extend(r,{startX:d,startY:h,currentX:d,currentY:h}),i.touchStartTime=n.now()));if(i.isTouchEvent&&a.touchReleaseOnEdges&&!a.loop)if(this.isVertical()){if(h<r.startY&&this.translate<=this.maxTranslate()||h>r.startY&&this.translate>=this.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(d<r.startX&&this.translate<=this.maxTranslate()||d>r.startX&&this.translate>=this.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&l.target===e.activeElement&&s(l.target).is(i.formElements))return i.isMoved=!0,void(this.allowClick=!1);if(i.allowTouchCallbacks&&this.emit("touchMove",l),!(l.targetTouches&&l.targetTouches.length>1)){r.currentX=d,r.currentY=h;var p=r.currentX-r.startX,c=r.currentY-r.startY;if(!(this.params.threshold&&Math.sqrt(Math.pow(p,2)+Math.pow(c,2))<this.params.threshold)){var u;if(void 0===i.isScrolling)this.isHorizontal()&&r.currentY===r.startY||this.isVertical()&&r.currentX===r.startX?i.isScrolling=!1:p*p+c*c>=25&&(u=180*Math.atan2(Math.abs(c),Math.abs(p))/Math.PI,i.isScrolling=this.isHorizontal()?u>a.touchAngle:90-u>a.touchAngle);if(i.isScrolling&&this.emit("touchMoveOpposite",l),void 0===i.startMoving&&(r.currentX===r.startX&&r.currentY===r.startY||(i.startMoving=!0)),i.isScrolling)i.isTouched=!1;else if(i.startMoving){this.allowClick=!1,a.cssMode||l.preventDefault(),a.touchMoveStopPropagation&&!a.nested&&l.stopPropagation(),i.isMoved||(a.loop&&this.loopFix(),i.startTranslate=this.getTranslate(),this.setTransition(0),this.animating&&this.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!a.grabCursor||!0!==this.allowSlideNext&&!0!==this.allowSlidePrev||this.setGrabCursor(!0),this.emit("sliderFirstMove",l)),this.emit("sliderMove",l),i.isMoved=!0;var v=this.isHorizontal()?p:c;r.diff=v,v*=a.touchRatio,o&&(v=-v),this.swipeDirection=v>0?"prev":"next",i.currentTranslate=v+i.startTranslate;var f=!0,m=a.resistanceRatio;if(a.touchReleaseOnEdges&&(m=0),v>0&&i.currentTranslate>this.minTranslate()?(f=!1,a.resistance&&(i.currentTranslate=this.minTranslate()-1+Math.pow(-this.minTranslate()+i.startTranslate+v,m))):v<0&&i.currentTranslate<this.maxTranslate()&&(f=!1,a.resistance&&(i.currentTranslate=this.maxTranslate()+1-Math.pow(this.maxTranslate()-i.startTranslate-v,m))),f&&(l.preventedByNestedSwiper=!0),!this.allowSlideNext&&"next"===this.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!this.allowSlidePrev&&"prev"===this.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),a.threshold>0){if(!(Math.abs(v)>a.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,r.startX=r.currentX,r.startY=r.currentY,i.currentTranslate=i.startTranslate,void(r.diff=this.isHorizontal()?r.currentX-r.startX:r.currentY-r.startY)}a.followFinger&&!a.cssMode&&((a.freeMode||a.watchSlidesProgress||a.watchSlidesVisibility)&&(this.updateActiveIndex(),this.updateSlidesClasses()),a.freeMode&&(0===i.velocities.length&&i.velocities.push({position:r[this.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:r[this.isHorizontal()?"currentX":"currentY"],time:n.now()})),this.updateProgress(i.currentTranslate),this.setTranslate(i.currentTranslate))}}}}}else i.startMoving&&i.isScrolling&&this.emit("touchMoveOpposite",l)}function A(e){var t=this,i=t.touchEventsData,s=t.params,a=t.touches,r=t.rtlTranslate,o=t.$wrapperEl,l=t.slidesGrid,d=t.snapGrid,h=e;if(h.originalEvent&&(h=h.originalEvent),i.allowTouchCallbacks&&t.emit("touchEnd",h),i.allowTouchCallbacks=!1,!i.isTouched)return i.isMoved&&s.grabCursor&&t.setGrabCursor(!1),i.isMoved=!1,void(i.startMoving=!1);s.grabCursor&&i.isMoved&&i.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var p,c=n.now(),u=c-i.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(h),t.emit("tap click",h),u<300&&c-i.lastClickTime<300&&t.emit("doubleTap doubleClick",h)),i.lastClickTime=n.now(),n.nextTick((function(){t.destroyed||(t.allowClick=!0)})),!i.isTouched||!i.isMoved||!t.swipeDirection||0===a.diff||i.currentTranslate===i.startTranslate)return i.isTouched=!1,i.isMoved=!1,void(i.startMoving=!1);if(i.isTouched=!1,i.isMoved=!1,i.startMoving=!1,p=s.followFinger?r?t.translate:-t.translate:-i.currentTranslate,!s.cssMode)if(s.freeMode){if(p<-t.minTranslate())return void t.slideTo(t.activeIndex);if(p>-t.maxTranslate())return void(t.slides.length<d.length?t.slideTo(d.length-1):t.slideTo(t.slides.length-1));if(s.freeModeMomentum){if(i.velocities.length>1){var v=i.velocities.pop(),f=i.velocities.pop(),m=v.position-f.position,g=v.time-f.time;t.velocity=m/g,t.velocity/=2,Math.abs(t.velocity)<s.freeModeMinimumVelocity&&(t.velocity=0),(g>150||n.now()-v.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=s.freeModeMomentumVelocityRatio,i.velocities.length=0;var b=1e3*s.freeModeMomentumRatio,w=t.velocity*b,y=t.translate+w;r&&(y=-y);var x,E,T=!1,C=20*Math.abs(t.velocity)*s.freeModeMomentumBounceRatio;if(y<t.maxTranslate())s.freeModeMomentumBounce?(y+t.maxTranslate()<-C&&(y=t.maxTranslate()-C),x=t.maxTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.maxTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(y>t.minTranslate())s.freeModeMomentumBounce?(y-t.minTranslate()>C&&(y=t.minTranslate()+C),x=t.minTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.minTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(s.freeModeSticky){for(var S,M=0;M<d.length;M+=1)if(d[M]>-y){S=M;break}y=-(y=Math.abs(d[S]-y)<Math.abs(d[S-1]-y)||"next"===t.swipeDirection?d[S]:d[S-1])}if(E&&t.once("transitionEnd",(function(){t.loopFix()})),0!==t.velocity)b=r?Math.abs((-y-t.translate)/t.velocity):Math.abs((y-t.translate)/t.velocity);else if(s.freeModeSticky)return void t.slideToClosest();s.freeModeMomentumBounce&&T?(t.updateProgress(x),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating=!0,o.transitionEnd((function(){t&&!t.destroyed&&i.allowMomentumBounce&&(t.emit("momentumBounce"),t.setTransition(s.speed),t.setTranslate(x),o.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))}))):t.velocity?(t.updateProgress(y),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,o.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(y),t.updateActiveIndex(),t.updateSlidesClasses()}else if(s.freeModeSticky)return void t.slideToClosest();(!s.freeModeMomentum||u>=s.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var P=0,z=t.slidesSizesGrid[0],k=0;k<l.length;k+=s.slidesPerGroup)void 0!==l[k+s.slidesPerGroup]?p>=l[k]&&p<l[k+s.slidesPerGroup]&&(P=k,z=l[k+s.slidesPerGroup]-l[k]):p>=l[k]&&(P=k,z=l[l.length-1]-l[l.length-2]);var $=(p-l[P])/z;if(u>s.longSwipesMs){if(!s.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&($>=s.longSwipesRatio?t.slideTo(P+s.slidesPerGroup):t.slideTo(P)),"prev"===t.swipeDirection&&($>1-s.longSwipesRatio?t.slideTo(P+s.slidesPerGroup):t.slideTo(P))}else{if(!s.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(h.target===t.navigation.nextEl||h.target===t.navigation.prevEl)?h.target===t.navigation.nextEl?t.slideTo(P+s.slidesPerGroup):t.slideTo(P):("next"===t.swipeDirection&&t.slideTo(P+s.slidesPerGroup),"prev"===t.swipeDirection&&t.slideTo(P))}}}function G(){var e=this.params,t=this.el;if(!t||0!==t.offsetWidth){e.breakpoints&&this.setBreakpoint();var i=this.allowSlideNext,s=this.allowSlidePrev,a=this.snapGrid;if(this.allowSlideNext=!0,this.allowSlidePrev=!0,this.updateSize(),this.updateSlides(),e.freeMode){var r=Math.min(Math.max(this.translate,this.maxTranslate()),this.minTranslate());this.setTranslate(r),this.updateActiveIndex(),this.updateSlidesClasses(),e.autoHeight&&this.updateAutoHeight()}else this.updateSlidesClasses(),("auto"===e.slidesPerView||e.slidesPerView>1)&&this.isEnd&&!this.params.centeredSlides?this.slideTo(this.slides.length-1,0,!1,!0):this.slideTo(this.activeIndex,0,!1,!0);this.autoplay&&this.autoplay.running&&this.autoplay.paused&&this.autoplay.run(),this.allowSlidePrev=s,this.allowSlideNext=i,this.params.watchOverflow&&a!==this.snapGrid&&this.checkOverflow()}}function H(e){this.allowClick||(this.params.preventClicks&&e.preventDefault(),this.params.preventClicksPropagation&&this.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function N(){var e=this.wrapperEl;this.previousTranslate=this.translate,this.translate=this.isHorizontal()?-e.scrollLeft:-e.scrollTop,-0===this.translate&&(this.translate=0),this.updateActiveIndex(),this.updateSlidesClasses();var t=this.maxTranslate()-this.minTranslate();(0===t?0:(this.translate-this.minTranslate())/t)!==this.progress&&this.updateProgress(this.translate),this.emit("setTranslate",this.translate,!1)}var B={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,preventInteractionOnTransition:!1,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0},V={update:h,translate:p,transition:c,slide:u,loop:v,grabCursor:f,manipulation:L,events:{attachEvents:function(){var t=this.params,i=this.touchEvents,s=this.el,a=this.wrapperEl;this.onTouchStart=D.bind(this),this.onTouchMove=O.bind(this),this.onTouchEnd=A.bind(this),t.cssMode&&(this.onScroll=N.bind(this)),this.onClick=H.bind(this);var r=!!t.nested;if(!o.touch&&o.pointerEvents)s.addEventListener(i.start,this.onTouchStart,!1),e.addEventListener(i.move,this.onTouchMove,r),e.addEventListener(i.end,this.onTouchEnd,!1);else{if(o.touch){var n=!("touchstart"!==i.start||!o.passiveListener||!t.passiveListeners)&&{passive:!0,capture:!1};s.addEventListener(i.start,this.onTouchStart,n),s.addEventListener(i.move,this.onTouchMove,o.passiveListener?{passive:!1,capture:r}:r),s.addEventListener(i.end,this.onTouchEnd,n),i.cancel&&s.addEventListener(i.cancel,this.onTouchEnd,n)}(t.simulateTouch&&!I.ios&&!I.android||t.simulateTouch&&!o.touch&&I.ios)&&(s.addEventListener("mousedown",this.onTouchStart,!1),e.addEventListener("mousemove",this.onTouchMove,r),e.addEventListener("mouseup",this.onTouchEnd,!1))}(t.preventClicks||t.preventClicksPropagation)&&s.addEventListener("click",this.onClick,!0),t.cssMode&&a.addEventListener("scroll",this.onScroll),this.on(I.ios||I.android?"resize orientationchange observerUpdate":"resize observerUpdate",G,!0)},detachEvents:function(){var t=this.params,i=this.touchEvents,s=this.el,a=this.wrapperEl,r=!!t.nested;if(!o.touch&&o.pointerEvents)s.removeEventListener(i.start,this.onTouchStart,!1),e.removeEventListener(i.move,this.onTouchMove,r),e.removeEventListener(i.end,this.onTouchEnd,!1);else{if(o.touch){var n=!("onTouchStart"!==i.start||!o.passiveListener||!t.passiveListeners)&&{passive:!0,capture:!1};s.removeEventListener(i.start,this.onTouchStart,n),s.removeEventListener(i.move,this.onTouchMove,r),s.removeEventListener(i.end,this.onTouchEnd,n),i.cancel&&s.removeEventListener(i.cancel,this.onTouchEnd,n)}(t.simulateTouch&&!I.ios&&!I.android||t.simulateTouch&&!o.touch&&I.ios)&&(s.removeEventListener("mousedown",this.onTouchStart,!1),e.removeEventListener("mousemove",this.onTouchMove,r),e.removeEventListener("mouseup",this.onTouchEnd,!1))}(t.preventClicks||t.preventClicksPropagation)&&s.removeEventListener("click",this.onClick,!0),t.cssMode&&a.removeEventListener("scroll",this.onScroll),this.off(I.ios||I.android?"resize orientationchange observerUpdate":"resize observerUpdate",G)}},breakpoints:{setBreakpoint:function(){var e=this.activeIndex,t=this.initialized,i=this.loopedSlides;void 0===i&&(i=0);var s=this.params,a=this.$el,r=s.breakpoints;if(r&&(!r||0!==Object.keys(r).length)){var o=this.getBreakpoint(r);if(o&&this.currentBreakpoint!==o){var l=o in r?r[o]:void 0;l&&["slidesPerView","spaceBetween","slidesPerGroup","slidesPerColumn"].forEach((function(e){var t=l[e];void 0!==t&&(l[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")}));var d=l||this.originalParams,h=s.slidesPerColumn>1,p=d.slidesPerColumn>1;h&&!p?a.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"):!h&&p&&(a.addClass(s.containerModifierClass+"multirow"),"column"===d.slidesPerColumnFill&&a.addClass(s.containerModifierClass+"multirow-column"));var c=d.direction&&d.direction!==s.direction,u=s.loop&&(d.slidesPerView!==s.slidesPerView||c);c&&t&&this.changeDirection(),n.extend(this.params,d),n.extend(this,{allowTouchMove:this.params.allowTouchMove,allowSlideNext:this.params.allowSlideNext,allowSlidePrev:this.params.allowSlidePrev}),this.currentBreakpoint=o,u&&t&&(this.loopDestroy(),this.loopCreate(),this.updateSlides(),this.slideTo(e-i+this.loopedSlides,0,!1)),this.emit("breakpoint",d)}}},getBreakpoint:function(e){if(e){var i=!1,s=[];Object.keys(e).forEach((function(e){s.push(e)})),s.sort((function(e,t){return parseInt(e,10)-parseInt(t,10)}));for(var a=0;a<s.length;a+=1){var r=s[a];r<=t.innerWidth&&(i=r)}return i||"max"}}},checkOverflow:{checkOverflow:function(){var e=this.isLocked;this.isLocked=1===this.snapGrid.length,this.allowSlideNext=!this.isLocked,this.allowSlidePrev=!this.isLocked,e!==this.isLocked&&this.emit(this.isLocked?"lock":"unlock"),e&&e!==this.isLocked&&(this.isEnd=!1,this.navigation.update())}},classes:{addClasses:function(){var e=this.classNames,t=this.params,i=this.rtl,s=this.$el,a=[];a.push("initialized"),a.push(t.direction),t.freeMode&&a.push("free-mode"),t.autoHeight&&a.push("autoheight"),i&&a.push("rtl"),t.slidesPerColumn>1&&(a.push("multirow"),"column"===t.slidesPerColumnFill&&a.push("multirow-column")),I.android&&a.push("android"),I.ios&&a.push("ios"),t.cssMode&&a.push("css-mode"),a.forEach((function(i){e.push(t.containerModifierClass+i)})),s.addClass(e.join(" "))},removeClasses:function(){var e=this.$el,t=this.classNames;e.removeClass(t.join(" "))}},images:{loadImage:function(e,i,s,a,r,n){var o;function l(){n&&n()}e.complete&&r?l():i?((o=new t.Image).onload=l,o.onerror=l,a&&(o.sizes=a),s&&(o.srcset=s),i&&(o.src=i)):l()},preloadImages:function(){var e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var i=0;i<e.imagesToLoad.length;i+=1){var s=e.imagesToLoad[i];e.loadImage(s,s.currentSrc||s.getAttribute("src"),s.srcset||s.getAttribute("srcset"),s.sizes||s.getAttribute("sizes"),!0,t)}}}},X={},Y=function(e){function t(){for(var i,a,r,l=[],d=arguments.length;d--;)l[d]=arguments[d];1===l.length&&l[0].constructor&&l[0].constructor===Object?r=l[0]:(a=(i=l)[0],r=i[1]),r||(r={}),r=n.extend({},r),a&&!r.el&&(r.el=a),e.call(this,r),Object.keys(V).forEach((function(e){Object.keys(V[e]).forEach((function(i){t.prototype[i]||(t.prototype[i]=V[e][i])}))}));var h=this;void 0===h.modules&&(h.modules={}),Object.keys(h.modules).forEach((function(e){var t=h.modules[e];if(t.params){var i=Object.keys(t.params)[0],s=t.params[i];if("object"!=typeof s||null===s)return;if(!(i in r&&"enabled"in s))return;!0===r[i]&&(r[i]={enabled:!0}),"object"!=typeof r[i]||"enabled"in r[i]||(r[i].enabled=!0),r[i]||(r[i]={enabled:!1})}}));var p=n.extend({},B);h.useModulesParams(p),h.params=n.extend({},p,X,r),h.originalParams=n.extend({},h.params),h.passedParams=n.extend({},r),h.$=s;var c=s(h.params.el);if(a=c[0]){if(c.length>1){var u=[];return c.each((function(e,i){var s=n.extend({},r,{el:i});u.push(new t(s))})),u}var v,f,m;return a.swiper=h,c.data("swiper",h),a&&a.shadowRoot&&a.shadowRoot.querySelector?(v=s(a.shadowRoot.querySelector("."+h.params.wrapperClass))).children=function(e){return c.children(e)}:v=c.children("."+h.params.wrapperClass),n.extend(h,{$el:c,el:a,$wrapperEl:v,wrapperEl:v[0],classNames:[],slides:s(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===h.params.direction},isVertical:function(){return"vertical"===h.params.direction},rtl:"rtl"===a.dir.toLowerCase()||"rtl"===c.css("direction"),rtlTranslate:"horizontal"===h.params.direction&&("rtl"===a.dir.toLowerCase()||"rtl"===c.css("direction")),wrongRTL:"-webkit-box"===v.css("display"),activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:h.params.allowSlideNext,allowSlidePrev:h.params.allowSlidePrev,touchEvents:(f=["touchstart","touchmove","touchend","touchcancel"],m=["mousedown","mousemove","mouseup"],o.pointerEvents&&(m=["pointerdown","pointermove","pointerup"]),h.touchEventsTouch={start:f[0],move:f[1],end:f[2],cancel:f[3]},h.touchEventsDesktop={start:m[0],move:m[1],end:m[2]},o.touch||!h.params.simulateTouch?h.touchEventsTouch:h.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,formElements:"input, select, option, textarea, button, video",lastClickTime:n.now(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:h.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),h.useModules(),h.params.init&&h.init(),h}}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var i={extendedDefaults:{configurable:!0},defaults:{configurable:!0},Class:{configurable:!0},$:{configurable:!0}};return t.prototype.slidesPerViewDynamic=function(){var e=this.params,t=this.slides,i=this.slidesGrid,s=this.size,a=this.activeIndex,r=1;if(e.centeredSlides){for(var n,o=t[a].swiperSlideSize,l=a+1;l<t.length;l+=1)t[l]&&!n&&(r+=1,(o+=t[l].swiperSlideSize)>s&&(n=!0));for(var d=a-1;d>=0;d-=1)t[d]&&!n&&(r+=1,(o+=t[d].swiperSlideSize)>s&&(n=!0))}else for(var h=a+1;h<t.length;h+=1)i[h]-i[a]<s&&(r+=1);return r},t.prototype.update=function(){var e=this;if(e&&!e.destroyed){var t=e.snapGrid,i=e.params;i.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode?(s(),e.params.autoHeight&&e.updateAutoHeight()):(("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||s(),i.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function s(){var t=e.rtlTranslate?-1*e.translate:e.translate,i=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(i),e.updateActiveIndex(),e.updateSlidesClasses()}},t.prototype.changeDirection=function(e,t){void 0===t&&(t=!0);var i=this.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e?this:(this.$el.removeClass(""+this.params.containerModifierClass+i).addClass(""+this.params.containerModifierClass+e),this.params.direction=e,this.slides.each((function(t,i){"vertical"===e?i.style.width="":i.style.height=""})),this.emit("changeDirection"),t&&this.update(),this)},t.prototype.init=function(){this.initialized||(this.emit("beforeInit"),this.params.breakpoints&&this.setBreakpoint(),this.addClasses(),this.params.loop&&this.loopCreate(),this.updateSize(),this.updateSlides(),this.params.watchOverflow&&this.checkOverflow(),this.params.grabCursor&&this.setGrabCursor(),this.params.preloadImages&&this.preloadImages(),this.params.loop?this.slideTo(this.params.initialSlide+this.loopedSlides,0,this.params.runCallbacksOnInit):this.slideTo(this.params.initialSlide,0,this.params.runCallbacksOnInit),this.attachEvents(),this.initialized=!0,this.emit("init"))},t.prototype.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var i=this,s=i.params,a=i.$el,r=i.$wrapperEl,o=i.slides;return void 0===i.params||i.destroyed?null:(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),t&&(i.removeClasses(),a.removeAttr("style"),r.removeAttr("style"),o&&o.length&&o.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach((function(e){i.off(e)})),!1!==e&&(i.$el[0].swiper=null,i.$el.data("swiper",null),n.deleteProps(i)),i.destroyed=!0,null)},t.extendDefaults=function(e){n.extend(X,e)},i.extendedDefaults.get=function(){return X},i.defaults.get=function(){return B},i.Class.get=function(){return e},i.$.get=function(){return s},Object.defineProperties(t,i),t}(l),F={name:"device",proto:{device:I},static:{device:I}},R={name:"support",proto:{support:o},static:{support:o}},q={isEdge:!!t.navigator.userAgent.match(/Edge/g),isSafari:function(){var e=t.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)},W={name:"browser",proto:{browser:q},static:{browser:q}},j={name:"resize",create:function(){var e=this;n.extend(e,{resize:{resizeHandler:function(){e&&!e.destroyed&&e.initialized&&(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){e&&!e.destroyed&&e.initialized&&e.emit("orientationchange")}}})},on:{init:function(){t.addEventListener("resize",this.resize.resizeHandler),t.addEventListener("orientationchange",this.resize.orientationChangeHandler)},destroy:function(){t.removeEventListener("resize",this.resize.resizeHandler),t.removeEventListener("orientationchange",this.resize.orientationChangeHandler)}}},K={func:t.MutationObserver||t.WebkitMutationObserver,attach:function(e,i){void 0===i&&(i={});var s=this,a=new(0,K.func)((function(e){if(1!==e.length){var i=function(){s.emit("observerUpdate",e[0])};t.requestAnimationFrame?t.requestAnimationFrame(i):t.setTimeout(i,0)}else s.emit("observerUpdate",e[0])}));a.observe(e,{attributes:void 0===i.attributes||i.attributes,childList:void 0===i.childList||i.childList,characterData:void 0===i.characterData||i.characterData}),s.observer.observers.push(a)},init:function(){if(o.observer&&this.params.observer){if(this.params.observeParents)for(var e=this.$el.parents(),t=0;t<e.length;t+=1)this.observer.attach(e[t]);this.observer.attach(this.$el[0],{childList:this.params.observeSlideChildren}),this.observer.attach(this.$wrapperEl[0],{attributes:!1})}},destroy:function(){this.observer.observers.forEach((function(e){e.disconnect()})),this.observer.observers=[]}},U={name:"observer",params:{observer:!1,observeParents:!1,observeSlideChildren:!1},create:function(){n.extend(this,{observer:{init:K.init.bind(this),attach:K.attach.bind(this),destroy:K.destroy.bind(this),observers:[]}})},on:{init:function(){this.observer.init()},destroy:function(){this.observer.destroy()}}},_={update:function(e){var t=this,i=t.params,s=i.slidesPerView,a=i.slidesPerGroup,r=i.centeredSlides,o=t.params.virtual,l=o.addSlidesBefore,d=o.addSlidesAfter,h=t.virtual,p=h.from,c=h.to,u=h.slides,v=h.slidesGrid,f=h.renderSlide,m=h.offset;t.updateActiveIndex();var g,b,w,y=t.activeIndex||0;g=t.rtlTranslate?"right":t.isHorizontal()?"left":"top",r?(b=Math.floor(s/2)+a+l,w=Math.floor(s/2)+a+d):(b=s+(a-1)+l,w=a+d);var x=Math.max((y||0)-w,0),E=Math.min((y||0)+b,u.length-1),T=(t.slidesGrid[x]||0)-(t.slidesGrid[0]||0);function C(){t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),t.lazy&&t.params.lazy.enabled&&t.lazy.load()}if(n.extend(t.virtual,{from:x,to:E,offset:T,slidesGrid:t.slidesGrid}),p===x&&c===E&&!e)return t.slidesGrid!==v&&T!==m&&t.slides.css(g,T+"px"),void t.updateProgress();if(t.params.virtual.renderExternal)return t.params.virtual.renderExternal.call(t,{offset:T,from:x,to:E,slides:function(){for(var e=[],t=x;t<=E;t+=1)e.push(u[t]);return e}()}),void C();var S=[],M=[];if(e)t.$wrapperEl.find("."+t.params.slideClass).remove();else for(var P=p;P<=c;P+=1)(P<x||P>E)&&t.$wrapperEl.find("."+t.params.slideClass+'[data-swiper-slide-index="'+P+'"]').remove();for(var z=0;z<u.length;z+=1)z>=x&&z<=E&&(void 0===c||e?M.push(z):(z>c&&M.push(z),z<p&&S.push(z)));M.forEach((function(e){t.$wrapperEl.append(f(u[e],e))})),S.sort((function(e,t){return t-e})).forEach((function(e){t.$wrapperEl.prepend(f(u[e],e))})),t.$wrapperEl.children(".swiper-slide").css(g,T+"px"),C()},renderSlide:function(e,t){var i=this.params.virtual;if(i.cache&&this.virtual.cache[t])return this.virtual.cache[t];var a=i.renderSlide?s(i.renderSlide.call(this,e,t)):s('<div class="'+this.params.slideClass+'" data-swiper-slide-index="'+t+'">'+e+"</div>");return a.attr("data-swiper-slide-index")||a.attr("data-swiper-slide-index",t),i.cache&&(this.virtual.cache[t]=a),a},appendSlide:function(e){if("object"==typeof e&&"length"in e)for(var t=0;t<e.length;t+=1)e[t]&&this.virtual.slides.push(e[t]);else this.virtual.slides.push(e);this.virtual.update(!0)},prependSlide:function(e){var t=this.activeIndex,i=t+1,s=1;if(Array.isArray(e)){for(var a=0;a<e.length;a+=1)e[a]&&this.virtual.slides.unshift(e[a]);i=t+e.length,s=e.length}else this.virtual.slides.unshift(e);if(this.params.virtual.cache){var r=this.virtual.cache,n={};Object.keys(r).forEach((function(e){var t=r[e],i=t.attr("data-swiper-slide-index");i&&t.attr("data-swiper-slide-index",parseInt(i,10)+1),n[parseInt(e,10)+s]=t})),this.virtual.cache=n}this.virtual.update(!0),this.slideTo(i,0)},removeSlide:function(e){if(null!=e){var t=this.activeIndex;if(Array.isArray(e))for(var i=e.length-1;i>=0;i-=1)this.virtual.slides.splice(e[i],1),this.params.virtual.cache&&delete this.virtual.cache[e[i]],e[i]<t&&(t-=1),t=Math.max(t,0);else this.virtual.slides.splice(e,1),this.params.virtual.cache&&delete this.virtual.cache[e],e<t&&(t-=1),t=Math.max(t,0);this.virtual.update(!0),this.slideTo(t,0)}},removeAllSlides:function(){this.virtual.slides=[],this.params.virtual.cache&&(this.virtual.cache={}),this.virtual.update(!0),this.slideTo(0,0)}},Z={name:"virtual",params:{virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,addSlidesBefore:0,addSlidesAfter:0}},create:function(){n.extend(this,{virtual:{update:_.update.bind(this),appendSlide:_.appendSlide.bind(this),prependSlide:_.prependSlide.bind(this),removeSlide:_.removeSlide.bind(this),removeAllSlides:_.removeAllSlides.bind(this),renderSlide:_.renderSlide.bind(this),slides:this.params.virtual.slides,cache:{}}})},on:{beforeInit:function(){if(this.params.virtual.enabled){this.classNames.push(this.params.containerModifierClass+"virtual");var e={watchSlidesProgress:!0};n.extend(this.params,e),n.extend(this.originalParams,e),this.params.initialSlide||this.virtual.update()}},setTranslate:function(){this.params.virtual.enabled&&this.virtual.update()}}},Q={handle:function(i){var s=this.rtlTranslate,a=i;a.originalEvent&&(a=a.originalEvent);var r=a.keyCode||a.charCode;if(!this.allowSlideNext&&(this.isHorizontal()&&39===r||this.isVertical()&&40===r||34===r))return!1;if(!this.allowSlidePrev&&(this.isHorizontal()&&37===r||this.isVertical()&&38===r||33===r))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||e.activeElement&&e.activeElement.nodeName&&("input"===e.activeElement.nodeName.toLowerCase()||"textarea"===e.activeElement.nodeName.toLowerCase()))){if(this.params.keyboard.onlyInViewport&&(33===r||34===r||37===r||39===r||38===r||40===r)){var n=!1;if(this.$el.parents("."+this.params.slideClass).length>0&&0===this.$el.parents("."+this.params.slideActiveClass).length)return;var o=t.innerWidth,l=t.innerHeight,d=this.$el.offset();s&&(d.left-=this.$el[0].scrollLeft);for(var h=[[d.left,d.top],[d.left+this.width,d.top],[d.left,d.top+this.height],[d.left+this.width,d.top+this.height]],p=0;p<h.length;p+=1){var c=h[p];c[0]>=0&&c[0]<=o&&c[1]>=0&&c[1]<=l&&(n=!0)}if(!n)return}this.isHorizontal()?(33!==r&&34!==r&&37!==r&&39!==r||(a.preventDefault?a.preventDefault():a.returnValue=!1),(34!==r&&39!==r||s)&&(33!==r&&37!==r||!s)||this.slideNext(),(33!==r&&37!==r||s)&&(34!==r&&39!==r||!s)||this.slidePrev()):(33!==r&&34!==r&&38!==r&&40!==r||(a.preventDefault?a.preventDefault():a.returnValue=!1),34!==r&&40!==r||this.slideNext(),33!==r&&38!==r||this.slidePrev()),this.emit("keyPress",r)}},enable:function(){this.keyboard.enabled||(s(e).on("keydown",this.keyboard.handle),this.keyboard.enabled=!0)},disable:function(){this.keyboard.enabled&&(s(e).off("keydown",this.keyboard.handle),this.keyboard.enabled=!1)}},J={name:"keyboard",params:{keyboard:{enabled:!1,onlyInViewport:!0}},create:function(){n.extend(this,{keyboard:{enabled:!1,enable:Q.enable.bind(this),disable:Q.disable.bind(this),handle:Q.handle.bind(this)}})},on:{init:function(){this.params.keyboard.enabled&&this.keyboard.enable()},destroy:function(){this.keyboard.enabled&&this.keyboard.disable()}}};var ee={lastScrollTime:n.now(),event:function(){return t.navigator.userAgent.indexOf("firefox")>-1?"DOMMouseScroll":function(){var t="onwheel"in e;if(!t){var i=e.createElement("div");i.setAttribute("onwheel","return;"),t="function"==typeof i.onwheel}return!t&&e.implementation&&e.implementation.hasFeature&&!0!==e.implementation.hasFeature("","")&&(t=e.implementation.hasFeature("Events.wheel","3.0")),t}()?"wheel":"mousewheel"},normalize:function(e){var t=0,i=0,s=0,a=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),s=10*t,a=10*i,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=a,a=0),(s||a)&&e.deltaMode&&(1===e.deltaMode?(s*=40,a*=40):(s*=800,a*=800)),s&&!t&&(t=s<1?-1:1),a&&!i&&(i=a<1?-1:1),{spinX:t,spinY:i,pixelX:s,pixelY:a}},handleMouseEnter:function(){this.mouseEntered=!0},handleMouseLeave:function(){this.mouseEntered=!1},handle:function(e){var i=e,s=this,a=s.params.mousewheel;if(s.params.cssMode&&i.preventDefault(),!s.mouseEntered&&!a.releaseOnEdges)return!0;i.originalEvent&&(i=i.originalEvent);var r=0,o=s.rtlTranslate?-1:1,l=ee.normalize(i);if(a.forceToAxis)if(s.isHorizontal()){if(!(Math.abs(l.pixelX)>Math.abs(l.pixelY)))return!0;r=l.pixelX*o}else{if(!(Math.abs(l.pixelY)>Math.abs(l.pixelX)))return!0;r=l.pixelY}else r=Math.abs(l.pixelX)>Math.abs(l.pixelY)?-l.pixelX*o:-l.pixelY;if(0===r)return!0;if(a.invert&&(r=-r),s.params.freeMode){s.params.loop&&s.loopFix();var d=s.getTranslate()+r*a.sensitivity,h=s.isBeginning,p=s.isEnd;if(d>=s.minTranslate()&&(d=s.minTranslate()),d<=s.maxTranslate()&&(d=s.maxTranslate()),s.setTransition(0),s.setTranslate(d),s.updateProgress(),s.updateActiveIndex(),s.updateSlidesClasses(),(!h&&s.isBeginning||!p&&s.isEnd)&&s.updateSlidesClasses(),s.params.freeModeSticky&&(clearTimeout(s.mousewheel.timeout),s.mousewheel.timeout=n.nextTick((function(){s.slideToClosest()}),300)),s.emit("scroll",i),s.params.autoplay&&s.params.autoplayDisableOnInteraction&&s.autoplay.stop(),d===s.minTranslate()||d===s.maxTranslate())return!0}else{if(n.now()-s.mousewheel.lastScrollTime>60)if(r<0)if(s.isEnd&&!s.params.loop||s.animating){if(a.releaseOnEdges)return!0}else s.slideNext(),s.emit("scroll",i);else if(s.isBeginning&&!s.params.loop||s.animating){if(a.releaseOnEdges)return!0}else s.slidePrev(),s.emit("scroll",i);s.mousewheel.lastScrollTime=(new t.Date).getTime()}return i.preventDefault?i.preventDefault():i.returnValue=!1,!1},enable:function(){var e=ee.event();if(this.params.cssMode)return this.wrapperEl.removeEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=s(this.params.mousewheel.eventsTarged)),t.on("mouseenter",this.mousewheel.handleMouseEnter),t.on("mouseleave",this.mousewheel.handleMouseLeave),t.on(e,this.mousewheel.handle),this.mousewheel.enabled=!0,!0},disable:function(){var e=ee.event();if(this.params.cssMode)return this.wrapperEl.addEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(!this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=s(this.params.mousewheel.eventsTarged)),t.off(e,this.mousewheel.handle),this.mousewheel.enabled=!1,!0}},te={update:function(){var e=this.params.navigation;if(!this.params.loop){var t=this.navigation,i=t.$nextEl,s=t.$prevEl;s&&s.length>0&&(this.isBeginning?s.addClass(e.disabledClass):s.removeClass(e.disabledClass),s[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass)),i&&i.length>0&&(this.isEnd?i.addClass(e.disabledClass):i.removeClass(e.disabledClass),i[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(e){e.preventDefault(),this.isBeginning&&!this.params.loop||this.slidePrev()},onNextClick:function(e){e.preventDefault(),this.isEnd&&!this.params.loop||this.slideNext()},init:function(){var e,t,i=this.params.navigation;(i.nextEl||i.prevEl)&&(i.nextEl&&(e=s(i.nextEl),this.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===this.$el.find(i.nextEl).length&&(e=this.$el.find(i.nextEl))),i.prevEl&&(t=s(i.prevEl),this.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===this.$el.find(i.prevEl).length&&(t=this.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",this.navigation.onNextClick),t&&t.length>0&&t.on("click",this.navigation.onPrevClick),n.extend(this.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}))},destroy:function(){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;t&&t.length&&(t.off("click",this.navigation.onNextClick),t.removeClass(this.params.navigation.disabledClass)),i&&i.length&&(i.off("click",this.navigation.onPrevClick),i.removeClass(this.params.navigation.disabledClass))}},ie={update:function(){var e=this.rtl,t=this.params.pagination;if(t.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var i,a=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,r=this.pagination.$el,n=this.params.loop?Math.ceil((a-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length;if(this.params.loop?((i=Math.ceil((this.activeIndex-this.loopedSlides)/this.params.slidesPerGroup))>a-1-2*this.loopedSlides&&(i-=a-2*this.loopedSlides),i>n-1&&(i-=n),i<0&&"bullets"!==this.params.paginationType&&(i=n+i)):i=void 0!==this.snapIndex?this.snapIndex:this.activeIndex||0,"bullets"===t.type&&this.pagination.bullets&&this.pagination.bullets.length>0){var o,l,d,h=this.pagination.bullets;if(t.dynamicBullets&&(this.pagination.bulletSize=h.eq(0)[this.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(this.isHorizontal()?"width":"height",this.pagination.bulletSize*(t.dynamicMainBullets+4)+"px"),t.dynamicMainBullets>1&&void 0!==this.previousIndex&&(this.pagination.dynamicBulletIndex+=i-this.previousIndex,this.pagination.dynamicBulletIndex>t.dynamicMainBullets-1?this.pagination.dynamicBulletIndex=t.dynamicMainBullets-1:this.pagination.dynamicBulletIndex<0&&(this.pagination.dynamicBulletIndex=0)),o=i-this.pagination.dynamicBulletIndex,d=((l=o+(Math.min(h.length,t.dynamicMainBullets)-1))+o)/2),h.removeClass(t.bulletActiveClass+" "+t.bulletActiveClass+"-next "+t.bulletActiveClass+"-next-next "+t.bulletActiveClass+"-prev "+t.bulletActiveClass+"-prev-prev "+t.bulletActiveClass+"-main"),r.length>1)h.each((function(e,a){var r=s(a),n=r.index();n===i&&r.addClass(t.bulletActiveClass),t.dynamicBullets&&(n>=o&&n<=l&&r.addClass(t.bulletActiveClass+"-main"),n===o&&r.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),n===l&&r.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next"))}));else if(h.eq(i).addClass(t.bulletActiveClass),t.dynamicBullets){for(var p=h.eq(o),c=h.eq(l),u=o;u<=l;u+=1)h.eq(u).addClass(t.bulletActiveClass+"-main");p.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),c.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next")}if(t.dynamicBullets){var v=Math.min(h.length,t.dynamicMainBullets+4),f=(this.pagination.bulletSize*v-this.pagination.bulletSize)/2-d*this.pagination.bulletSize,m=e?"right":"left";h.css(this.isHorizontal()?m:"top",f+"px")}}if("fraction"===t.type&&(r.find("."+t.currentClass).text(t.formatFractionCurrent(i+1)),r.find("."+t.totalClass).text(t.formatFractionTotal(n))),"progressbar"===t.type){var g;g=t.progressbarOpposite?this.isHorizontal()?"vertical":"horizontal":this.isHorizontal()?"horizontal":"vertical";var b=(i+1)/n,w=1,y=1;"horizontal"===g?w=b:y=b,r.find("."+t.progressbarFillClass).transform("translate3d(0,0,0) scaleX("+w+") scaleY("+y+")").transition(this.params.speed)}"custom"===t.type&&t.renderCustom?(r.html(t.renderCustom(this,i+1,n)),this.emit("paginationRender",this,r[0])):this.emit("paginationUpdate",this,r[0]),r[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](t.lockClass)}},render:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,i=this.pagination.$el,s="";if("bullets"===e.type){for(var a=this.params.loop?Math.ceil((t-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length,r=0;r<a;r+=1)e.renderBullet?s+=e.renderBullet.call(this,r,e.bulletClass):s+="<"+e.bulletElement+' class="'+e.bulletClass+'"></'+e.bulletElement+">";i.html(s),this.pagination.bullets=i.find("."+e.bulletClass)}"fraction"===e.type&&(s=e.renderFraction?e.renderFraction.call(this,e.currentClass,e.totalClass):'<span class="'+e.currentClass+'"></span> / <span class="'+e.totalClass+'"></span>',i.html(s)),"progressbar"===e.type&&(s=e.renderProgressbar?e.renderProgressbar.call(this,e.progressbarFillClass):'<span class="'+e.progressbarFillClass+'"></span>',i.html(s)),"custom"!==e.type&&this.emit("paginationRender",this.pagination.$el[0])}},init:function(){var e=this,t=e.params.pagination;if(t.el){var i=s(t.el);0!==i.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&i.length>1&&1===e.$el.find(t.el).length&&(i=e.$el.find(t.el)),"bullets"===t.type&&t.clickable&&i.addClass(t.clickableClass),i.addClass(t.modifierClass+t.type),"bullets"===t.type&&t.dynamicBullets&&(i.addClass(""+t.modifierClass+t.type+"-dynamic"),e.pagination.dynamicBulletIndex=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&i.addClass(t.progressbarOppositeClass),t.clickable&&i.on("click","."+t.bulletClass,(function(t){t.preventDefault();var i=s(this).index()*e.params.slidesPerGroup;e.params.loop&&(i+=e.loopedSlides),e.slideTo(i)})),n.extend(e.pagination,{$el:i,el:i[0]}))}},destroy:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.pagination.$el;t.removeClass(e.hiddenClass),t.removeClass(e.modifierClass+e.type),this.pagination.bullets&&this.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&t.off("click","."+e.bulletClass)}}},se={setTranslate:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=this.rtlTranslate,i=this.progress,s=e.dragSize,a=e.trackSize,r=e.$dragEl,n=e.$el,o=this.params.scrollbar,l=s,d=(a-s)*i;t?(d=-d)>0?(l=s-d,d=0):-d+s>a&&(l=a+d):d<0?(l=s+d,d=0):d+s>a&&(l=a-d),this.isHorizontal()?(r.transform("translate3d("+d+"px, 0, 0)"),r[0].style.width=l+"px"):(r.transform("translate3d(0px, "+d+"px, 0)"),r[0].style.height=l+"px"),o.hide&&(clearTimeout(this.scrollbar.timeout),n[0].style.opacity=1,this.scrollbar.timeout=setTimeout((function(){n[0].style.opacity=0,n.transition(400)}),1e3))}},setTransition:function(e){this.params.scrollbar.el&&this.scrollbar.el&&this.scrollbar.$dragEl.transition(e)},updateSize:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=e.$dragEl,i=e.$el;t[0].style.width="",t[0].style.height="";var s,a=this.isHorizontal()?i[0].offsetWidth:i[0].offsetHeight,r=this.size/this.virtualSize,o=r*(a/this.size);s="auto"===this.params.scrollbar.dragSize?a*r:parseInt(this.params.scrollbar.dragSize,10),this.isHorizontal()?t[0].style.width=s+"px":t[0].style.height=s+"px",i[0].style.display=r>=1?"none":"",this.params.scrollbar.hide&&(i[0].style.opacity=0),n.extend(e,{trackSize:a,divider:r,moveDivider:o,dragSize:s}),e.$el[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](this.params.scrollbar.lockClass)}},getPointerPosition:function(e){return this.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY},setDragPosition:function(e){var t,i=this.scrollbar,s=this.rtlTranslate,a=i.$el,r=i.dragSize,n=i.trackSize,o=i.dragStartPos;t=(i.getPointerPosition(e)-a.offset()[this.isHorizontal()?"left":"top"]-(null!==o?o:r/2))/(n-r),t=Math.max(Math.min(t,1),0),s&&(t=1-t);var l=this.minTranslate()+(this.maxTranslate()-this.minTranslate())*t;this.updateProgress(l),this.setTranslate(l),this.updateActiveIndex(),this.updateSlidesClasses()},onDragStart:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el,r=i.$dragEl;this.scrollbar.isTouched=!0,this.scrollbar.dragStartPos=e.target===r[0]||e.target===r?i.getPointerPosition(e)-e.target.getBoundingClientRect()[this.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),s.transition(100),r.transition(100),i.setDragPosition(e),clearTimeout(this.scrollbar.dragTimeout),a.transition(0),t.hide&&a.css("opacity",1),this.params.cssMode&&this.$wrapperEl.css("scroll-snap-type","none"),this.emit("scrollbarDragStart",e)},onDragMove:function(e){var t=this.scrollbar,i=this.$wrapperEl,s=t.$el,a=t.$dragEl;this.scrollbar.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,t.setDragPosition(e),i.transition(0),s.transition(0),a.transition(0),this.emit("scrollbarDragMove",e))},onDragEnd:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el;this.scrollbar.isTouched&&(this.scrollbar.isTouched=!1,this.params.cssMode&&(this.$wrapperEl.css("scroll-snap-type",""),s.transition("")),t.hide&&(clearTimeout(this.scrollbar.dragTimeout),this.scrollbar.dragTimeout=n.nextTick((function(){a.css("opacity",0),a.transition(400)}),1e3)),this.emit("scrollbarDragEnd",e),t.snapOnRelease&&this.slideToClosest())},enableDraggable:function(){if(this.params.scrollbar.el){var t=this.scrollbar,i=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=t.$el[0],n=!(!o.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},l=!(!o.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};o.touch?(r.addEventListener(i.start,this.scrollbar.onDragStart,n),r.addEventListener(i.move,this.scrollbar.onDragMove,n),r.addEventListener(i.end,this.scrollbar.onDragEnd,l)):(r.addEventListener(s.start,this.scrollbar.onDragStart,n),e.addEventListener(s.move,this.scrollbar.onDragMove,n),e.addEventListener(s.end,this.scrollbar.onDragEnd,l))}},disableDraggable:function(){if(this.params.scrollbar.el){var t=this.scrollbar,i=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=t.$el[0],n=!(!o.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},l=!(!o.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};o.touch?(r.removeEventListener(i.start,this.scrollbar.onDragStart,n),r.removeEventListener(i.move,this.scrollbar.onDragMove,n),r.removeEventListener(i.end,this.scrollbar.onDragEnd,l)):(r.removeEventListener(s.start,this.scrollbar.onDragStart,n),e.removeEventListener(s.move,this.scrollbar.onDragMove,n),e.removeEventListener(s.end,this.scrollbar.onDragEnd,l))}},init:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.$el,i=this.params.scrollbar,a=s(i.el);this.params.uniqueNavElements&&"string"==typeof i.el&&a.length>1&&1===t.find(i.el).length&&(a=t.find(i.el));var r=a.find("."+this.params.scrollbar.dragClass);0===r.length&&(r=s('<div class="'+this.params.scrollbar.dragClass+'"></div>'),a.append(r)),n.extend(e,{$el:a,el:a[0],$dragEl:r,dragEl:r[0]}),i.draggable&&e.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},ae={setTransform:function(e,t){var i=this.rtl,a=s(e),r=i?-1:1,n=a.attr("data-swiper-parallax")||"0",o=a.attr("data-swiper-parallax-x"),l=a.attr("data-swiper-parallax-y"),d=a.attr("data-swiper-parallax-scale"),h=a.attr("data-swiper-parallax-opacity");if(o||l?(o=o||"0",l=l||"0"):this.isHorizontal()?(o=n,l="0"):(l=n,o="0"),o=o.indexOf("%")>=0?parseInt(o,10)*t*r+"%":o*t*r+"px",l=l.indexOf("%")>=0?parseInt(l,10)*t+"%":l*t+"px",null!=h){var p=h-(h-1)*(1-Math.abs(t));a[0].style.opacity=p}if(null==d)a.transform("translate3d("+o+", "+l+", 0px)");else{var c=d-(d-1)*(1-Math.abs(t));a.transform("translate3d("+o+", "+l+", 0px) scale("+c+")")}},setTranslate:function(){var e=this,t=e.$el,i=e.slides,a=e.progress,r=e.snapGrid;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,a)})),i.each((function(t,i){var n=i.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(n+=Math.ceil(t/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),s(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,n)}))}))},setTransition:function(e){void 0===e&&(e=this.params.speed);this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){var a=s(i),r=parseInt(a.attr("data-swiper-parallax-duration"),10)||e;0===e&&(r=0),a.transition(r)}))}},re={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX,i=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,a=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-t,2)+Math.pow(a-i,2))},onGestureStart:function(e){var t=this.params.zoom,i=this.zoom,a=i.gesture;if(i.fakeGestureTouched=!1,i.fakeGestureMoved=!1,!o.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;i.fakeGestureTouched=!0,a.scaleStart=re.getDistanceBetweenTouches(e)}a.$slideEl&&a.$slideEl.length||(a.$slideEl=s(e.target).closest(".swiper-slide"),0===a.$slideEl.length&&(a.$slideEl=this.slides.eq(this.activeIndex)),a.$imageEl=a.$slideEl.find("img, svg, canvas"),a.$imageWrapEl=a.$imageEl.parent("."+t.containerClass),a.maxRatio=a.$imageWrapEl.attr("data-swiper-zoom")||t.maxRatio,0!==a.$imageWrapEl.length)?(a.$imageEl.transition(0),this.zoom.isScaling=!0):a.$imageEl=void 0},onGestureChange:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!o.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;i.fakeGestureMoved=!0,s.scaleMove=re.getDistanceBetweenTouches(e)}s.$imageEl&&0!==s.$imageEl.length&&(o.gestures?i.scale=e.scale*i.currentScale:i.scale=s.scaleMove/s.scaleStart*i.currentScale,i.scale>s.maxRatio&&(i.scale=s.maxRatio-1+Math.pow(i.scale-s.maxRatio+1,.5)),i.scale<t.minRatio&&(i.scale=t.minRatio+1-Math.pow(t.minRatio-i.scale+1,.5)),s.$imageEl.transform("translate3d(0,0,0) scale("+i.scale+")"))},onGestureEnd:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!o.gestures){if(!i.fakeGestureTouched||!i.fakeGestureMoved)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!I.android)return;i.fakeGestureTouched=!1,i.fakeGestureMoved=!1}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=Math.max(Math.min(i.scale,s.maxRatio),t.minRatio),s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale("+i.scale+")"),i.currentScale=i.scale,i.isScaling=!1,1===i.scale&&(s.$slideEl=void 0))},onTouchStart:function(e){var t=this.zoom,i=t.gesture,s=t.image;i.$imageEl&&0!==i.$imageEl.length&&(s.isTouched||(I.android&&e.preventDefault(),s.isTouched=!0,s.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))},onTouchMove:function(e){var t=this.zoom,i=t.gesture,s=t.image,a=t.velocity;if(i.$imageEl&&0!==i.$imageEl.length&&(this.allowClick=!1,s.isTouched&&i.$slideEl)){s.isMoved||(s.width=i.$imageEl[0].offsetWidth,s.height=i.$imageEl[0].offsetHeight,s.startX=n.getTranslate(i.$imageWrapEl[0],"x")||0,s.startY=n.getTranslate(i.$imageWrapEl[0],"y")||0,i.slideWidth=i.$slideEl[0].offsetWidth,i.slideHeight=i.$slideEl[0].offsetHeight,i.$imageWrapEl.transition(0),this.rtl&&(s.startX=-s.startX,s.startY=-s.startY));var r=s.width*t.scale,o=s.height*t.scale;if(!(r<i.slideWidth&&o<i.slideHeight)){if(s.minX=Math.min(i.slideWidth/2-r/2,0),s.maxX=-s.minX,s.minY=Math.min(i.slideHeight/2-o/2,0),s.maxY=-s.minY,s.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!s.isMoved&&!t.isScaling){if(this.isHorizontal()&&(Math.floor(s.minX)===Math.floor(s.startX)&&s.touchesCurrent.x<s.touchesStart.x||Math.floor(s.maxX)===Math.floor(s.startX)&&s.touchesCurrent.x>s.touchesStart.x))return void(s.isTouched=!1);if(!this.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.y<s.touchesStart.y||Math.floor(s.maxY)===Math.floor(s.startY)&&s.touchesCurrent.y>s.touchesStart.y))return void(s.isTouched=!1)}e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentX<s.minX&&(s.currentX=s.minX+1-Math.pow(s.minX-s.currentX+1,.8)),s.currentX>s.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentY<s.minY&&(s.currentY=s.minY+1-Math.pow(s.minY-s.currentY+1,.8)),s.currentY>s.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),a.prevPositionX||(a.prevPositionX=s.touchesCurrent.x),a.prevPositionY||(a.prevPositionY=s.touchesCurrent.y),a.prevTime||(a.prevTime=Date.now()),a.x=(s.touchesCurrent.x-a.prevPositionX)/(Date.now()-a.prevTime)/2,a.y=(s.touchesCurrent.y-a.prevPositionY)/(Date.now()-a.prevTime)/2,Math.abs(s.touchesCurrent.x-a.prevPositionX)<2&&(a.x=0),Math.abs(s.touchesCurrent.y-a.prevPositionY)<2&&(a.y=0),a.prevPositionX=s.touchesCurrent.x,a.prevPositionY=s.touchesCurrent.y,a.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,i=e.image,s=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!i.isTouched||!i.isMoved)return i.isTouched=!1,void(i.isMoved=!1);i.isTouched=!1,i.isMoved=!1;var a=300,r=300,n=s.x*a,o=i.currentX+n,l=s.y*r,d=i.currentY+l;0!==s.x&&(a=Math.abs((o-i.currentX)/s.x)),0!==s.y&&(r=Math.abs((d-i.currentY)/s.y));var h=Math.max(a,r);i.currentX=o,i.currentY=d;var p=i.width*e.scale,c=i.height*e.scale;i.minX=Math.min(t.slideWidth/2-p/2,0),i.maxX=-i.minX,i.minY=Math.min(t.slideHeight/2-c/2,0),i.maxY=-i.minY,i.currentX=Math.max(Math.min(i.currentX,i.maxX),i.minX),i.currentY=Math.max(Math.min(i.currentY,i.maxY),i.minY),t.$imageWrapEl.transition(h).transform("translate3d("+i.currentX+"px, "+i.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,i,a,r,n,o,l,d,h,p,c,u,v,f,m,g,b=this.zoom,w=this.params.zoom,y=b.gesture,x=b.image;(y.$slideEl||(y.$slideEl=this.clickedSlide?s(this.clickedSlide):this.slides.eq(this.activeIndex),y.$imageEl=y.$slideEl.find("img, svg, canvas"),y.$imageWrapEl=y.$imageEl.parent("."+w.containerClass)),y.$imageEl&&0!==y.$imageEl.length)&&(y.$slideEl.addClass(""+w.zoomedSlideClass),void 0===x.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,i="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=x.touchesStart.x,i=x.touchesStart.y),b.scale=y.$imageWrapEl.attr("data-swiper-zoom")||w.maxRatio,b.currentScale=y.$imageWrapEl.attr("data-swiper-zoom")||w.maxRatio,e?(m=y.$slideEl[0].offsetWidth,g=y.$slideEl[0].offsetHeight,a=y.$slideEl.offset().left+m/2-t,r=y.$slideEl.offset().top+g/2-i,l=y.$imageEl[0].offsetWidth,d=y.$imageEl[0].offsetHeight,h=l*b.scale,p=d*b.scale,v=-(c=Math.min(m/2-h/2,0)),f=-(u=Math.min(g/2-p/2,0)),(n=a*b.scale)<c&&(n=c),n>v&&(n=v),(o=r*b.scale)<u&&(o=u),o>f&&(o=f)):(n=0,o=0),y.$imageWrapEl.transition(300).transform("translate3d("+n+"px, "+o+"px,0)"),y.$imageEl.transition(300).transform("translate3d(0,0,0) scale("+b.scale+")"))},out:function(){var e=this.zoom,t=this.params.zoom,i=e.gesture;i.$slideEl||(i.$slideEl=this.clickedSlide?s(this.clickedSlide):this.slides.eq(this.activeIndex),i.$imageEl=i.$slideEl.find("img, svg, canvas"),i.$imageWrapEl=i.$imageEl.parent("."+t.containerClass)),i.$imageEl&&0!==i.$imageEl.length&&(e.scale=1,e.currentScale=1,i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),i.$slideEl.removeClass(""+t.zoomedSlideClass),i.$slideEl=void 0)},enable:function(){var e=this.zoom;if(!e.enabled){e.enabled=!0;var t=!("touchstart"!==this.touchEvents.start||!o.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!o.passiveListener||{passive:!1,capture:!0};o.gestures?(this.$wrapperEl.on("gesturestart",".swiper-slide",e.onGestureStart,t),this.$wrapperEl.on("gesturechange",".swiper-slide",e.onGestureChange,t),this.$wrapperEl.on("gestureend",".swiper-slide",e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.on(this.touchEvents.start,".swiper-slide",e.onGestureStart,t),this.$wrapperEl.on(this.touchEvents.move,".swiper-slide",e.onGestureChange,t),this.$wrapperEl.on(this.touchEvents.end,".swiper-slide",e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.on(this.touchEvents.cancel,".swiper-slide",e.onGestureEnd,t)),this.$wrapperEl.on(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}},disable:function(){var e=this.zoom;if(e.enabled){this.zoom.enabled=!1;var t=!("touchstart"!==this.touchEvents.start||!o.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!o.passiveListener||{passive:!1,capture:!0};o.gestures?(this.$wrapperEl.off("gesturestart",".swiper-slide",e.onGestureStart,t),this.$wrapperEl.off("gesturechange",".swiper-slide",e.onGestureChange,t),this.$wrapperEl.off("gestureend",".swiper-slide",e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.off(this.touchEvents.start,".swiper-slide",e.onGestureStart,t),this.$wrapperEl.off(this.touchEvents.move,".swiper-slide",e.onGestureChange,t),this.$wrapperEl.off(this.touchEvents.end,".swiper-slide",e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.off(this.touchEvents.cancel,".swiper-slide",e.onGestureEnd,t)),this.$wrapperEl.off(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}}},ne={loadInSlide:function(e,t){void 0===t&&(t=!0);var i=this,a=i.params.lazy;if(void 0!==e&&0!==i.slides.length){var r=i.virtual&&i.params.virtual.enabled?i.$wrapperEl.children("."+i.params.slideClass+'[data-swiper-slide-index="'+e+'"]'):i.slides.eq(e),n=r.find("."+a.elementClass+":not(."+a.loadedClass+"):not(."+a.loadingClass+")");!r.hasClass(a.elementClass)||r.hasClass(a.loadedClass)||r.hasClass(a.loadingClass)||(n=n.add(r[0])),0!==n.length&&n.each((function(e,n){var o=s(n);o.addClass(a.loadingClass);var l=o.attr("data-background"),d=o.attr("data-src"),h=o.attr("data-srcset"),p=o.attr("data-sizes");i.loadImage(o[0],d||l,h,p,!1,(function(){if(null!=i&&i&&(!i||i.params)&&!i.destroyed){if(l?(o.css("background-image",'url("'+l+'")'),o.removeAttr("data-background")):(h&&(o.attr("srcset",h),o.removeAttr("data-srcset")),p&&(o.attr("sizes",p),o.removeAttr("data-sizes")),d&&(o.attr("src",d),o.removeAttr("data-src"))),o.addClass(a.loadedClass).removeClass(a.loadingClass),r.find("."+a.preloaderClass).remove(),i.params.loop&&t){var e=r.attr("data-swiper-slide-index");if(r.hasClass(i.params.slideDuplicateClass)){var s=i.$wrapperEl.children('[data-swiper-slide-index="'+e+'"]:not(.'+i.params.slideDuplicateClass+")");i.lazy.loadInSlide(s.index(),!1)}else{var n=i.$wrapperEl.children("."+i.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');i.lazy.loadInSlide(n.index(),!1)}}i.emit("lazyImageReady",r[0],o[0])}})),i.emit("lazyImageLoad",r[0],o[0])}))}},load:function(){var e=this,t=e.$wrapperEl,i=e.params,a=e.slides,r=e.activeIndex,n=e.virtual&&i.virtual.enabled,o=i.lazy,l=i.slidesPerView;function d(e){if(n){if(t.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]').length)return!0}else if(a[e])return!0;return!1}function h(e){return n?s(e).attr("data-swiper-slide-index"):s(e).index()}if("auto"===l&&(l=0),e.lazy.initialImageLoaded||(e.lazy.initialImageLoaded=!0),e.params.watchSlidesVisibility)t.children("."+i.slideVisibleClass).each((function(t,i){var a=n?s(i).attr("data-swiper-slide-index"):s(i).index();e.lazy.loadInSlide(a)}));else if(l>1)for(var p=r;p<r+l;p+=1)d(p)&&e.lazy.loadInSlide(p);else e.lazy.loadInSlide(r);if(o.loadPrevNext)if(l>1||o.loadPrevNextAmount&&o.loadPrevNextAmount>1){for(var c=o.loadPrevNextAmount,u=l,v=Math.min(r+u+Math.max(c,u),a.length),f=Math.max(r-Math.max(u,c),0),m=r+l;m<v;m+=1)d(m)&&e.lazy.loadInSlide(m);for(var g=f;g<r;g+=1)d(g)&&e.lazy.loadInSlide(g)}else{var b=t.children("."+i.slideNextClass);b.length>0&&e.lazy.loadInSlide(h(b));var w=t.children("."+i.slidePrevClass);w.length>0&&e.lazy.loadInSlide(h(w))}}},oe={LinearSpline:function(e,t){var i,s,a,r,n,o=function(e,t){for(s=-1,i=e.length;i-s>1;)e[a=i+s>>1]<=t?s=a:i=a;return i};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(n=o(this.x,e),r=n-1,(e-this.x[r])*(this.y[n]-this.y[r])/(this.x[n]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){this.controller.spline||(this.controller.spline=this.params.loop?new oe.LinearSpline(this.slidesGrid,e.slidesGrid):new oe.LinearSpline(this.snapGrid,e.snapGrid))},setTranslate:function(e,t){var i,s,a=this,r=a.controller.control;function n(e){var t=a.rtlTranslate?-a.translate:a.translate;"slide"===a.params.controller.by&&(a.controller.getInterpolateFunction(e),s=-a.controller.spline.interpolate(-t)),s&&"container"!==a.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(a.maxTranslate()-a.minTranslate()),s=(t-a.minTranslate())*i+e.minTranslate()),a.params.controller.inverse&&(s=e.maxTranslate()-s),e.updateProgress(s),e.setTranslate(s,a),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o<r.length;o+=1)r[o]!==t&&r[o]instanceof Y&&n(r[o]);else r instanceof Y&&t!==r&&n(r)},setTransition:function(e,t){var i,s=this,a=s.controller.control;function r(t){t.setTransition(e,s),0!==e&&(t.transitionStart(),t.params.autoHeight&&n.nextTick((function(){t.updateAutoHeight()})),t.$wrapperEl.transitionEnd((function(){a&&(t.params.loop&&"slide"===s.params.controller.by&&t.loopFix(),t.transitionEnd())})))}if(Array.isArray(a))for(i=0;i<a.length;i+=1)a[i]!==t&&a[i]instanceof Y&&r(a[i]);else a instanceof Y&&t!==a&&r(a)}},le={makeElFocusable:function(e){return e.attr("tabIndex","0"),e},addElRole:function(e,t){return e.attr("role",t),e},addElLabel:function(e,t){return e.attr("aria-label",t),e},disableEl:function(e){return e.attr("aria-disabled",!0),e},enableEl:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){var t=this.params.a11y;if(13===e.keyCode){var i=s(e.target);this.navigation&&this.navigation.$nextEl&&i.is(this.navigation.$nextEl)&&(this.isEnd&&!this.params.loop||this.slideNext(),this.isEnd?this.a11y.notify(t.lastSlideMessage):this.a11y.notify(t.nextSlideMessage)),this.navigation&&this.navigation.$prevEl&&i.is(this.navigation.$prevEl)&&(this.isBeginning&&!this.params.loop||this.slidePrev(),this.isBeginning?this.a11y.notify(t.firstSlideMessage):this.a11y.notify(t.prevSlideMessage)),this.pagination&&i.is("."+this.params.pagination.bulletClass)&&i[0].click()}},notify:function(e){var t=this.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},updateNavigation:function(){if(!this.params.loop){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;i&&i.length>0&&(this.isBeginning?this.a11y.disableEl(i):this.a11y.enableEl(i)),t&&t.length>0&&(this.isEnd?this.a11y.disableEl(t):this.a11y.enableEl(t))}},updatePagination:function(){var e=this,t=e.params.a11y;e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.bullets.each((function(i,a){var r=s(a);e.a11y.makeElFocusable(r),e.a11y.addElRole(r,"button"),e.a11y.addElLabel(r,t.paginationBulletMessage.replace(/{{index}}/,r.index()+1))}))},init:function(){this.$el.append(this.a11y.liveRegion);var e,t,i=this.params.a11y;this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&(this.a11y.makeElFocusable(e),this.a11y.addElRole(e,"button"),this.a11y.addElLabel(e,i.nextSlideMessage),e.on("keydown",this.a11y.onEnterKey)),t&&(this.a11y.makeElFocusable(t),this.a11y.addElRole(t,"button"),this.a11y.addElLabel(t,i.prevSlideMessage),t.on("keydown",this.a11y.onEnterKey)),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.on("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)},destroy:function(){var e,t;this.a11y.liveRegion&&this.a11y.liveRegion.length>0&&this.a11y.liveRegion.remove(),this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&e.off("keydown",this.a11y.onEnterKey),t&&t.off("keydown",this.a11y.onEnterKey),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.off("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)}},de={init:function(){if(this.params.history){if(!t.history||!t.history.pushState)return this.params.history.enabled=!1,void(this.params.hashNavigation.enabled=!0);var e=this.history;e.initialized=!0,e.paths=de.getPathValues(),(e.paths.key||e.paths.value)&&(e.scrollToSlide(0,e.paths.value,this.params.runCallbacksOnInit),this.params.history.replaceState||t.addEventListener("popstate",this.history.setHistoryPopState))}},destroy:function(){this.params.history.replaceState||t.removeEventListener("popstate",this.history.setHistoryPopState)},setHistoryPopState:function(){this.history.paths=de.getPathValues(),this.history.scrollToSlide(this.params.speed,this.history.paths.value,!1)},getPathValues:function(){var e=t.location.pathname.slice(1).split("/").filter((function(e){return""!==e})),i=e.length;return{key:e[i-2],value:e[i-1]}},setHistory:function(e,i){if(this.history.initialized&&this.params.history.enabled){var s=this.slides.eq(i),a=de.slugify(s.attr("data-history"));t.location.pathname.includes(e)||(a=e+"/"+a);var r=t.history.state;r&&r.value===a||(this.params.history.replaceState?t.history.replaceState({value:a},null,a):t.history.pushState({value:a},null,a))}},slugify:function(e){return e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,t,i){if(t)for(var s=0,a=this.slides.length;s<a;s+=1){var r=this.slides.eq(s);if(de.slugify(r.attr("data-history"))===t&&!r.hasClass(this.params.slideDuplicateClass)){var n=r.index();this.slideTo(n,e,i)}}else this.slideTo(0,e,i)}},he={onHashCange:function(){var t=e.location.hash.replace("#","");if(t!==this.slides.eq(this.activeIndex).attr("data-hash")){var i=this.$wrapperEl.children("."+this.params.slideClass+'[data-hash="'+t+'"]').index();if(void 0===i)return;this.slideTo(i)}},setHash:function(){if(this.hashNavigation.initialized&&this.params.hashNavigation.enabled)if(this.params.hashNavigation.replaceState&&t.history&&t.history.replaceState)t.history.replaceState(null,null,"#"+this.slides.eq(this.activeIndex).attr("data-hash")||"");else{var i=this.slides.eq(this.activeIndex),s=i.attr("data-hash")||i.attr("data-history");e.location.hash=s||""}},init:function(){if(!(!this.params.hashNavigation.enabled||this.params.history&&this.params.history.enabled)){this.hashNavigation.initialized=!0;var i=e.location.hash.replace("#","");if(i)for(var a=0,r=this.slides.length;a<r;a+=1){var n=this.slides.eq(a);if((n.attr("data-hash")||n.attr("data-history"))===i&&!n.hasClass(this.params.slideDuplicateClass)){var o=n.index();this.slideTo(o,0,this.params.runCallbacksOnInit,!0)}}this.params.hashNavigation.watchState&&s(t).on("hashchange",this.hashNavigation.onHashCange)}},destroy:function(){this.params.hashNavigation.watchState&&s(t).off("hashchange",this.hashNavigation.onHashCange)}},pe={run:function(){var e=this,t=e.slides.eq(e.activeIndex),i=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(i=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),clearTimeout(e.autoplay.timeout),e.autoplay.timeout=n.nextTick((function(){e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(e.slides.length-1,e.params.speed,!0,!0),e.emit("autoplay")):(e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.params.loop?(e.loopFix(),e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(0,e.params.speed,!0,!0),e.emit("autoplay")):(e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")),e.params.cssMode&&e.autoplay.running&&e.autoplay.run()}),i)},start:function(){return void 0===this.autoplay.timeout&&(!this.autoplay.running&&(this.autoplay.running=!0,this.emit("autoplayStart"),this.autoplay.run(),!0))},stop:function(){return!!this.autoplay.running&&(void 0!==this.autoplay.timeout&&(this.autoplay.timeout&&(clearTimeout(this.autoplay.timeout),this.autoplay.timeout=void 0),this.autoplay.running=!1,this.emit("autoplayStop"),!0))},pause:function(e){this.autoplay.running&&(this.autoplay.paused||(this.autoplay.timeout&&clearTimeout(this.autoplay.timeout),this.autoplay.paused=!0,0!==e&&this.params.autoplay.waitForTransition?(this.$wrapperEl[0].addEventListener("transitionend",this.autoplay.onTransitionEnd),this.$wrapperEl[0].addEventListener("webkitTransitionEnd",this.autoplay.onTransitionEnd)):(this.autoplay.paused=!1,this.autoplay.run())))}},ce={setTranslate:function(){for(var e=this.slides,t=0;t<e.length;t+=1){var i=this.slides.eq(t),s=-i[0].swiperSlideOffset;this.params.virtualTranslate||(s-=this.translate);var a=0;this.isHorizontal()||(a=s,s=0);var r=this.params.fadeEffect.crossFade?Math.max(1-Math.abs(i[0].progress),0):1+Math.min(Math.max(i[0].progress,-1),0);i.css({opacity:r}).transform("translate3d("+s+"px, "+a+"px, 0px)")}},setTransition:function(e){var t=this,i=t.slides,s=t.$wrapperEl;if(i.transition(e),t.params.virtualTranslate&&0!==e){var a=!1;i.transitionEnd((function(){if(!a&&t&&!t.destroyed){a=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)s.trigger(e[i])}}))}}},ue={setTranslate:function(){var e,t=this.$el,i=this.$wrapperEl,a=this.slides,r=this.width,n=this.height,o=this.rtlTranslate,l=this.size,d=this.params.cubeEffect,h=this.isHorizontal(),p=this.virtual&&this.params.virtual.enabled,c=0;d.shadow&&(h?(0===(e=i.find(".swiper-cube-shadow")).length&&(e=s('<div class="swiper-cube-shadow"></div>'),i.append(e)),e.css({height:r+"px"})):0===(e=t.find(".swiper-cube-shadow")).length&&(e=s('<div class="swiper-cube-shadow"></div>'),t.append(e)));for(var u=0;u<a.length;u+=1){var v=a.eq(u),f=u;p&&(f=parseInt(v.attr("data-swiper-slide-index"),10));var m=90*f,g=Math.floor(m/360);o&&(m=-m,g=Math.floor(-m/360));var b=Math.max(Math.min(v[0].progress,1),-1),w=0,y=0,x=0;f%4==0?(w=4*-g*l,x=0):(f-1)%4==0?(w=0,x=4*-g*l):(f-2)%4==0?(w=l+4*g*l,x=l):(f-3)%4==0&&(w=-l,x=3*l+4*l*g),o&&(w=-w),h||(y=w,w=0);var E="rotateX("+(h?0:-m)+"deg) rotateY("+(h?m:0)+"deg) translate3d("+w+"px, "+y+"px, "+x+"px)";if(b<=1&&b>-1&&(c=90*f+90*b,o&&(c=90*-f-90*b)),v.transform(E),d.slideShadows){var T=h?v.find(".swiper-slide-shadow-left"):v.find(".swiper-slide-shadow-top"),C=h?v.find(".swiper-slide-shadow-right"):v.find(".swiper-slide-shadow-bottom");0===T.length&&(T=s('<div class="swiper-slide-shadow-'+(h?"left":"top")+'"></div>'),v.append(T)),0===C.length&&(C=s('<div class="swiper-slide-shadow-'+(h?"right":"bottom")+'"></div>'),v.append(C)),T.length&&(T[0].style.opacity=Math.max(-b,0)),C.length&&(C[0].style.opacity=Math.max(b,0))}}if(i.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),d.shadow)if(h)e.transform("translate3d(0px, "+(r/2+d.shadowOffset)+"px, "+-r/2+"px) rotateX(90deg) rotateZ(0deg) scale("+d.shadowScale+")");else{var S=Math.abs(c)-90*Math.floor(Math.abs(c)/90),M=1.5-(Math.sin(2*S*Math.PI/360)/2+Math.cos(2*S*Math.PI/360)/2),P=d.shadowScale,z=d.shadowScale/M,k=d.shadowOffset;e.transform("scale3d("+P+", 1, "+z+") translate3d(0px, "+(n/2+k)+"px, "+-n/2/z+"px) rotateX(-90deg)")}var $=q.isSafari||q.isUiWebView?-l/2:0;i.transform("translate3d(0px,0,"+$+"px) rotateX("+(this.isHorizontal()?0:c)+"deg) rotateY("+(this.isHorizontal()?-c:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},ve={setTranslate:function(){for(var e=this.slides,t=this.rtlTranslate,i=0;i<e.length;i+=1){var a=e.eq(i),r=a[0].progress;this.params.flipEffect.limitRotation&&(r=Math.max(Math.min(a[0].progress,1),-1));var n=-180*r,o=0,l=-a[0].swiperSlideOffset,d=0;if(this.isHorizontal()?t&&(n=-n):(d=l,l=0,o=-n,n=0),a[0].style.zIndex=-Math.abs(Math.round(r))+e.length,this.params.flipEffect.slideShadows){var h=this.isHorizontal()?a.find(".swiper-slide-shadow-left"):a.find(".swiper-slide-shadow-top"),p=this.isHorizontal()?a.find(".swiper-slide-shadow-right"):a.find(".swiper-slide-shadow-bottom");0===h.length&&(h=s('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"left":"top")+'"></div>'),a.append(h)),0===p.length&&(p=s('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"right":"bottom")+'"></div>'),a.append(p)),h.length&&(h[0].style.opacity=Math.max(-r,0)),p.length&&(p[0].style.opacity=Math.max(r,0))}a.transform("translate3d("+l+"px, "+d+"px, 0px) rotateX("+o+"deg) rotateY("+n+"deg)")}},setTransition:function(e){var t=this,i=t.slides,s=t.activeIndex,a=t.$wrapperEl;if(i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.virtualTranslate&&0!==e){var r=!1;i.eq(s).transitionEnd((function(){if(!r&&t&&!t.destroyed){r=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)a.trigger(e[i])}}))}}},fe={setTranslate:function(){for(var e=this.width,t=this.height,i=this.slides,a=this.$wrapperEl,r=this.slidesSizesGrid,n=this.params.coverflowEffect,l=this.isHorizontal(),d=this.translate,h=l?e/2-d:t/2-d,p=l?n.rotate:-n.rotate,c=n.depth,u=0,v=i.length;u<v;u+=1){var f=i.eq(u),m=r[u],g=(h-f[0].swiperSlideOffset-m/2)/m*n.modifier,b=l?p*g:0,w=l?0:p*g,y=-c*Math.abs(g),x=l?0:n.stretch*g,E=l?n.stretch*g:0;Math.abs(E)<.001&&(E=0),Math.abs(x)<.001&&(x=0),Math.abs(y)<.001&&(y=0),Math.abs(b)<.001&&(b=0),Math.abs(w)<.001&&(w=0);var T="translate3d("+E+"px,"+x+"px,"+y+"px) rotateX("+w+"deg) rotateY("+b+"deg)";if(f.transform(T),f[0].style.zIndex=1-Math.abs(Math.round(g)),n.slideShadows){var C=l?f.find(".swiper-slide-shadow-left"):f.find(".swiper-slide-shadow-top"),S=l?f.find(".swiper-slide-shadow-right"):f.find(".swiper-slide-shadow-bottom");0===C.length&&(C=s('<div class="swiper-slide-shadow-'+(l?"left":"top")+'"></div>'),f.append(C)),0===S.length&&(S=s('<div class="swiper-slide-shadow-'+(l?"right":"bottom")+'"></div>'),f.append(S)),C.length&&(C[0].style.opacity=g>0?g:0),S.length&&(S[0].style.opacity=-g>0?-g:0)}}(o.pointerEvents||o.prefixedPointerEvents)&&(a[0].style.perspectiveOrigin=h+"px 50%")},setTransition:function(e){this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}},me={init:function(){var e=this.params.thumbs,t=this.constructor;e.swiper instanceof t?(this.thumbs.swiper=e.swiper,n.extend(this.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),n.extend(this.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})):n.isObject(e.swiper)&&(this.thumbs.swiper=new t(n.extend({},e.swiper,{watchSlidesVisibility:!0,watchSlidesProgress:!0,slideToClickedSlide:!1})),this.thumbs.swiperCreated=!0),this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass),this.thumbs.swiper.on("tap",this.thumbs.onThumbClick)},onThumbClick:function(){var e=this.thumbs.swiper;if(e){var t=e.clickedIndex,i=e.clickedSlide;if(!(i&&s(i).hasClass(this.params.thumbs.slideThumbActiveClass)||null==t)){var a;if(a=e.params.loop?parseInt(s(e.clickedSlide).attr("data-swiper-slide-index"),10):t,this.params.loop){var r=this.activeIndex;this.slides.eq(r).hasClass(this.params.slideDuplicateClass)&&(this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft,r=this.activeIndex);var n=this.slides.eq(r).prevAll('[data-swiper-slide-index="'+a+'"]').eq(0).index(),o=this.slides.eq(r).nextAll('[data-swiper-slide-index="'+a+'"]').eq(0).index();a=void 0===n?o:void 0===o?n:o-r<r-n?o:n}this.slideTo(a)}}},update:function(e){var t=this.thumbs.swiper;if(t){var i="auto"===t.params.slidesPerView?t.slidesPerViewDynamic():t.params.slidesPerView;if(this.realIndex!==t.realIndex){var s,a=t.activeIndex;if(t.params.loop){t.slides.eq(a).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,a=t.activeIndex);var r=t.slides.eq(a).prevAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index(),n=t.slides.eq(a).nextAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index();s=void 0===r?n:void 0===n?r:n-a==a-r?a:n-a<a-r?n:r}else s=this.realIndex;t.visibleSlidesIndexes&&t.visibleSlidesIndexes.indexOf(s)<0&&(t.params.centeredSlides?s=s>a?s-Math.floor(i/2)+1:s+Math.floor(i/2)-1:s>a&&(s=s-i+1),t.slideTo(s,e?0:void 0))}var o=1,l=this.params.thumbs.slideThumbActiveClass;if(this.params.slidesPerView>1&&!this.params.centeredSlides&&(o=this.params.slidesPerView),t.slides.removeClass(l),t.params.loop||t.params.virtual&&t.params.virtual.enabled)for(var d=0;d<o;d+=1)t.$wrapperEl.children('[data-swiper-slide-index="'+(this.realIndex+d)+'"]').addClass(l);else for(var h=0;h<o;h+=1)t.slides.eq(this.realIndex+h).addClass(l)}}},ge=[F,R,W,j,U,Z,J,{name:"mousewheel",params:{mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarged:"container"}},create:function(){n.extend(this,{mousewheel:{enabled:!1,enable:ee.enable.bind(this),disable:ee.disable.bind(this),handle:ee.handle.bind(this),handleMouseEnter:ee.handleMouseEnter.bind(this),handleMouseLeave:ee.handleMouseLeave.bind(this),lastScrollTime:n.now()}})},on:{init:function(){!this.params.mousewheel.enabled&&this.params.cssMode&&this.mousewheel.disable(),this.params.mousewheel.enabled&&this.mousewheel.enable()},destroy:function(){this.params.cssMode&&this.mousewheel.enable(),this.mousewheel.enabled&&this.mousewheel.disable()}}},{name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){n.extend(this,{navigation:{init:te.init.bind(this),update:te.update.bind(this),destroy:te.destroy.bind(this),onNextClick:te.onNextClick.bind(this),onPrevClick:te.onPrevClick.bind(this)}})},on:{init:function(){this.navigation.init(),this.navigation.update()},toEdge:function(){this.navigation.update()},fromEdge:function(){this.navigation.update()},destroy:function(){this.navigation.destroy()},click:function(e){var t,i=this.navigation,a=i.$nextEl,r=i.$prevEl;!this.params.navigation.hideOnClick||s(e.target).is(r)||s(e.target).is(a)||(a?t=a.hasClass(this.params.navigation.hiddenClass):r&&(t=r.hasClass(this.params.navigation.hiddenClass)),!0===t?this.emit("navigationShow",this):this.emit("navigationHide",this),a&&a.toggleClass(this.params.navigation.hiddenClass),r&&r.toggleClass(this.params.navigation.hiddenClass))}}},{name:"pagination",params:{pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",modifierClass:"swiper-pagination-",currentClass:"swiper-pagination-current",totalClass:"swiper-pagination-total",hiddenClass:"swiper-pagination-hidden",progressbarFillClass:"swiper-pagination-progressbar-fill",progressbarOppositeClass:"swiper-pagination-progressbar-opposite",clickableClass:"swiper-pagination-clickable",lockClass:"swiper-pagination-lock"}},create:function(){n.extend(this,{pagination:{init:ie.init.bind(this),render:ie.render.bind(this),update:ie.update.bind(this),destroy:ie.destroy.bind(this),dynamicBulletIndex:0}})},on:{init:function(){this.pagination.init(),this.pagination.render(),this.pagination.update()},activeIndexChange:function(){this.params.loop?this.pagination.update():void 0===this.snapIndex&&this.pagination.update()},snapIndexChange:function(){this.params.loop||this.pagination.update()},slidesLengthChange:function(){this.params.loop&&(this.pagination.render(),this.pagination.update())},snapGridLengthChange:function(){this.params.loop||(this.pagination.render(),this.pagination.update())},destroy:function(){this.pagination.destroy()},click:function(e){this.params.pagination.el&&this.params.pagination.hideOnClick&&this.pagination.$el.length>0&&!s(e.target).hasClass(this.params.pagination.bulletClass)&&(!0===this.pagination.$el.hasClass(this.params.pagination.hiddenClass)?this.emit("paginationShow",this):this.emit("paginationHide",this),this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))}}},{name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){n.extend(this,{scrollbar:{init:se.init.bind(this),destroy:se.destroy.bind(this),updateSize:se.updateSize.bind(this),setTranslate:se.setTranslate.bind(this),setTransition:se.setTransition.bind(this),enableDraggable:se.enableDraggable.bind(this),disableDraggable:se.disableDraggable.bind(this),setDragPosition:se.setDragPosition.bind(this),getPointerPosition:se.getPointerPosition.bind(this),onDragStart:se.onDragStart.bind(this),onDragMove:se.onDragMove.bind(this),onDragEnd:se.onDragEnd.bind(this),isTouched:!1,timeout:null,dragTimeout:null}})},on:{init:function(){this.scrollbar.init(),this.scrollbar.updateSize(),this.scrollbar.setTranslate()},update:function(){this.scrollbar.updateSize()},resize:function(){this.scrollbar.updateSize()},observerUpdate:function(){this.scrollbar.updateSize()},setTranslate:function(){this.scrollbar.setTranslate()},setTransition:function(e){this.scrollbar.setTransition(e)},destroy:function(){this.scrollbar.destroy()}}},{name:"parallax",params:{parallax:{enabled:!1}},create:function(){n.extend(this,{parallax:{setTransform:ae.setTransform.bind(this),setTranslate:ae.setTranslate.bind(this),setTransition:ae.setTransition.bind(this)}})},on:{beforeInit:function(){this.params.parallax.enabled&&(this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},init:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTranslate:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTransition:function(e){this.params.parallax.enabled&&this.parallax.setTransition(e)}}},{name:"zoom",params:{zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}},create:function(){var e=this,t={enabled:!1,scale:1,currentScale:1,isScaling:!1,gesture:{$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0}};"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function(i){t[i]=re[i].bind(e)})),n.extend(e,{zoom:t});var i=1;Object.defineProperty(e.zoom,"scale",{get:function(){return i},set:function(t){if(i!==t){var s=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:void 0,a=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:void 0;e.emit("zoomChange",t,s,a)}i=t}})},on:{init:function(){this.params.zoom.enabled&&this.zoom.enable()},destroy:function(){this.zoom.disable()},touchStart:function(e){this.zoom.enabled&&this.zoom.onTouchStart(e)},touchEnd:function(e){this.zoom.enabled&&this.zoom.onTouchEnd(e)},doubleTap:function(e){this.params.zoom.enabled&&this.zoom.enabled&&this.params.zoom.toggle&&this.zoom.toggle(e)},transitionEnd:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.zoom.onTransitionEnd()},slideChange:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.params.cssMode&&this.zoom.onTransitionEnd()}}},{name:"lazy",params:{lazy:{enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}},create:function(){n.extend(this,{lazy:{initialImageLoaded:!1,load:ne.load.bind(this),loadInSlide:ne.loadInSlide.bind(this)}})},on:{beforeInit:function(){this.params.lazy.enabled&&this.params.preloadImages&&(this.params.preloadImages=!1)},init:function(){this.params.lazy.enabled&&!this.params.loop&&0===this.params.initialSlide&&this.lazy.load()},scroll:function(){this.params.freeMode&&!this.params.freeModeSticky&&this.lazy.load()},resize:function(){this.params.lazy.enabled&&this.lazy.load()},scrollbarDragMove:function(){this.params.lazy.enabled&&this.lazy.load()},transitionStart:function(){this.params.lazy.enabled&&(this.params.lazy.loadOnTransitionStart||!this.params.lazy.loadOnTransitionStart&&!this.lazy.initialImageLoaded)&&this.lazy.load()},transitionEnd:function(){this.params.lazy.enabled&&!this.params.lazy.loadOnTransitionStart&&this.lazy.load()},slideChange:function(){this.params.lazy.enabled&&this.params.cssMode&&this.lazy.load()}}},{name:"controller",params:{controller:{control:void 0,inverse:!1,by:"slide"}},create:function(){n.extend(this,{controller:{control:this.params.controller.control,getInterpolateFunction:oe.getInterpolateFunction.bind(this),setTranslate:oe.setTranslate.bind(this),setTransition:oe.setTransition.bind(this)}})},on:{update:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},resize:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},observerUpdate:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},setTranslate:function(e,t){this.controller.control&&this.controller.setTranslate(e,t)},setTransition:function(e,t){this.controller.control&&this.controller.setTransition(e,t)}}},{name:"a11y",params:{a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}"}},create:function(){var e=this;n.extend(e,{a11y:{liveRegion:s('<span class="'+e.params.a11y.notificationClass+'" aria-live="assertive" aria-atomic="true"></span>')}}),Object.keys(le).forEach((function(t){e.a11y[t]=le[t].bind(e)}))},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){n.extend(this,{history:{init:de.init.bind(this),setHistory:de.setHistory.bind(this),setHistoryPopState:de.setHistoryPopState.bind(this),scrollToSlide:de.scrollToSlide.bind(this),destroy:de.destroy.bind(this)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)},slideChange:function(){this.history.initialized&&this.params.cssMode&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){n.extend(this,{hashNavigation:{initialized:!1,init:he.init.bind(this),destroy:he.destroy.bind(this),setHash:he.setHash.bind(this),onHashCange:he.onHashCange.bind(this)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()},slideChange:function(){this.hashNavigation.initialized&&this.params.cssMode&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var e=this;n.extend(e,{autoplay:{running:!1,paused:!1,run:pe.run.bind(e),start:pe.start.bind(e),stop:pe.stop.bind(e),pause:pe.pause.bind(e),onVisibilityChange:function(){"hidden"===document.visibilityState&&e.autoplay.running&&e.autoplay.pause(),"visible"===document.visibilityState&&e.autoplay.paused&&(e.autoplay.run(),e.autoplay.paused=!1)},onTransitionEnd:function(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===this&&(e.$wrapperEl[0].removeEventListener("transitionend",e.autoplay.onTransitionEnd),e.$wrapperEl[0].removeEventListener("webkitTransitionEnd",e.autoplay.onTransitionEnd),e.autoplay.paused=!1,e.autoplay.running?e.autoplay.run():e.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&(this.autoplay.start(),document.addEventListener("visibilitychange",this.autoplay.onVisibilityChange))},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},touchEnd:function(){this.params.cssMode&&this.autoplay.paused&&!this.params.autoplay.disableOnInteraction&&this.autoplay.run()},destroy:function(){this.autoplay.running&&this.autoplay.stop(),document.removeEventListener("visibilitychange",this.autoplay.onVisibilityChange)}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){n.extend(this,{fadeEffect:{setTranslate:ce.setTranslate.bind(this),setTransition:ce.setTransition.bind(this)}})},on:{beforeInit:function(){if("fade"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"fade");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};n.extend(this.params,e),n.extend(this.originalParams,e)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){n.extend(this,{cubeEffect:{setTranslate:ue.setTranslate.bind(this),setTransition:ue.setTransition.bind(this)}})},on:{beforeInit:function(){if("cube"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"cube"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};n.extend(this.params,e),n.extend(this.originalParams,e)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){n.extend(this,{flipEffect:{setTranslate:ve.setTranslate.bind(this),setTransition:ve.setTransition.bind(this)}})},on:{beforeInit:function(){if("flip"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"flip"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};n.extend(this.params,e),n.extend(this.originalParams,e)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0}},create:function(){n.extend(this,{coverflowEffect:{setTranslate:fe.setTranslate.bind(this),setTransition:fe.setTransition.bind(this)}})},on:{beforeInit:function(){"coverflow"===this.params.effect&&(this.classNames.push(this.params.containerModifierClass+"coverflow"),this.classNames.push(this.params.containerModifierClass+"3d"),this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){n.extend(this,{thumbs:{swiper:null,init:me.init.bind(this),update:me.update.bind(this),onThumbClick:me.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===Y.use&&(Y.use=Y.Class.use,Y.installModule=Y.Class.installModule),Y.use(ge),Y}));
|
14 |
-
//# sourceMappingURL=swiper.min.js.map
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/vendor/swiper/js/swiper.min.js.map
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
{"version":3,"sources":["0"],"names":["global","factory","exports","module","define","amd","self","Swiper","this","doc","document","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","location","hash","win","window","navigator","userAgent","history","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","Dom7","arr","i","length","$","selector","context","els","tempParent","html","trim","indexOf","toCreate","innerHTML","push","match","split","nodeType","unique","uniqueArray","fn","prototype","Class","Methods","addClass","className","classes","j","classList","add","removeClass","remove","hasClass","contains","toggleClass","toggle","attr","attrs","value","arguments$1","arguments","getAttribute","attrName","removeAttr","removeAttribute","data","key","el","dom7ElementDataStorage","dataKey","transform","elStyle","webkitTransform","transition","duration","webkitTransitionDuration","transitionDuration","on","assign","args","len","eventType","targetSelector","listener","capture","handleLiveEvent","e","target","eventData","dom7EventData","unshift","is","apply","parents","k","handleEvent","undefined","events","event$1","dom7LiveListeners","proxyListener","event","dom7Listeners","off","handlers","handler","splice","dom7proxy","trigger","evt","detail","bubbles","cancelable","filter","dataIndex","dispatchEvent","transitionEnd","callback","dom","fireCallBack","call","outerWidth","includeMargins","styles","offsetWidth","parseFloat","outerHeight","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","css","props","prop","each","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","index","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","prev","previousElementSibling","prevAll","prevEls","parent","parentNode","closest","find","foundElements","found","matchedItems","removeChild","toAdd","Object","keys","forEach","methodName","Utils","deleteProps","obj","object","nextTick","delay","now","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","m42","parseUrlQuery","url","params","param","query","urlToParse","href","paramsPart","decodeURIComponent","isObject","o","constructor","extend","len$1","to","nextSource","keysArray","nextIndex","nextKey","desc","getOwnPropertyDescriptor","enumerable","Support","touch","Modernizr","maxTouchPoints","DocumentTouch","pointerEvents","PointerEvent","observer","passiveListener","supportsPassive","opts","defineProperty","get","gestures","SwiperClass","eventsListeners","eventName","staticAccessors","components","configurable","priority","method","once","onceHandler","f7proxy","eventHandler","emit","Array","isArray","slice","eventsArray","useModulesParams","instanceParams","instance","modules","moduleName","useModules","modulesParams","moduleParams","modulePropName","moduleProp","bind","moduleEventName","create","set","use","installModule","name","proto","static","install","m","concat","defineProperties","update","updateSize","width","height","$el","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","size","updateSlides","$wrapperEl","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","slidesForMargin","slideIndex","cssMode","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginLeft","marginTop","marginRight","marginBottom","slidesPerColumn","Math","floor","ceil","slidesPerView","slidesPerColumnFill","max","newSlidesGrid","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","slidesPerGroup","groupIndex","slideIndexInGroup","-webkit-box-ordinal-group","-moz-box-ordinal-group","-ms-flex-order","-webkit-order","order","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","paddingTop","paddingBottom","boxSizing$1","swiperSlideSize","centeredSlides","abs","effect","setWrapperSize","i$1","slidesGridItem","i$2","slidesGridItem$1","centerInsufficientSlides","allSlidesSize","slideSizeValue","allSlidesOffset","snap","snapIndex","watchOverflow","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","speed","activeSlides","newHeight","setTransition","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","translate","offsetCenter","slideVisibleClass","visibleSlidesIndexes","visibleSlides","slideProgress","minTranslate","slideBefore","slideAfter","progress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","loop","slideDuplicateClass","slideDuplicateActiveClass","nextSlide","slideNextClass","prevSlide","slidePrevClass","slideDuplicateNextClass","slideDuplicatePrevClass","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","initialized","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","wrapperEl","x","y","previousTranslate","transition$1","transitionStart","runCallbacks","direction","autoHeight","dir","animating","slideTo","internal","swiper","preventInteractionOnTransition","initialSlide","allowSlideNext","allowSlidePrev","isH","scrollTo","behavior","onSlideToWrapperTransitionEnd","destroyed","slideToLoop","newIndex","loopedSlides","slideNext","loopFix","_clientLeft","slidePrev","normalize","val","prevIndex","normalizedTranslate","normalizedSnapGrid","prevSnap","slideReset","slideToClosest","currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","diff","loopDestroy","grabCursor","setGrabCursor","moving","simulateTouch","isLocked","cursor","unsetGrabCursor","platform","ua","device","screenWidth","screenHeight","android","ipad","ipod","iphone","ie","edge","firefox","windows","electron","macos","manipulation","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","Device","ios","androidChrome","desktop","cordova","phonegap","toLowerCase","os","osVersion","webView","standalone","matchMedia","webview","pixelRatio","devicePixelRatio","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","type","which","button","isTouched","isMoved","noSwiping","noSwipingSelector","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","threshold","allowThresholdMove","preventDefault","formElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","onTouchMove","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","pow","touchAngle","atan2","PI","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","freeMode","velocities","position","time","onTouchEnd","currentPos","touchEndTime","timeDiff","lastClickTime","freeModeMomentum","lastMoveEvent","pop","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","longSwipesMs","stopIndex","groupSize","ratio","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","breakpoints","setBreakpoint","newTranslate","min","autoplay","running","paused","run","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","defaults","init","uniqueNavElements","preloadImages","updateOnImagesReady","noSwipingClass","passiveListeners","containerModifierClass","slideClass","slideBlankClass","wrapperClass","prototypes","attachEvents","touchEvents","start","move","end","passive","cancel","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointOnlyParams","paramValue","breakpointParams","originalParams","wasMultiRow","isMultiRow","directionChanged","needsReLoop","changeDirection","points","point","sort","b","innerWidth","wasLocked","addClasses","classNames","suffixes","suffix","removeClasses","images","loadImage","imageEl","src","srcset","sizes","checkForComplete","image","onReady","complete","onload","onerror","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","prototypeGroup","protoMethod","moduleParamName","swiperParams","passedParams","swipers","containerEl","newParams","shadowRoot","options","touchEventsTouch","touchEventsDesktop","clickTimeout","__proto__","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","slideEl","destroy","deleteInstance","cleanStyles","extendDefaults","newDefaults","Device$1","Support$1","support","Browser","isEdge","isSafari","isUiWebView","test","Browser$1","browser","Resize","resize","resizeHandler","orientationChangeHandler","Observer","func","MutationObserver","WebkitMutationObserver","attach","ObserverFunc","mutations","observerUpdate","requestAnimationFrame","observe","attributes","childList","characterData","observers","observeParents","containerParents","observeSlideChildren","disconnect","Observer$1","Virtual","force","ref","ref$1","addSlidesBefore","addSlidesAfter","ref$2","previousFrom","from","previousTo","previousSlidesGrid","renderSlide","previousOffset","offsetProp","slidesAfter","slidesBefore","onRendered","lazy","load","renderExternal","slidesToRender","prependIndexes","appendIndexes","cache","$slideEl","numberOfNewSlides","newCache","cachedIndex","$cachedEl","cachedElIndex","Virtual$1","beforeInit","overwriteParams","Keyboard","handle","kc","keyCode","charCode","shiftKey","altKey","ctrlKey","metaKey","keyboard","onlyInViewport","inView","windowWidth","windowHeight","innerHeight","swiperOffset","swiperCoord","returnValue","enable","disable","Keyboard$1","Mousewheel","lastScrollTime","isSupported","element","implementation","hasFeature","isEventSupported","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","handleMouseEnter","mouseEntered","handleMouseLeave","mousewheel","releaseOnEdges","delta","rtlFactor","forceToAxis","invert","sensitivity","timeout","autoplayDisableOnInteraction","stop","getTime","eventsTarged","Navigation","$nextEl","$prevEl","disabledClass","lockClass","onPrevClick","onNextClick","Pagination","pagination","current","total","paginationType","bullets","firstIndex","lastIndex","midIndex","dynamicBullets","bulletSize","dynamicMainBullets","dynamicBulletIndex","bullet","$bullet","bulletIndex","bulletActiveClass","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","formatFractionCurrent","formatFractionTotal","progressbarDirection","progressbarOpposite","scale","scaleX","scaleY","renderCustom","render","paginationHTML","numberOfBullets","renderBullet","bulletClass","renderFraction","currentClass","totalClass","renderProgressbar","progressbarFillClass","clickable","clickableClass","modifierClass","progressbarOppositeClass","hiddenClass","Scrollbar","scrollbar","dragSize","trackSize","$dragEl","newSize","newPos","hide","opacity","divider","moveDivider","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","dragStartPos","onDragStart","dragTimeout","onDragMove","onDragEnd","snapOnRelease","enableDraggable","activeListener","disableDraggable","$swiperEl","dragEl","draggable","Parallax","setTransform","p","currentOpacity","currentScale","parallax","parallaxEl","$parallaxEl","parallaxDuration","Zoom","getDistanceBetweenTouches","x1","y1","x2","y2","onGestureStart","zoom","gesture","fakeGestureTouched","fakeGestureMoved","scaleStart","$imageEl","$imageWrapEl","maxRatio","isScaling","onGestureChange","scaleMove","minRatio","onGestureEnd","changedTouches","touchesStart","slideWidth","slideHeight","scaledWidth","scaledHeight","minX","maxX","minY","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","onTransitionEnd","out","in","touchX","touchY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","activeListenerWithCapture","Lazy","loadInSlide","loadInDuplicate","$images","elementClass","loadedClass","loadingClass","imageIndex","background","slideOriginalIndex","originalSlide","duplicatedSlide","slideExist","initialImageLoaded","elIndex","loadPrevNext","loadPrevNextAmount","amount","maxIndex","minIndex","Controller","LinearSpline","guess","i1","i3","binarySearch","array","interpolate","getInterpolateFunction","c","controller","spline","setTranslate$1","controlledTranslate","controlled","control","setControlledTranslate","by","inverse","setControlledTransition","a11y","makeElFocusable","addElRole","role","addElLabel","label","disableEl","enableEl","onEnterKey","notify","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","click","message","notification","liveRegion","updateNavigation","updatePagination","bulletEl","$bulletEl","paginationBulletMessage","History","pushState","hashNavigation","paths","getPathValues","scrollToSlide","replaceState","setHistoryPopState","pathArray","pathname","part","setHistory","slugify","includes","currentState","state","HashNavigation","onHashCange","newHash","setHash","watchState","Autoplay","$activeSlideEl","reverseDirection","stopOnLastSlide","pause","waitForTransition","Fade","tx","ty","slideOpacity","fadeEffect","crossFade","eventTriggered","triggerEvents","Cube","$cubeShadowEl","swiperWidth","swiperHeight","cubeEffect","wrapperRotate","shadow","slideAngle","round","tz","slideShadows","shadowBefore","shadowAfter","-webkit-transform-origin","-moz-transform-origin","-ms-transform-origin","transform-origin","shadowOffset","shadowAngle","sin","cos","scale1","shadowScale","scale2","zFactor","Flip","flipEffect","limitRotation","rotateY","rotateX","zIndex","Coverflow","coverflowEffect","center","rotate","depth","offsetMultiplier","modifier","translateZ","stretch","slideTransform","$shadowBeforeEl","$shadowAfterEl","prefixedPointerEvents","perspectiveOrigin","Thumbs","thumbsParams","thumbs","swiperCreated","thumbsContainerClass","onThumbClick","thumbsSwiper","slideThumbActiveClass","currentIndex","initial","newThumbsIndex","currentThumbsIndex","prevThumbsIndex","nextThumbsIndex","thumbsToActivate","thumbActiveClass","hideOnClick","toEdge","fromEdge","isHidden","bulletElement","number","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","dragClass","containerClass","zoomedSlideClass","touchStart","touchEnd","doubleTap","slideChange","loadOnTransitionStart","preloaderClass","scroll","scrollbarDragMove","notificationClass","paginationUpdate","disableOnInteraction","onVisibilityChange","visibilityState","beforeTransitionStart","sliderFirstMove","beforeDestroy"],"mappings":"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","file":"swiper.min.js"}
|
|
assets/vendor/swiper/swiper-bundle.js
ADDED
@@ -0,0 +1,9379 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Swiper 6.3.2
|
3 |
+
* Most modern mobile touch slider and framework with hardware accelerated transitions
|
4 |
+
* http://swiperjs.com
|
5 |
+
*
|
6 |
+
* Copyright 2014-2020 Vladimir Kharlampidi
|
7 |
+
*
|
8 |
+
* Released under the MIT License
|
9 |
+
*
|
10 |
+
* Released on: September 28, 2020
|
11 |
+
*/
|
12 |
+
|
13 |
+
(function (global, factory) {
|
14 |
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
15 |
+
typeof define === 'function' && define.amd ? define(factory) :
|
16 |
+
(global = global || self, global.Swiper = factory());
|
17 |
+
}(this, (function () { 'use strict';
|
18 |
+
|
19 |
+
function _defineProperties(target, props) {
|
20 |
+
for (var i = 0; i < props.length; i++) {
|
21 |
+
var descriptor = props[i];
|
22 |
+
descriptor.enumerable = descriptor.enumerable || false;
|
23 |
+
descriptor.configurable = true;
|
24 |
+
if ("value" in descriptor) descriptor.writable = true;
|
25 |
+
Object.defineProperty(target, descriptor.key, descriptor);
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
function _createClass(Constructor, protoProps, staticProps) {
|
30 |
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
31 |
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
32 |
+
return Constructor;
|
33 |
+
}
|
34 |
+
|
35 |
+
function _extends() {
|
36 |
+
_extends = Object.assign || function (target) {
|
37 |
+
for (var i = 1; i < arguments.length; i++) {
|
38 |
+
var source = arguments[i];
|
39 |
+
|
40 |
+
for (var key in source) {
|
41 |
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
42 |
+
target[key] = source[key];
|
43 |
+
}
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
return target;
|
48 |
+
};
|
49 |
+
|
50 |
+
return _extends.apply(this, arguments);
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* SSR Window 3.0.0-alpha.4
|
55 |
+
* Better handling for window object in SSR environment
|
56 |
+
* https://github.com/nolimits4web/ssr-window
|
57 |
+
*
|
58 |
+
* Copyright 2020, Vladimir Kharlampidi
|
59 |
+
*
|
60 |
+
* Licensed under MIT
|
61 |
+
*
|
62 |
+
* Released on: May 20, 2020
|
63 |
+
*/
|
64 |
+
|
65 |
+
/* eslint-disable no-param-reassign */
|
66 |
+
function isObject(obj) {
|
67 |
+
return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;
|
68 |
+
}
|
69 |
+
|
70 |
+
function extend(target, src) {
|
71 |
+
if (target === void 0) {
|
72 |
+
target = {};
|
73 |
+
}
|
74 |
+
|
75 |
+
if (src === void 0) {
|
76 |
+
src = {};
|
77 |
+
}
|
78 |
+
|
79 |
+
Object.keys(src).forEach(function (key) {
|
80 |
+
if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {
|
81 |
+
extend(target[key], src[key]);
|
82 |
+
}
|
83 |
+
});
|
84 |
+
}
|
85 |
+
|
86 |
+
var ssrDocument = {
|
87 |
+
body: {},
|
88 |
+
addEventListener: function addEventListener() {},
|
89 |
+
removeEventListener: function removeEventListener() {},
|
90 |
+
activeElement: {
|
91 |
+
blur: function blur() {},
|
92 |
+
nodeName: ''
|
93 |
+
},
|
94 |
+
querySelector: function querySelector() {
|
95 |
+
return null;
|
96 |
+
},
|
97 |
+
querySelectorAll: function querySelectorAll() {
|
98 |
+
return [];
|
99 |
+
},
|
100 |
+
getElementById: function getElementById() {
|
101 |
+
return null;
|
102 |
+
},
|
103 |
+
createEvent: function createEvent() {
|
104 |
+
return {
|
105 |
+
initEvent: function initEvent() {}
|
106 |
+
};
|
107 |
+
},
|
108 |
+
createElement: function createElement() {
|
109 |
+
return {
|
110 |
+
children: [],
|
111 |
+
childNodes: [],
|
112 |
+
style: {},
|
113 |
+
setAttribute: function setAttribute() {},
|
114 |
+
getElementsByTagName: function getElementsByTagName() {
|
115 |
+
return [];
|
116 |
+
}
|
117 |
+
};
|
118 |
+
},
|
119 |
+
createElementNS: function createElementNS() {
|
120 |
+
return {};
|
121 |
+
},
|
122 |
+
importNode: function importNode() {
|
123 |
+
return null;
|
124 |
+
},
|
125 |
+
location: {
|
126 |
+
hash: '',
|
127 |
+
host: '',
|
128 |
+
hostname: '',
|
129 |
+
href: '',
|
130 |
+
origin: '',
|
131 |
+
pathname: '',
|
132 |
+
protocol: '',
|
133 |
+
search: ''
|
134 |
+
}
|
135 |
+
};
|
136 |
+
|
137 |
+
function getDocument() {
|
138 |
+
var doc = typeof document !== 'undefined' ? document : {};
|
139 |
+
extend(doc, ssrDocument);
|
140 |
+
return doc;
|
141 |
+
}
|
142 |
+
|
143 |
+
var ssrWindow = {
|
144 |
+
document: ssrDocument,
|
145 |
+
navigator: {
|
146 |
+
userAgent: ''
|
147 |
+
},
|
148 |
+
location: {
|
149 |
+
hash: '',
|
150 |
+
host: '',
|
151 |
+
hostname: '',
|
152 |
+
href: '',
|
153 |
+
origin: '',
|
154 |
+
pathname: '',
|
155 |
+
protocol: '',
|
156 |
+
search: ''
|
157 |
+
},
|
158 |
+
history: {
|
159 |
+
replaceState: function replaceState() {},
|
160 |
+
pushState: function pushState() {},
|
161 |
+
go: function go() {},
|
162 |
+
back: function back() {}
|
163 |
+
},
|
164 |
+
CustomEvent: function CustomEvent() {
|
165 |
+
return this;
|
166 |
+
},
|
167 |
+
addEventListener: function addEventListener() {},
|
168 |
+
removeEventListener: function removeEventListener() {},
|
169 |
+
getComputedStyle: function getComputedStyle() {
|
170 |
+
return {
|
171 |
+
getPropertyValue: function getPropertyValue() {
|
172 |
+
return '';
|
173 |
+
}
|
174 |
+
};
|
175 |
+
},
|
176 |
+
Image: function Image() {},
|
177 |
+
Date: function Date() {},
|
178 |
+
screen: {},
|
179 |
+
setTimeout: function setTimeout() {},
|
180 |
+
clearTimeout: function clearTimeout() {},
|
181 |
+
matchMedia: function matchMedia() {
|
182 |
+
return {};
|
183 |
+
},
|
184 |
+
requestAnimationFrame: function requestAnimationFrame(callback) {
|
185 |
+
if (typeof setTimeout === 'undefined') {
|
186 |
+
callback();
|
187 |
+
return null;
|
188 |
+
}
|
189 |
+
|
190 |
+
return setTimeout(callback, 0);
|
191 |
+
},
|
192 |
+
cancelAnimationFrame: function cancelAnimationFrame(id) {
|
193 |
+
if (typeof setTimeout === 'undefined') {
|
194 |
+
return;
|
195 |
+
}
|
196 |
+
|
197 |
+
clearTimeout(id);
|
198 |
+
}
|
199 |
+
};
|
200 |
+
|
201 |
+
function getWindow() {
|
202 |
+
var win = typeof window !== 'undefined' ? window : {};
|
203 |
+
extend(win, ssrWindow);
|
204 |
+
return win;
|
205 |
+
}
|
206 |
+
|
207 |
+
/**
|
208 |
+
* Dom7 3.0.0-alpha.7
|
209 |
+
* Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API
|
210 |
+
* https://framework7.io/docs/dom7.html
|
211 |
+
*
|
212 |
+
* Copyright 2020, Vladimir Kharlampidi
|
213 |
+
*
|
214 |
+
* Licensed under MIT
|
215 |
+
*
|
216 |
+
* Released on: July 14, 2020
|
217 |
+
*/
|
218 |
+
|
219 |
+
function _inheritsLoose(subClass, superClass) {
|
220 |
+
subClass.prototype = Object.create(superClass.prototype);
|
221 |
+
subClass.prototype.constructor = subClass;
|
222 |
+
subClass.__proto__ = superClass;
|
223 |
+
}
|
224 |
+
|
225 |
+
function _getPrototypeOf(o) {
|
226 |
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
227 |
+
return o.__proto__ || Object.getPrototypeOf(o);
|
228 |
+
};
|
229 |
+
return _getPrototypeOf(o);
|
230 |
+
}
|
231 |
+
|
232 |
+
function _setPrototypeOf(o, p) {
|
233 |
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
234 |
+
o.__proto__ = p;
|
235 |
+
return o;
|
236 |
+
};
|
237 |
+
|
238 |
+
return _setPrototypeOf(o, p);
|
239 |
+
}
|
240 |
+
|
241 |
+
function _isNativeReflectConstruct() {
|
242 |
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
243 |
+
if (Reflect.construct.sham) return false;
|
244 |
+
if (typeof Proxy === "function") return true;
|
245 |
+
|
246 |
+
try {
|
247 |
+
Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
|
248 |
+
return true;
|
249 |
+
} catch (e) {
|
250 |
+
return false;
|
251 |
+
}
|
252 |
+
}
|
253 |
+
|
254 |
+
function _construct(Parent, args, Class) {
|
255 |
+
if (_isNativeReflectConstruct()) {
|
256 |
+
_construct = Reflect.construct;
|
257 |
+
} else {
|
258 |
+
_construct = function _construct(Parent, args, Class) {
|
259 |
+
var a = [null];
|
260 |
+
a.push.apply(a, args);
|
261 |
+
var Constructor = Function.bind.apply(Parent, a);
|
262 |
+
var instance = new Constructor();
|
263 |
+
if (Class) _setPrototypeOf(instance, Class.prototype);
|
264 |
+
return instance;
|
265 |
+
};
|
266 |
+
}
|
267 |
+
|
268 |
+
return _construct.apply(null, arguments);
|
269 |
+
}
|
270 |
+
|
271 |
+
function _isNativeFunction(fn) {
|
272 |
+
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
273 |
+
}
|
274 |
+
|
275 |
+
function _wrapNativeSuper(Class) {
|
276 |
+
var _cache = typeof Map === "function" ? new Map() : undefined;
|
277 |
+
|
278 |
+
_wrapNativeSuper = function _wrapNativeSuper(Class) {
|
279 |
+
if (Class === null || !_isNativeFunction(Class)) return Class;
|
280 |
+
|
281 |
+
if (typeof Class !== "function") {
|
282 |
+
throw new TypeError("Super expression must either be null or a function");
|
283 |
+
}
|
284 |
+
|
285 |
+
if (typeof _cache !== "undefined") {
|
286 |
+
if (_cache.has(Class)) return _cache.get(Class);
|
287 |
+
|
288 |
+
_cache.set(Class, Wrapper);
|
289 |
+
}
|
290 |
+
|
291 |
+
function Wrapper() {
|
292 |
+
return _construct(Class, arguments, _getPrototypeOf(this).constructor);
|
293 |
+
}
|
294 |
+
|
295 |
+
Wrapper.prototype = Object.create(Class.prototype, {
|
296 |
+
constructor: {
|
297 |
+
value: Wrapper,
|
298 |
+
enumerable: false,
|
299 |
+
writable: true,
|
300 |
+
configurable: true
|
301 |
+
}
|
302 |
+
});
|
303 |
+
return _setPrototypeOf(Wrapper, Class);
|
304 |
+
};
|
305 |
+
|
306 |
+
return _wrapNativeSuper(Class);
|
307 |
+
}
|
308 |
+
|
309 |
+
function _assertThisInitialized(self) {
|
310 |
+
if (self === void 0) {
|
311 |
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
312 |
+
}
|
313 |
+
|
314 |
+
return self;
|
315 |
+
}
|
316 |
+
/* eslint-disable no-proto */
|
317 |
+
|
318 |
+
|
319 |
+
function makeReactive(obj) {
|
320 |
+
var proto = obj.__proto__;
|
321 |
+
Object.defineProperty(obj, '__proto__', {
|
322 |
+
get: function get() {
|
323 |
+
return proto;
|
324 |
+
},
|
325 |
+
set: function set(value) {
|
326 |
+
proto.__proto__ = value;
|
327 |
+
}
|
328 |
+
});
|
329 |
+
}
|
330 |
+
|
331 |
+
var Dom7 = /*#__PURE__*/function (_Array) {
|
332 |
+
_inheritsLoose(Dom7, _Array);
|
333 |
+
|
334 |
+
function Dom7(items) {
|
335 |
+
var _this;
|
336 |
+
|
337 |
+
_this = _Array.call.apply(_Array, [this].concat(items)) || this;
|
338 |
+
makeReactive(_assertThisInitialized(_this));
|
339 |
+
return _this;
|
340 |
+
}
|
341 |
+
|
342 |
+
return Dom7;
|
343 |
+
}( /*#__PURE__*/_wrapNativeSuper(Array));
|
344 |
+
|
345 |
+
function arrayFlat(arr) {
|
346 |
+
if (arr === void 0) {
|
347 |
+
arr = [];
|
348 |
+
}
|
349 |
+
|
350 |
+
var res = [];
|
351 |
+
arr.forEach(function (el) {
|
352 |
+
if (Array.isArray(el)) {
|
353 |
+
res.push.apply(res, arrayFlat(el));
|
354 |
+
} else {
|
355 |
+
res.push(el);
|
356 |
+
}
|
357 |
+
});
|
358 |
+
return res;
|
359 |
+
}
|
360 |
+
|
361 |
+
function arrayFilter(arr, callback) {
|
362 |
+
return Array.prototype.filter.call(arr, callback);
|
363 |
+
}
|
364 |
+
|
365 |
+
function arrayUnique(arr) {
|
366 |
+
var uniqueArray = [];
|
367 |
+
|
368 |
+
for (var i = 0; i < arr.length; i += 1) {
|
369 |
+
if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);
|
370 |
+
}
|
371 |
+
|
372 |
+
return uniqueArray;
|
373 |
+
}
|
374 |
+
|
375 |
+
function qsa(selector, context) {
|
376 |
+
if (typeof selector !== 'string') {
|
377 |
+
return [selector];
|
378 |
+
}
|
379 |
+
|
380 |
+
var a = [];
|
381 |
+
var res = context.querySelectorAll(selector);
|
382 |
+
|
383 |
+
for (var i = 0; i < res.length; i += 1) {
|
384 |
+
a.push(res[i]);
|
385 |
+
}
|
386 |
+
|
387 |
+
return a;
|
388 |
+
}
|
389 |
+
|
390 |
+
function $(selector, context) {
|
391 |
+
var window = getWindow();
|
392 |
+
var document = getDocument();
|
393 |
+
var arr = [];
|
394 |
+
|
395 |
+
if (!context && selector instanceof Dom7) {
|
396 |
+
return selector;
|
397 |
+
}
|
398 |
+
|
399 |
+
if (!selector) {
|
400 |
+
return new Dom7(arr);
|
401 |
+
}
|
402 |
+
|
403 |
+
if (typeof selector === 'string') {
|
404 |
+
var html = selector.trim();
|
405 |
+
|
406 |
+
if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {
|
407 |
+
var toCreate = 'div';
|
408 |
+
if (html.indexOf('<li') === 0) toCreate = 'ul';
|
409 |
+
if (html.indexOf('<tr') === 0) toCreate = 'tbody';
|
410 |
+
if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';
|
411 |
+
if (html.indexOf('<tbody') === 0) toCreate = 'table';
|
412 |
+
if (html.indexOf('<option') === 0) toCreate = 'select';
|
413 |
+
var tempParent = document.createElement(toCreate);
|
414 |
+
tempParent.innerHTML = html;
|
415 |
+
|
416 |
+
for (var i = 0; i < tempParent.childNodes.length; i += 1) {
|
417 |
+
arr.push(tempParent.childNodes[i]);
|
418 |
+
}
|
419 |
+
} else {
|
420 |
+
arr = qsa(selector.trim(), context || document);
|
421 |
+
} // arr = qsa(selector, document);
|
422 |
+
|
423 |
+
} else if (selector.nodeType || selector === window || selector === document) {
|
424 |
+
arr.push(selector);
|
425 |
+
} else if (Array.isArray(selector)) {
|
426 |
+
if (selector instanceof Dom7) return selector;
|
427 |
+
arr = selector;
|
428 |
+
}
|
429 |
+
|
430 |
+
return new Dom7(arrayUnique(arr));
|
431 |
+
}
|
432 |
+
|
433 |
+
$.fn = Dom7.prototype;
|
434 |
+
|
435 |
+
function addClass() {
|
436 |
+
for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) {
|
437 |
+
classes[_key] = arguments[_key];
|
438 |
+
}
|
439 |
+
|
440 |
+
var classNames = arrayFlat(classes.map(function (c) {
|
441 |
+
return c.split(' ');
|
442 |
+
}));
|
443 |
+
this.forEach(function (el) {
|
444 |
+
var _el$classList;
|
445 |
+
|
446 |
+
(_el$classList = el.classList).add.apply(_el$classList, classNames);
|
447 |
+
});
|
448 |
+
return this;
|
449 |
+
}
|
450 |
+
|
451 |
+
function removeClass() {
|
452 |
+
for (var _len2 = arguments.length, classes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
453 |
+
classes[_key2] = arguments[_key2];
|
454 |
+
}
|
455 |
+
|
456 |
+
var classNames = arrayFlat(classes.map(function (c) {
|
457 |
+
return c.split(' ');
|
458 |
+
}));
|
459 |
+
this.forEach(function (el) {
|
460 |
+
var _el$classList2;
|
461 |
+
|
462 |
+
(_el$classList2 = el.classList).remove.apply(_el$classList2, classNames);
|
463 |
+
});
|
464 |
+
return this;
|
465 |
+
}
|
466 |
+
|
467 |
+
function toggleClass() {
|
468 |
+
for (var _len3 = arguments.length, classes = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
469 |
+
classes[_key3] = arguments[_key3];
|
470 |
+
}
|
471 |
+
|
472 |
+
var classNames = arrayFlat(classes.map(function (c) {
|
473 |
+
return c.split(' ');
|
474 |
+
}));
|
475 |
+
this.forEach(function (el) {
|
476 |
+
classNames.forEach(function (className) {
|
477 |
+
el.classList.toggle(className);
|
478 |
+
});
|
479 |
+
});
|
480 |
+
}
|
481 |
+
|
482 |
+
function hasClass() {
|
483 |
+
for (var _len4 = arguments.length, classes = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
484 |
+
classes[_key4] = arguments[_key4];
|
485 |
+
}
|
486 |
+
|
487 |
+
var classNames = arrayFlat(classes.map(function (c) {
|
488 |
+
return c.split(' ');
|
489 |
+
}));
|
490 |
+
return arrayFilter(this, function (el) {
|
491 |
+
return classNames.filter(function (className) {
|
492 |
+
return el.classList.contains(className);
|
493 |
+
}).length > 0;
|
494 |
+
}).length > 0;
|
495 |
+
}
|
496 |
+
|
497 |
+
function attr(attrs, value) {
|
498 |
+
if (arguments.length === 1 && typeof attrs === 'string') {
|
499 |
+
// Get attr
|
500 |
+
if (this[0]) return this[0].getAttribute(attrs);
|
501 |
+
return undefined;
|
502 |
+
} // Set attrs
|
503 |
+
|
504 |
+
|
505 |
+
for (var i = 0; i < this.length; i += 1) {
|
506 |
+
if (arguments.length === 2) {
|
507 |
+
// String
|
508 |
+
this[i].setAttribute(attrs, value);
|
509 |
+
} else {
|
510 |
+
// Object
|
511 |
+
for (var attrName in attrs) {
|
512 |
+
this[i][attrName] = attrs[attrName];
|
513 |
+
this[i].setAttribute(attrName, attrs[attrName]);
|
514 |
+
}
|
515 |
+
}
|
516 |
+
}
|
517 |
+
|
518 |
+
return this;
|
519 |
+
}
|
520 |
+
|
521 |
+
function removeAttr(attr) {
|
522 |
+
for (var i = 0; i < this.length; i += 1) {
|
523 |
+
this[i].removeAttribute(attr);
|
524 |
+
}
|
525 |
+
|
526 |
+
return this;
|
527 |
+
}
|
528 |
+
|
529 |
+
function transform(transform) {
|
530 |
+
for (var i = 0; i < this.length; i += 1) {
|
531 |
+
this[i].style.transform = transform;
|
532 |
+
}
|
533 |
+
|
534 |
+
return this;
|
535 |
+
}
|
536 |
+
|
537 |
+
function transition(duration) {
|
538 |
+
for (var i = 0; i < this.length; i += 1) {
|
539 |
+
this[i].style.transition = typeof duration !== 'string' ? duration + "ms" : duration;
|
540 |
+
}
|
541 |
+
|
542 |
+
return this;
|
543 |
+
}
|
544 |
+
|
545 |
+
function on() {
|
546 |
+
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
547 |
+
args[_key5] = arguments[_key5];
|
548 |
+
}
|
549 |
+
|
550 |
+
var eventType = args[0],
|
551 |
+
targetSelector = args[1],
|
552 |
+
listener = args[2],
|
553 |
+
capture = args[3];
|
554 |
+
|
555 |
+
if (typeof args[1] === 'function') {
|
556 |
+
eventType = args[0];
|
557 |
+
listener = args[1];
|
558 |
+
capture = args[2];
|
559 |
+
targetSelector = undefined;
|
560 |
+
}
|
561 |
+
|
562 |
+
if (!capture) capture = false;
|
563 |
+
|
564 |
+
function handleLiveEvent(e) {
|
565 |
+
var target = e.target;
|
566 |
+
if (!target) return;
|
567 |
+
var eventData = e.target.dom7EventData || [];
|
568 |
+
|
569 |
+
if (eventData.indexOf(e) < 0) {
|
570 |
+
eventData.unshift(e);
|
571 |
+
}
|
572 |
+
|
573 |
+
if ($(target).is(targetSelector)) listener.apply(target, eventData);else {
|
574 |
+
var _parents = $(target).parents(); // eslint-disable-line
|
575 |
+
|
576 |
+
|
577 |
+
for (var k = 0; k < _parents.length; k += 1) {
|
578 |
+
if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);
|
579 |
+
}
|
580 |
+
}
|
581 |
+
}
|
582 |
+
|
583 |
+
function handleEvent(e) {
|
584 |
+
var eventData = e && e.target ? e.target.dom7EventData || [] : [];
|
585 |
+
|
586 |
+
if (eventData.indexOf(e) < 0) {
|
587 |
+
eventData.unshift(e);
|
588 |
+
}
|
589 |
+
|
590 |
+
listener.apply(this, eventData);
|
591 |
+
}
|
592 |
+
|
593 |
+
var events = eventType.split(' ');
|
594 |
+
var j;
|
595 |
+
|
596 |
+
for (var i = 0; i < this.length; i += 1) {
|
597 |
+
var el = this[i];
|
598 |
+
|
599 |
+
if (!targetSelector) {
|
600 |
+
for (j = 0; j < events.length; j += 1) {
|
601 |
+
var event = events[j];
|
602 |
+
if (!el.dom7Listeners) el.dom7Listeners = {};
|
603 |
+
if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];
|
604 |
+
el.dom7Listeners[event].push({
|
605 |
+
listener: listener,
|
606 |
+
proxyListener: handleEvent
|
607 |
+
});
|
608 |
+
el.addEventListener(event, handleEvent, capture);
|
609 |
+
}
|
610 |
+
} else {
|
611 |
+
// Live events
|
612 |
+
for (j = 0; j < events.length; j += 1) {
|
613 |
+
var _event = events[j];
|
614 |
+
if (!el.dom7LiveListeners) el.dom7LiveListeners = {};
|
615 |
+
if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];
|
616 |
+
|
617 |
+
el.dom7LiveListeners[_event].push({
|
618 |
+
listener: listener,
|
619 |
+
proxyListener: handleLiveEvent
|
620 |
+
});
|
621 |
+
|
622 |
+
el.addEventListener(_event, handleLiveEvent, capture);
|
623 |
+
}
|
624 |
+
}
|
625 |
+
}
|
626 |
+
|
627 |
+
return this;
|
628 |
+
}
|
629 |
+
|
630 |
+
function off() {
|
631 |
+
for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
632 |
+
args[_key6] = arguments[_key6];
|
633 |
+
}
|
634 |
+
|
635 |
+
var eventType = args[0],
|
636 |
+
targetSelector = args[1],
|
637 |
+
listener = args[2],
|
638 |
+
capture = args[3];
|
639 |
+
|
640 |
+
if (typeof args[1] === 'function') {
|
641 |
+
eventType = args[0];
|
642 |
+
listener = args[1];
|
643 |
+
capture = args[2];
|
644 |
+
targetSelector = undefined;
|
645 |
+
}
|
646 |
+
|
647 |
+
if (!capture) capture = false;
|
648 |
+
var events = eventType.split(' ');
|
649 |
+
|
650 |
+
for (var i = 0; i < events.length; i += 1) {
|
651 |
+
var event = events[i];
|
652 |
+
|
653 |
+
for (var j = 0; j < this.length; j += 1) {
|
654 |
+
var el = this[j];
|
655 |
+
var handlers = void 0;
|
656 |
+
|
657 |
+
if (!targetSelector && el.dom7Listeners) {
|
658 |
+
handlers = el.dom7Listeners[event];
|
659 |
+
} else if (targetSelector && el.dom7LiveListeners) {
|
660 |
+
handlers = el.dom7LiveListeners[event];
|
661 |
+
}
|
662 |
+
|
663 |
+
if (handlers && handlers.length) {
|
664 |
+
for (var k = handlers.length - 1; k >= 0; k -= 1) {
|
665 |
+
var handler = handlers[k];
|
666 |
+
|
667 |
+
if (listener && handler.listener === listener) {
|
668 |
+
el.removeEventListener(event, handler.proxyListener, capture);
|
669 |
+
handlers.splice(k, 1);
|
670 |
+
} else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {
|
671 |
+
el.removeEventListener(event, handler.proxyListener, capture);
|
672 |
+
handlers.splice(k, 1);
|
673 |
+
} else if (!listener) {
|
674 |
+
el.removeEventListener(event, handler.proxyListener, capture);
|
675 |
+
handlers.splice(k, 1);
|
676 |
+
}
|
677 |
+
}
|
678 |
+
}
|
679 |
+
}
|
680 |
+
}
|
681 |
+
|
682 |
+
return this;
|
683 |
+
}
|
684 |
+
|
685 |
+
function trigger() {
|
686 |
+
var window = getWindow();
|
687 |
+
|
688 |
+
for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
|
689 |
+
args[_key9] = arguments[_key9];
|
690 |
+
}
|
691 |
+
|
692 |
+
var events = args[0].split(' ');
|
693 |
+
var eventData = args[1];
|
694 |
+
|
695 |
+
for (var i = 0; i < events.length; i += 1) {
|
696 |
+
var event = events[i];
|
697 |
+
|
698 |
+
for (var j = 0; j < this.length; j += 1) {
|
699 |
+
var el = this[j];
|
700 |
+
|
701 |
+
if (window.CustomEvent) {
|
702 |
+
var evt = new window.CustomEvent(event, {
|
703 |
+
detail: eventData,
|
704 |
+
bubbles: true,
|
705 |
+
cancelable: true
|
706 |
+
});
|
707 |
+
el.dom7EventData = args.filter(function (data, dataIndex) {
|
708 |
+
return dataIndex > 0;
|
709 |
+
});
|
710 |
+
el.dispatchEvent(evt);
|
711 |
+
el.dom7EventData = [];
|
712 |
+
delete el.dom7EventData;
|
713 |
+
}
|
714 |
+
}
|
715 |
+
}
|
716 |
+
|
717 |
+
return this;
|
718 |
+
}
|
719 |
+
|
720 |
+
function transitionEnd(callback) {
|
721 |
+
var dom = this;
|
722 |
+
|
723 |
+
function fireCallBack(e) {
|
724 |
+
if (e.target !== this) return;
|
725 |
+
callback.call(this, e);
|
726 |
+
dom.off('transitionend', fireCallBack);
|
727 |
+
}
|
728 |
+
|
729 |
+
if (callback) {
|
730 |
+
dom.on('transitionend', fireCallBack);
|
731 |
+
}
|
732 |
+
|
733 |
+
return this;
|
734 |
+
}
|
735 |
+
|
736 |
+
function outerWidth(includeMargins) {
|
737 |
+
if (this.length > 0) {
|
738 |
+
if (includeMargins) {
|
739 |
+
var _styles = this.styles();
|
740 |
+
|
741 |
+
return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));
|
742 |
+
}
|
743 |
+
|
744 |
+
return this[0].offsetWidth;
|
745 |
+
}
|
746 |
+
|
747 |
+
return null;
|
748 |
+
}
|
749 |
+
|
750 |
+
function outerHeight(includeMargins) {
|
751 |
+
if (this.length > 0) {
|
752 |
+
if (includeMargins) {
|
753 |
+
var _styles2 = this.styles();
|
754 |
+
|
755 |
+
return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));
|
756 |
+
}
|
757 |
+
|
758 |
+
return this[0].offsetHeight;
|
759 |
+
}
|
760 |
+
|
761 |
+
return null;
|
762 |
+
}
|
763 |
+
|
764 |
+
function offset() {
|
765 |
+
if (this.length > 0) {
|
766 |
+
var window = getWindow();
|
767 |
+
var document = getDocument();
|
768 |
+
var el = this[0];
|
769 |
+
var box = el.getBoundingClientRect();
|
770 |
+
var body = document.body;
|
771 |
+
var clientTop = el.clientTop || body.clientTop || 0;
|
772 |
+
var clientLeft = el.clientLeft || body.clientLeft || 0;
|
773 |
+
var scrollTop = el === window ? window.scrollY : el.scrollTop;
|
774 |
+
var scrollLeft = el === window ? window.scrollX : el.scrollLeft;
|
775 |
+
return {
|
776 |
+
top: box.top + scrollTop - clientTop,
|
777 |
+
left: box.left + scrollLeft - clientLeft
|
778 |
+
};
|
779 |
+
}
|
780 |
+
|
781 |
+
return null;
|
782 |
+
}
|
783 |
+
|
784 |
+
function styles() {
|
785 |
+
var window = getWindow();
|
786 |
+
if (this[0]) return window.getComputedStyle(this[0], null);
|
787 |
+
return {};
|
788 |
+
}
|
789 |
+
|
790 |
+
function css(props, value) {
|
791 |
+
var window = getWindow();
|
792 |
+
var i;
|
793 |
+
|
794 |
+
if (arguments.length === 1) {
|
795 |
+
if (typeof props === 'string') {
|
796 |
+
// .css('width')
|
797 |
+
if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);
|
798 |
+
} else {
|
799 |
+
// .css({ width: '100px' })
|
800 |
+
for (i = 0; i < this.length; i += 1) {
|
801 |
+
for (var _prop in props) {
|
802 |
+
this[i].style[_prop] = props[_prop];
|
803 |
+
}
|
804 |
+
}
|
805 |
+
|
806 |
+
return this;
|
807 |
+
}
|
808 |
+
}
|
809 |
+
|
810 |
+
if (arguments.length === 2 && typeof props === 'string') {
|
811 |
+
// .css('width', '100px')
|
812 |
+
for (i = 0; i < this.length; i += 1) {
|
813 |
+
this[i].style[props] = value;
|
814 |
+
}
|
815 |
+
|
816 |
+
return this;
|
817 |
+
}
|
818 |
+
|
819 |
+
return this;
|
820 |
+
}
|
821 |
+
|
822 |
+
function each(callback) {
|
823 |
+
if (!callback) return this;
|
824 |
+
this.forEach(function (el, index) {
|
825 |
+
callback.apply(el, [el, index]);
|
826 |
+
});
|
827 |
+
return this;
|
828 |
+
}
|
829 |
+
|
830 |
+
function filter(callback) {
|
831 |
+
var result = arrayFilter(this, callback);
|
832 |
+
return $(result);
|
833 |
+
}
|
834 |
+
|
835 |
+
function html(html) {
|
836 |
+
if (typeof html === 'undefined') {
|
837 |
+
return this[0] ? this[0].innerHTML : null;
|
838 |
+
}
|
839 |
+
|
840 |
+
for (var i = 0; i < this.length; i += 1) {
|
841 |
+
this[i].innerHTML = html;
|
842 |
+
}
|
843 |
+
|
844 |
+
return this;
|
845 |
+
}
|
846 |
+
|
847 |
+
function text(text) {
|
848 |
+
if (typeof text === 'undefined') {
|
849 |
+
return this[0] ? this[0].textContent.trim() : null;
|
850 |
+
}
|
851 |
+
|
852 |
+
for (var i = 0; i < this.length; i += 1) {
|
853 |
+
this[i].textContent = text;
|
854 |
+
}
|
855 |
+
|
856 |
+
return this;
|
857 |
+
}
|
858 |
+
|
859 |
+
function is(selector) {
|
860 |
+
var window = getWindow();
|
861 |
+
var document = getDocument();
|
862 |
+
var el = this[0];
|
863 |
+
var compareWith;
|
864 |
+
var i;
|
865 |
+
if (!el || typeof selector === 'undefined') return false;
|
866 |
+
|
867 |
+
if (typeof selector === 'string') {
|
868 |
+
if (el.matches) return el.matches(selector);
|
869 |
+
if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);
|
870 |
+
if (el.msMatchesSelector) return el.msMatchesSelector(selector);
|
871 |
+
compareWith = $(selector);
|
872 |
+
|
873 |
+
for (i = 0; i < compareWith.length; i += 1) {
|
874 |
+
if (compareWith[i] === el) return true;
|
875 |
+
}
|
876 |
+
|
877 |
+
return false;
|
878 |
+
}
|
879 |
+
|
880 |
+
if (selector === document) {
|
881 |
+
return el === document;
|
882 |
+
}
|
883 |
+
|
884 |
+
if (selector === window) {
|
885 |
+
return el === window;
|
886 |
+
}
|
887 |
+
|
888 |
+
if (selector.nodeType || selector instanceof Dom7) {
|
889 |
+
compareWith = selector.nodeType ? [selector] : selector;
|
890 |
+
|
891 |
+
for (i = 0; i < compareWith.length; i += 1) {
|
892 |
+
if (compareWith[i] === el) return true;
|
893 |
+
}
|
894 |
+
|
895 |
+
return false;
|
896 |
+
}
|
897 |
+
|
898 |
+
return false;
|
899 |
+
}
|
900 |
+
|
901 |
+
function index() {
|
902 |
+
var child = this[0];
|
903 |
+
var i;
|
904 |
+
|
905 |
+
if (child) {
|
906 |
+
i = 0; // eslint-disable-next-line
|
907 |
+
|
908 |
+
while ((child = child.previousSibling) !== null) {
|
909 |
+
if (child.nodeType === 1) i += 1;
|
910 |
+
}
|
911 |
+
|
912 |
+
return i;
|
913 |
+
}
|
914 |
+
|
915 |
+
return undefined;
|
916 |
+
}
|
917 |
+
|
918 |
+
function eq(index) {
|
919 |
+
if (typeof index === 'undefined') return this;
|
920 |
+
var length = this.length;
|
921 |
+
|
922 |
+
if (index > length - 1) {
|
923 |
+
return $([]);
|
924 |
+
}
|
925 |
+
|
926 |
+
if (index < 0) {
|
927 |
+
var returnIndex = length + index;
|
928 |
+
if (returnIndex < 0) return $([]);
|
929 |
+
return $([this[returnIndex]]);
|
930 |
+
}
|
931 |
+
|
932 |
+
return $([this[index]]);
|
933 |
+
}
|
934 |
+
|
935 |
+
function append() {
|
936 |
+
var newChild;
|
937 |
+
var document = getDocument();
|
938 |
+
|
939 |
+
for (var k = 0; k < arguments.length; k += 1) {
|
940 |
+
newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];
|
941 |
+
|
942 |
+
for (var i = 0; i < this.length; i += 1) {
|
943 |
+
if (typeof newChild === 'string') {
|
944 |
+
var tempDiv = document.createElement('div');
|
945 |
+
tempDiv.innerHTML = newChild;
|
946 |
+
|
947 |
+
while (tempDiv.firstChild) {
|
948 |
+
this[i].appendChild(tempDiv.firstChild);
|
949 |
+
}
|
950 |
+
} else if (newChild instanceof Dom7) {
|
951 |
+
for (var j = 0; j < newChild.length; j += 1) {
|
952 |
+
this[i].appendChild(newChild[j]);
|
953 |
+
}
|
954 |
+
} else {
|
955 |
+
this[i].appendChild(newChild);
|
956 |
+
}
|
957 |
+
}
|
958 |
+
}
|
959 |
+
|
960 |
+
return this;
|
961 |
+
}
|
962 |
+
|
963 |
+
function prepend(newChild) {
|
964 |
+
var document = getDocument();
|
965 |
+
var i;
|
966 |
+
var j;
|
967 |
+
|
968 |
+
for (i = 0; i < this.length; i += 1) {
|
969 |
+
if (typeof newChild === 'string') {
|
970 |
+
var tempDiv = document.createElement('div');
|
971 |
+
tempDiv.innerHTML = newChild;
|
972 |
+
|
973 |
+
for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {
|
974 |
+
this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);
|
975 |
+
}
|
976 |
+
} else if (newChild instanceof Dom7) {
|
977 |
+
for (j = 0; j < newChild.length; j += 1) {
|
978 |
+
this[i].insertBefore(newChild[j], this[i].childNodes[0]);
|
979 |
+
}
|
980 |
+
} else {
|
981 |
+
this[i].insertBefore(newChild, this[i].childNodes[0]);
|
982 |
+
}
|
983 |
+
}
|
984 |
+
|
985 |
+
return this;
|
986 |
+
}
|
987 |
+
|
988 |
+
function next(selector) {
|
989 |
+
if (this.length > 0) {
|
990 |
+
if (selector) {
|
991 |
+
if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {
|
992 |
+
return $([this[0].nextElementSibling]);
|
993 |
+
}
|
994 |
+
|
995 |
+
return $([]);
|
996 |
+
}
|
997 |
+
|
998 |
+
if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);
|
999 |
+
return $([]);
|
1000 |
+
}
|
1001 |
+
|
1002 |
+
return $([]);
|
1003 |
+
}
|
1004 |
+
|
1005 |
+
function nextAll(selector) {
|
1006 |
+
var nextEls = [];
|
1007 |
+
var el = this[0];
|
1008 |
+
if (!el) return $([]);
|
1009 |
+
|
1010 |
+
while (el.nextElementSibling) {
|
1011 |
+
var _next = el.nextElementSibling; // eslint-disable-line
|
1012 |
+
|
1013 |
+
if (selector) {
|
1014 |
+
if ($(_next).is(selector)) nextEls.push(_next);
|
1015 |
+
} else nextEls.push(_next);
|
1016 |
+
|
1017 |
+
el = _next;
|
1018 |
+
}
|
1019 |
+
|
1020 |
+
return $(nextEls);
|
1021 |
+
}
|
1022 |
+
|
1023 |
+
function prev(selector) {
|
1024 |
+
if (this.length > 0) {
|
1025 |
+
var el = this[0];
|
1026 |
+
|
1027 |
+
if (selector) {
|
1028 |
+
if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {
|
1029 |
+
return $([el.previousElementSibling]);
|
1030 |
+
}
|
1031 |
+
|
1032 |
+
return $([]);
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
if (el.previousElementSibling) return $([el.previousElementSibling]);
|
1036 |
+
return $([]);
|
1037 |
+
}
|
1038 |
+
|
1039 |
+
return $([]);
|
1040 |
+
}
|
1041 |
+
|
1042 |
+
function prevAll(selector) {
|
1043 |
+
var prevEls = [];
|
1044 |
+
var el = this[0];
|
1045 |
+
if (!el) return $([]);
|
1046 |
+
|
1047 |
+
while (el.previousElementSibling) {
|
1048 |
+
var _prev = el.previousElementSibling; // eslint-disable-line
|
1049 |
+
|
1050 |
+
if (selector) {
|
1051 |
+
if ($(_prev).is(selector)) prevEls.push(_prev);
|
1052 |
+
} else prevEls.push(_prev);
|
1053 |
+
|
1054 |
+
el = _prev;
|
1055 |
+
}
|
1056 |
+
|
1057 |
+
return $(prevEls);
|
1058 |
+
}
|
1059 |
+
|
1060 |
+
function parent(selector) {
|
1061 |
+
var parents = []; // eslint-disable-line
|
1062 |
+
|
1063 |
+
for (var i = 0; i < this.length; i += 1) {
|
1064 |
+
if (this[i].parentNode !== null) {
|
1065 |
+
if (selector) {
|
1066 |
+
if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);
|
1067 |
+
} else {
|
1068 |
+
parents.push(this[i].parentNode);
|
1069 |
+
}
|
1070 |
+
}
|
1071 |
+
}
|
1072 |
+
|
1073 |
+
return $(parents);
|
1074 |
+
}
|
1075 |
+
|
1076 |
+
function parents(selector) {
|
1077 |
+
var parents = []; // eslint-disable-line
|
1078 |
+
|
1079 |
+
for (var i = 0; i < this.length; i += 1) {
|
1080 |
+
var _parent = this[i].parentNode; // eslint-disable-line
|
1081 |
+
|
1082 |
+
while (_parent) {
|
1083 |
+
if (selector) {
|
1084 |
+
if ($(_parent).is(selector)) parents.push(_parent);
|
1085 |
+
} else {
|
1086 |
+
parents.push(_parent);
|
1087 |
+
}
|
1088 |
+
|
1089 |
+
_parent = _parent.parentNode;
|
1090 |
+
}
|
1091 |
+
}
|
1092 |
+
|
1093 |
+
return $(parents);
|
1094 |
+
}
|
1095 |
+
|
1096 |
+
function closest(selector) {
|
1097 |
+
var closest = this; // eslint-disable-line
|
1098 |
+
|
1099 |
+
if (typeof selector === 'undefined') {
|
1100 |
+
return $([]);
|
1101 |
+
}
|
1102 |
+
|
1103 |
+
if (!closest.is(selector)) {
|
1104 |
+
closest = closest.parents(selector).eq(0);
|
1105 |
+
}
|
1106 |
+
|
1107 |
+
return closest;
|
1108 |
+
}
|
1109 |
+
|
1110 |
+
function find(selector) {
|
1111 |
+
var foundElements = [];
|
1112 |
+
|
1113 |
+
for (var i = 0; i < this.length; i += 1) {
|
1114 |
+
var found = this[i].querySelectorAll(selector);
|
1115 |
+
|
1116 |
+
for (var j = 0; j < found.length; j += 1) {
|
1117 |
+
foundElements.push(found[j]);
|
1118 |
+
}
|
1119 |
+
}
|
1120 |
+
|
1121 |
+
return $(foundElements);
|
1122 |
+
}
|
1123 |
+
|
1124 |
+
function children(selector) {
|
1125 |
+
var children = []; // eslint-disable-line
|
1126 |
+
|
1127 |
+
for (var i = 0; i < this.length; i += 1) {
|
1128 |
+
var childNodes = this[i].children;
|
1129 |
+
|
1130 |
+
for (var j = 0; j < childNodes.length; j += 1) {
|
1131 |
+
if (!selector || $(childNodes[j]).is(selector)) {
|
1132 |
+
children.push(childNodes[j]);
|
1133 |
+
}
|
1134 |
+
}
|
1135 |
+
}
|
1136 |
+
|
1137 |
+
return $(children);
|
1138 |
+
}
|
1139 |
+
|
1140 |
+
function remove() {
|
1141 |
+
for (var i = 0; i < this.length; i += 1) {
|
1142 |
+
if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);
|
1143 |
+
}
|
1144 |
+
|
1145 |
+
return this;
|
1146 |
+
}
|
1147 |
+
|
1148 |
+
var Methods = {
|
1149 |
+
addClass: addClass,
|
1150 |
+
removeClass: removeClass,
|
1151 |
+
hasClass: hasClass,
|
1152 |
+
toggleClass: toggleClass,
|
1153 |
+
attr: attr,
|
1154 |
+
removeAttr: removeAttr,
|
1155 |
+
transform: transform,
|
1156 |
+
transition: transition,
|
1157 |
+
on: on,
|
1158 |
+
off: off,
|
1159 |
+
trigger: trigger,
|
1160 |
+
transitionEnd: transitionEnd,
|
1161 |
+
outerWidth: outerWidth,
|
1162 |
+
outerHeight: outerHeight,
|
1163 |
+
styles: styles,
|
1164 |
+
offset: offset,
|
1165 |
+
css: css,
|
1166 |
+
each: each,
|
1167 |
+
html: html,
|
1168 |
+
text: text,
|
1169 |
+
is: is,
|
1170 |
+
index: index,
|
1171 |
+
eq: eq,
|
1172 |
+
append: append,
|
1173 |
+
prepend: prepend,
|
1174 |
+
next: next,
|
1175 |
+
nextAll: nextAll,
|
1176 |
+
prev: prev,
|
1177 |
+
prevAll: prevAll,
|
1178 |
+
parent: parent,
|
1179 |
+
parents: parents,
|
1180 |
+
closest: closest,
|
1181 |
+
find: find,
|
1182 |
+
children: children,
|
1183 |
+
filter: filter,
|
1184 |
+
remove: remove
|
1185 |
+
};
|
1186 |
+
Object.keys(Methods).forEach(function (methodName) {
|
1187 |
+
$.fn[methodName] = Methods[methodName];
|
1188 |
+
});
|
1189 |
+
|
1190 |
+
function deleteProps(obj) {
|
1191 |
+
var object = obj;
|
1192 |
+
Object.keys(object).forEach(function (key) {
|
1193 |
+
try {
|
1194 |
+
object[key] = null;
|
1195 |
+
} catch (e) {// no getter for object
|
1196 |
+
}
|
1197 |
+
|
1198 |
+
try {
|
1199 |
+
delete object[key];
|
1200 |
+
} catch (e) {// something got wrong
|
1201 |
+
}
|
1202 |
+
});
|
1203 |
+
}
|
1204 |
+
|
1205 |
+
function nextTick(callback, delay) {
|
1206 |
+
if (delay === void 0) {
|
1207 |
+
delay = 0;
|
1208 |
+
}
|
1209 |
+
|
1210 |
+
return setTimeout(callback, delay);
|
1211 |
+
}
|
1212 |
+
|
1213 |
+
function now() {
|
1214 |
+
return Date.now();
|
1215 |
+
}
|
1216 |
+
|
1217 |
+
function getTranslate(el, axis) {
|
1218 |
+
if (axis === void 0) {
|
1219 |
+
axis = 'x';
|
1220 |
+
}
|
1221 |
+
|
1222 |
+
var window = getWindow();
|
1223 |
+
var matrix;
|
1224 |
+
var curTransform;
|
1225 |
+
var transformMatrix;
|
1226 |
+
var curStyle = window.getComputedStyle(el, null);
|
1227 |
+
|
1228 |
+
if (window.WebKitCSSMatrix) {
|
1229 |
+
curTransform = curStyle.transform || curStyle.webkitTransform;
|
1230 |
+
|
1231 |
+
if (curTransform.split(',').length > 6) {
|
1232 |
+
curTransform = curTransform.split(', ').map(function (a) {
|
1233 |
+
return a.replace(',', '.');
|
1234 |
+
}).join(', ');
|
1235 |
+
} // Some old versions of Webkit choke when 'none' is passed; pass
|
1236 |
+
// empty string instead in this case
|
1237 |
+
|
1238 |
+
|
1239 |
+
transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);
|
1240 |
+
} else {
|
1241 |
+
transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
|
1242 |
+
matrix = transformMatrix.toString().split(',');
|
1243 |
+
}
|
1244 |
+
|
1245 |
+
if (axis === 'x') {
|
1246 |
+
// Latest Chrome and webkits Fix
|
1247 |
+
if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix
|
1248 |
+
else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers
|
1249 |
+
else curTransform = parseFloat(matrix[4]);
|
1250 |
+
}
|
1251 |
+
|
1252 |
+
if (axis === 'y') {
|
1253 |
+
// Latest Chrome and webkits Fix
|
1254 |
+
if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix
|
1255 |
+
else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers
|
1256 |
+
else curTransform = parseFloat(matrix[5]);
|
1257 |
+
}
|
1258 |
+
|
1259 |
+
return curTransform || 0;
|
1260 |
+
}
|
1261 |
+
|
1262 |
+
function isObject$1(o) {
|
1263 |
+
return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object;
|
1264 |
+
}
|
1265 |
+
|
1266 |
+
function extend$1() {
|
1267 |
+
var to = Object(arguments.length <= 0 ? undefined : arguments[0]);
|
1268 |
+
|
1269 |
+
for (var i = 1; i < arguments.length; i += 1) {
|
1270 |
+
var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];
|
1271 |
+
|
1272 |
+
if (nextSource !== undefined && nextSource !== null) {
|
1273 |
+
var keysArray = Object.keys(Object(nextSource));
|
1274 |
+
|
1275 |
+
for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
|
1276 |
+
var nextKey = keysArray[nextIndex];
|
1277 |
+
var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
|
1278 |
+
|
1279 |
+
if (desc !== undefined && desc.enumerable) {
|
1280 |
+
if (isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) {
|
1281 |
+
extend$1(to[nextKey], nextSource[nextKey]);
|
1282 |
+
} else if (!isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) {
|
1283 |
+
to[nextKey] = {};
|
1284 |
+
extend$1(to[nextKey], nextSource[nextKey]);
|
1285 |
+
} else {
|
1286 |
+
to[nextKey] = nextSource[nextKey];
|
1287 |
+
}
|
1288 |
+
}
|
1289 |
+
}
|
1290 |
+
}
|
1291 |
+
}
|
1292 |
+
|
1293 |
+
return to;
|
1294 |
+
}
|
1295 |
+
|
1296 |
+
function bindModuleMethods(instance, obj) {
|
1297 |
+
Object.keys(obj).forEach(function (key) {
|
1298 |
+
if (isObject$1(obj[key])) {
|
1299 |
+
Object.keys(obj[key]).forEach(function (subKey) {
|
1300 |
+
if (typeof obj[key][subKey] === 'function') {
|
1301 |
+
obj[key][subKey] = obj[key][subKey].bind(instance);
|
1302 |
+
}
|
1303 |
+
});
|
1304 |
+
}
|
1305 |
+
|
1306 |
+
instance[key] = obj[key];
|
1307 |
+
});
|
1308 |
+
}
|
1309 |
+
|
1310 |
+
var support;
|
1311 |
+
|
1312 |
+
function calcSupport() {
|
1313 |
+
var window = getWindow();
|
1314 |
+
var document = getDocument();
|
1315 |
+
return {
|
1316 |
+
touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),
|
1317 |
+
pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,
|
1318 |
+
observer: function checkObserver() {
|
1319 |
+
return 'MutationObserver' in window || 'WebkitMutationObserver' in window;
|
1320 |
+
}(),
|
1321 |
+
passiveListener: function checkPassiveListener() {
|
1322 |
+
var supportsPassive = false;
|
1323 |
+
|
1324 |
+
try {
|
1325 |
+
var opts = Object.defineProperty({}, 'passive', {
|
1326 |
+
// eslint-disable-next-line
|
1327 |
+
get: function get() {
|
1328 |
+
supportsPassive = true;
|
1329 |
+
}
|
1330 |
+
});
|
1331 |
+
window.addEventListener('testPassiveListener', null, opts);
|
1332 |
+
} catch (e) {// No support
|
1333 |
+
}
|
1334 |
+
|
1335 |
+
return supportsPassive;
|
1336 |
+
}(),
|
1337 |
+
gestures: function checkGestures() {
|
1338 |
+
return 'ongesturestart' in window;
|
1339 |
+
}()
|
1340 |
+
};
|
1341 |
+
}
|
1342 |
+
|
1343 |
+
function getSupport() {
|
1344 |
+
if (!support) {
|
1345 |
+
support = calcSupport();
|
1346 |
+
}
|
1347 |
+
|
1348 |
+
return support;
|
1349 |
+
}
|
1350 |
+
|
1351 |
+
var device;
|
1352 |
+
|
1353 |
+
function calcDevice(_temp) {
|
1354 |
+
var _ref = _temp === void 0 ? {} : _temp,
|
1355 |
+
userAgent = _ref.userAgent;
|
1356 |
+
|
1357 |
+
var support = getSupport();
|
1358 |
+
var window = getWindow();
|
1359 |
+
var platform = window.navigator.platform;
|
1360 |
+
var ua = userAgent || window.navigator.userAgent;
|
1361 |
+
var device = {
|
1362 |
+
ios: false,
|
1363 |
+
android: false
|
1364 |
+
};
|
1365 |
+
var screenWidth = window.screen.width;
|
1366 |
+
var screenHeight = window.screen.height;
|
1367 |
+
var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
|
1368 |
+
|
1369 |
+
var ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
|
1370 |
+
var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
|
1371 |
+
var iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
|
1372 |
+
var windows = platform === 'Win32';
|
1373 |
+
var macos = platform === 'MacIntel'; // iPadOs 13 fix
|
1374 |
+
|
1375 |
+
var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768'];
|
1376 |
+
|
1377 |
+
if (!ipad && macos && support.touch && iPadScreens.indexOf(screenWidth + "x" + screenHeight) >= 0) {
|
1378 |
+
ipad = ua.match(/(Version)\/([\d.]+)/);
|
1379 |
+
if (!ipad) ipad = [0, 1, '13_0_0'];
|
1380 |
+
macos = false;
|
1381 |
+
} // Android
|
1382 |
+
|
1383 |
+
|
1384 |
+
if (android && !windows) {
|
1385 |
+
device.os = 'android';
|
1386 |
+
device.android = true;
|
1387 |
+
}
|
1388 |
+
|
1389 |
+
if (ipad || iphone || ipod) {
|
1390 |
+
device.os = 'ios';
|
1391 |
+
device.ios = true;
|
1392 |
+
} // Export object
|
1393 |
+
|
1394 |
+
|
1395 |
+
return device;
|
1396 |
+
}
|
1397 |
+
|
1398 |
+
function getDevice(overrides) {
|
1399 |
+
if (overrides === void 0) {
|
1400 |
+
overrides = {};
|
1401 |
+
}
|
1402 |
+
|
1403 |
+
if (!device) {
|
1404 |
+
device = calcDevice(overrides);
|
1405 |
+
}
|
1406 |
+
|
1407 |
+
return device;
|
1408 |
+
}
|
1409 |
+
|
1410 |
+
var browser;
|
1411 |
+
|
1412 |
+
function calcBrowser() {
|
1413 |
+
var window = getWindow();
|
1414 |
+
|
1415 |
+
function isSafari() {
|
1416 |
+
var ua = window.navigator.userAgent.toLowerCase();
|
1417 |
+
return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;
|
1418 |
+
}
|
1419 |
+
|
1420 |
+
return {
|
1421 |
+
isEdge: !!window.navigator.userAgent.match(/Edge/g),
|
1422 |
+
isSafari: isSafari(),
|
1423 |
+
isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)
|
1424 |
+
};
|
1425 |
+
}
|
1426 |
+
|
1427 |
+
function getBrowser() {
|
1428 |
+
if (!browser) {
|
1429 |
+
browser = calcBrowser();
|
1430 |
+
}
|
1431 |
+
|
1432 |
+
return browser;
|
1433 |
+
}
|
1434 |
+
|
1435 |
+
var Resize = {
|
1436 |
+
name: 'resize',
|
1437 |
+
create: function create() {
|
1438 |
+
var swiper = this;
|
1439 |
+
extend$1(swiper, {
|
1440 |
+
resize: {
|
1441 |
+
resizeHandler: function resizeHandler() {
|
1442 |
+
if (!swiper || swiper.destroyed || !swiper.initialized) return;
|
1443 |
+
swiper.emit('beforeResize');
|
1444 |
+
swiper.emit('resize');
|
1445 |
+
},
|
1446 |
+
orientationChangeHandler: function orientationChangeHandler() {
|
1447 |
+
if (!swiper || swiper.destroyed || !swiper.initialized) return;
|
1448 |
+
swiper.emit('orientationchange');
|
1449 |
+
}
|
1450 |
+
}
|
1451 |
+
});
|
1452 |
+
},
|
1453 |
+
on: {
|
1454 |
+
init: function init(swiper) {
|
1455 |
+
var window = getWindow(); // Emit resize
|
1456 |
+
|
1457 |
+
window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange
|
1458 |
+
|
1459 |
+
window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);
|
1460 |
+
},
|
1461 |
+
destroy: function destroy(swiper) {
|
1462 |
+
var window = getWindow();
|
1463 |
+
window.removeEventListener('resize', swiper.resize.resizeHandler);
|
1464 |
+
window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);
|
1465 |
+
}
|
1466 |
+
}
|
1467 |
+
};
|
1468 |
+
|
1469 |
+
var Observer = {
|
1470 |
+
attach: function attach(target, options) {
|
1471 |
+
if (options === void 0) {
|
1472 |
+
options = {};
|
1473 |
+
}
|
1474 |
+
|
1475 |
+
var window = getWindow();
|
1476 |
+
var swiper = this;
|
1477 |
+
var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;
|
1478 |
+
var observer = new ObserverFunc(function (mutations) {
|
1479 |
+
// The observerUpdate event should only be triggered
|
1480 |
+
// once despite the number of mutations. Additional
|
1481 |
+
// triggers are redundant and are very costly
|
1482 |
+
if (mutations.length === 1) {
|
1483 |
+
swiper.emit('observerUpdate', mutations[0]);
|
1484 |
+
return;
|
1485 |
+
}
|
1486 |
+
|
1487 |
+
var observerUpdate = function observerUpdate() {
|
1488 |
+
swiper.emit('observerUpdate', mutations[0]);
|
1489 |
+
};
|
1490 |
+
|
1491 |
+
if (window.requestAnimationFrame) {
|
1492 |
+
window.requestAnimationFrame(observerUpdate);
|
1493 |
+
} else {
|
1494 |
+
window.setTimeout(observerUpdate, 0);
|
1495 |
+
}
|
1496 |
+
});
|
1497 |
+
observer.observe(target, {
|
1498 |
+
attributes: typeof options.attributes === 'undefined' ? true : options.attributes,
|
1499 |
+
childList: typeof options.childList === 'undefined' ? true : options.childList,
|
1500 |
+
characterData: typeof options.characterData === 'undefined' ? true : options.characterData
|
1501 |
+
});
|
1502 |
+
swiper.observer.observers.push(observer);
|
1503 |
+
},
|
1504 |
+
init: function init() {
|
1505 |
+
var swiper = this;
|
1506 |
+
if (!swiper.support.observer || !swiper.params.observer) return;
|
1507 |
+
|
1508 |
+
if (swiper.params.observeParents) {
|
1509 |
+
var containerParents = swiper.$el.parents();
|
1510 |
+
|
1511 |
+
for (var i = 0; i < containerParents.length; i += 1) {
|
1512 |
+
swiper.observer.attach(containerParents[i]);
|
1513 |
+
}
|
1514 |
+
} // Observe container
|
1515 |
+
|
1516 |
+
|
1517 |
+
swiper.observer.attach(swiper.$el[0], {
|
1518 |
+
childList: swiper.params.observeSlideChildren
|
1519 |
+
}); // Observe wrapper
|
1520 |
+
|
1521 |
+
swiper.observer.attach(swiper.$wrapperEl[0], {
|
1522 |
+
attributes: false
|
1523 |
+
});
|
1524 |
+
},
|
1525 |
+
destroy: function destroy() {
|
1526 |
+
var swiper = this;
|
1527 |
+
swiper.observer.observers.forEach(function (observer) {
|
1528 |
+
observer.disconnect();
|
1529 |
+
});
|
1530 |
+
swiper.observer.observers = [];
|
1531 |
+
}
|
1532 |
+
};
|
1533 |
+
var Observer$1 = {
|
1534 |
+
name: 'observer',
|
1535 |
+
params: {
|
1536 |
+
observer: false,
|
1537 |
+
observeParents: false,
|
1538 |
+
observeSlideChildren: false
|
1539 |
+
},
|
1540 |
+
create: function create() {
|
1541 |
+
var swiper = this;
|
1542 |
+
bindModuleMethods(swiper, {
|
1543 |
+
observer: _extends(_extends({}, Observer), {}, {
|
1544 |
+
observers: []
|
1545 |
+
})
|
1546 |
+
});
|
1547 |
+
},
|
1548 |
+
on: {
|
1549 |
+
init: function init(swiper) {
|
1550 |
+
swiper.observer.init();
|
1551 |
+
},
|
1552 |
+
destroy: function destroy(swiper) {
|
1553 |
+
swiper.observer.destroy();
|
1554 |
+
}
|
1555 |
+
}
|
1556 |
+
};
|
1557 |
+
|
1558 |
+
var modular = {
|
1559 |
+
useParams: function useParams(instanceParams) {
|
1560 |
+
var instance = this;
|
1561 |
+
if (!instance.modules) return;
|
1562 |
+
Object.keys(instance.modules).forEach(function (moduleName) {
|
1563 |
+
var module = instance.modules[moduleName]; // Extend params
|
1564 |
+
|
1565 |
+
if (module.params) {
|
1566 |
+
extend$1(instanceParams, module.params);
|
1567 |
+
}
|
1568 |
+
});
|
1569 |
+
},
|
1570 |
+
useModules: function useModules(modulesParams) {
|
1571 |
+
if (modulesParams === void 0) {
|
1572 |
+
modulesParams = {};
|
1573 |
+
}
|
1574 |
+
|
1575 |
+
var instance = this;
|
1576 |
+
if (!instance.modules) return;
|
1577 |
+
Object.keys(instance.modules).forEach(function (moduleName) {
|
1578 |
+
var module = instance.modules[moduleName];
|
1579 |
+
var moduleParams = modulesParams[moduleName] || {}; // Add event listeners
|
1580 |
+
|
1581 |
+
if (module.on && instance.on) {
|
1582 |
+
Object.keys(module.on).forEach(function (moduleEventName) {
|
1583 |
+
instance.on(moduleEventName, module.on[moduleEventName]);
|
1584 |
+
});
|
1585 |
+
} // Module create callback
|
1586 |
+
|
1587 |
+
|
1588 |
+
if (module.create) {
|
1589 |
+
module.create.bind(instance)(moduleParams);
|
1590 |
+
}
|
1591 |
+
});
|
1592 |
+
}
|
1593 |
+
};
|
1594 |
+
|
1595 |
+
/* eslint-disable no-underscore-dangle */
|
1596 |
+
var eventsEmitter = {
|
1597 |
+
on: function on(events, handler, priority) {
|
1598 |
+
var self = this;
|
1599 |
+
if (typeof handler !== 'function') return self;
|
1600 |
+
var method = priority ? 'unshift' : 'push';
|
1601 |
+
events.split(' ').forEach(function (event) {
|
1602 |
+
if (!self.eventsListeners[event]) self.eventsListeners[event] = [];
|
1603 |
+
self.eventsListeners[event][method](handler);
|
1604 |
+
});
|
1605 |
+
return self;
|
1606 |
+
},
|
1607 |
+
once: function once(events, handler, priority) {
|
1608 |
+
var self = this;
|
1609 |
+
if (typeof handler !== 'function') return self;
|
1610 |
+
|
1611 |
+
function onceHandler() {
|
1612 |
+
self.off(events, onceHandler);
|
1613 |
+
|
1614 |
+
if (onceHandler.__emitterProxy) {
|
1615 |
+
delete onceHandler.__emitterProxy;
|
1616 |
+
}
|
1617 |
+
|
1618 |
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
1619 |
+
args[_key] = arguments[_key];
|
1620 |
+
}
|
1621 |
+
|
1622 |
+
handler.apply(self, args);
|
1623 |
+
}
|
1624 |
+
|
1625 |
+
onceHandler.__emitterProxy = handler;
|
1626 |
+
return self.on(events, onceHandler, priority);
|
1627 |
+
},
|
1628 |
+
onAny: function onAny(handler, priority) {
|
1629 |
+
var self = this;
|
1630 |
+
if (typeof handler !== 'function') return self;
|
1631 |
+
var method = priority ? 'unshift' : 'push';
|
1632 |
+
|
1633 |
+
if (self.eventsAnyListeners.indexOf(handler) < 0) {
|
1634 |
+
self.eventsAnyListeners[method](handler);
|
1635 |
+
}
|
1636 |
+
|
1637 |
+
return self;
|
1638 |
+
},
|
1639 |
+
offAny: function offAny(handler) {
|
1640 |
+
var self = this;
|
1641 |
+
if (!self.eventsAnyListeners) return self;
|
1642 |
+
var index = self.eventsAnyListeners.indexOf(handler);
|
1643 |
+
|
1644 |
+
if (index >= 0) {
|
1645 |
+
self.eventsAnyListeners.splice(index, 1);
|
1646 |
+
}
|
1647 |
+
|
1648 |
+
return self;
|
1649 |
+
},
|
1650 |
+
off: function off(events, handler) {
|
1651 |
+
var self = this;
|
1652 |
+
if (!self.eventsListeners) return self;
|
1653 |
+
events.split(' ').forEach(function (event) {
|
1654 |
+
if (typeof handler === 'undefined') {
|
1655 |
+
self.eventsListeners[event] = [];
|
1656 |
+
} else if (self.eventsListeners[event]) {
|
1657 |
+
self.eventsListeners[event].forEach(function (eventHandler, index) {
|
1658 |
+
if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {
|
1659 |
+
self.eventsListeners[event].splice(index, 1);
|
1660 |
+
}
|
1661 |
+
});
|
1662 |
+
}
|
1663 |
+
});
|
1664 |
+
return self;
|
1665 |
+
},
|
1666 |
+
emit: function emit() {
|
1667 |
+
var self = this;
|
1668 |
+
if (!self.eventsListeners) return self;
|
1669 |
+
var events;
|
1670 |
+
var data;
|
1671 |
+
var context;
|
1672 |
+
|
1673 |
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
1674 |
+
args[_key2] = arguments[_key2];
|
1675 |
+
}
|
1676 |
+
|
1677 |
+
if (typeof args[0] === 'string' || Array.isArray(args[0])) {
|
1678 |
+
events = args[0];
|
1679 |
+
data = args.slice(1, args.length);
|
1680 |
+
context = self;
|
1681 |
+
} else {
|
1682 |
+
events = args[0].events;
|
1683 |
+
data = args[0].data;
|
1684 |
+
context = args[0].context || self;
|
1685 |
+
}
|
1686 |
+
|
1687 |
+
data.unshift(context);
|
1688 |
+
var eventsArray = Array.isArray(events) ? events : events.split(' ');
|
1689 |
+
eventsArray.forEach(function (event) {
|
1690 |
+
if (self.eventsAnyListeners && self.eventsAnyListeners.length) {
|
1691 |
+
self.eventsAnyListeners.forEach(function (eventHandler) {
|
1692 |
+
eventHandler.apply(context, [event].concat(data));
|
1693 |
+
});
|
1694 |
+
}
|
1695 |
+
|
1696 |
+
if (self.eventsListeners && self.eventsListeners[event]) {
|
1697 |
+
var handlers = [];
|
1698 |
+
self.eventsListeners[event].forEach(function (eventHandler) {
|
1699 |
+
handlers.push(eventHandler);
|
1700 |
+
});
|
1701 |
+
handlers.forEach(function (eventHandler) {
|
1702 |
+
eventHandler.apply(context, data);
|
1703 |
+
});
|
1704 |
+
}
|
1705 |
+
});
|
1706 |
+
return self;
|
1707 |
+
}
|
1708 |
+
};
|
1709 |
+
|
1710 |
+
function updateSize() {
|
1711 |
+
var swiper = this;
|
1712 |
+
var width;
|
1713 |
+
var height;
|
1714 |
+
var $el = swiper.$el;
|
1715 |
+
|
1716 |
+
if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {
|
1717 |
+
width = swiper.params.width;
|
1718 |
+
} else {
|
1719 |
+
width = $el[0].clientWidth;
|
1720 |
+
}
|
1721 |
+
|
1722 |
+
if (typeof swiper.params.height !== 'undefined' && swiper.params.width !== null) {
|
1723 |
+
height = swiper.params.height;
|
1724 |
+
} else {
|
1725 |
+
height = $el[0].clientHeight;
|
1726 |
+
}
|
1727 |
+
|
1728 |
+
if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {
|
1729 |
+
return;
|
1730 |
+
} // Subtract paddings
|
1731 |
+
|
1732 |
+
|
1733 |
+
width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);
|
1734 |
+
height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);
|
1735 |
+
if (Number.isNaN(width)) width = 0;
|
1736 |
+
if (Number.isNaN(height)) height = 0;
|
1737 |
+
extend$1(swiper, {
|
1738 |
+
width: width,
|
1739 |
+
height: height,
|
1740 |
+
size: swiper.isHorizontal() ? width : height
|
1741 |
+
});
|
1742 |
+
}
|
1743 |
+
|
1744 |
+
function updateSlides() {
|
1745 |
+
var swiper = this;
|
1746 |
+
var window = getWindow();
|
1747 |
+
var params = swiper.params;
|
1748 |
+
var $wrapperEl = swiper.$wrapperEl,
|
1749 |
+
swiperSize = swiper.size,
|
1750 |
+
rtl = swiper.rtlTranslate,
|
1751 |
+
wrongRTL = swiper.wrongRTL;
|
1752 |
+
var isVirtual = swiper.virtual && params.virtual.enabled;
|
1753 |
+
var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;
|
1754 |
+
var slides = $wrapperEl.children("." + swiper.params.slideClass);
|
1755 |
+
var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;
|
1756 |
+
var snapGrid = [];
|
1757 |
+
var slidesGrid = [];
|
1758 |
+
var slidesSizesGrid = [];
|
1759 |
+
|
1760 |
+
function slidesForMargin(slideEl, slideIndex) {
|
1761 |
+
if (!params.cssMode) return true;
|
1762 |
+
|
1763 |
+
if (slideIndex === slides.length - 1) {
|
1764 |
+
return false;
|
1765 |
+
}
|
1766 |
+
|
1767 |
+
return true;
|
1768 |
+
}
|
1769 |
+
|
1770 |
+
var offsetBefore = params.slidesOffsetBefore;
|
1771 |
+
|
1772 |
+
if (typeof offsetBefore === 'function') {
|
1773 |
+
offsetBefore = params.slidesOffsetBefore.call(swiper);
|
1774 |
+
}
|
1775 |
+
|
1776 |
+
var offsetAfter = params.slidesOffsetAfter;
|
1777 |
+
|
1778 |
+
if (typeof offsetAfter === 'function') {
|
1779 |
+
offsetAfter = params.slidesOffsetAfter.call(swiper);
|
1780 |
+
}
|
1781 |
+
|
1782 |
+
var previousSnapGridLength = swiper.snapGrid.length;
|
1783 |
+
var previousSlidesGridLength = swiper.snapGrid.length;
|
1784 |
+
var spaceBetween = params.spaceBetween;
|
1785 |
+
var slidePosition = -offsetBefore;
|
1786 |
+
var prevSlideSize = 0;
|
1787 |
+
var index = 0;
|
1788 |
+
|
1789 |
+
if (typeof swiperSize === 'undefined') {
|
1790 |
+
return;
|
1791 |
+
}
|
1792 |
+
|
1793 |
+
if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
|
1794 |
+
spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;
|
1795 |
+
}
|
1796 |
+
|
1797 |
+
swiper.virtualSize = -spaceBetween; // reset margins
|
1798 |
+
|
1799 |
+
if (rtl) slides.css({
|
1800 |
+
marginLeft: '',
|
1801 |
+
marginTop: ''
|
1802 |
+
});else slides.css({
|
1803 |
+
marginRight: '',
|
1804 |
+
marginBottom: ''
|
1805 |
+
});
|
1806 |
+
var slidesNumberEvenToRows;
|
1807 |
+
|
1808 |
+
if (params.slidesPerColumn > 1) {
|
1809 |
+
if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {
|
1810 |
+
slidesNumberEvenToRows = slidesLength;
|
1811 |
+
} else {
|
1812 |
+
slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;
|
1813 |
+
}
|
1814 |
+
|
1815 |
+
if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {
|
1816 |
+
slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);
|
1817 |
+
}
|
1818 |
+
} // Calc slides
|
1819 |
+
|
1820 |
+
|
1821 |
+
var slideSize;
|
1822 |
+
var slidesPerColumn = params.slidesPerColumn;
|
1823 |
+
var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;
|
1824 |
+
var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);
|
1825 |
+
|
1826 |
+
for (var i = 0; i < slidesLength; i += 1) {
|
1827 |
+
slideSize = 0;
|
1828 |
+
var slide = slides.eq(i);
|
1829 |
+
|
1830 |
+
if (params.slidesPerColumn > 1) {
|
1831 |
+
// Set slides order
|
1832 |
+
var newSlideOrderIndex = void 0;
|
1833 |
+
var column = void 0;
|
1834 |
+
var row = void 0;
|
1835 |
+
|
1836 |
+
if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {
|
1837 |
+
var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));
|
1838 |
+
var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;
|
1839 |
+
var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);
|
1840 |
+
row = Math.floor(slideIndexInGroup / columnsInGroup);
|
1841 |
+
column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;
|
1842 |
+
newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;
|
1843 |
+
slide.css({
|
1844 |
+
'-webkit-box-ordinal-group': newSlideOrderIndex,
|
1845 |
+
'-moz-box-ordinal-group': newSlideOrderIndex,
|
1846 |
+
'-ms-flex-order': newSlideOrderIndex,
|
1847 |
+
'-webkit-order': newSlideOrderIndex,
|
1848 |
+
order: newSlideOrderIndex
|
1849 |
+
});
|
1850 |
+
} else if (params.slidesPerColumnFill === 'column') {
|
1851 |
+
column = Math.floor(i / slidesPerColumn);
|
1852 |
+
row = i - column * slidesPerColumn;
|
1853 |
+
|
1854 |
+
if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {
|
1855 |
+
row += 1;
|
1856 |
+
|
1857 |
+
if (row >= slidesPerColumn) {
|
1858 |
+
row = 0;
|
1859 |
+
column += 1;
|
1860 |
+
}
|
1861 |
+
}
|
1862 |
+
} else {
|
1863 |
+
row = Math.floor(i / slidesPerRow);
|
1864 |
+
column = i - row * slidesPerRow;
|
1865 |
+
}
|
1866 |
+
|
1867 |
+
slide.css("margin-" + (swiper.isHorizontal() ? 'top' : 'left'), row !== 0 && params.spaceBetween && params.spaceBetween + "px");
|
1868 |
+
}
|
1869 |
+
|
1870 |
+
if (slide.css('display') === 'none') continue; // eslint-disable-line
|
1871 |
+
|
1872 |
+
if (params.slidesPerView === 'auto') {
|
1873 |
+
var slideStyles = window.getComputedStyle(slide[0], null);
|
1874 |
+
var currentTransform = slide[0].style.transform;
|
1875 |
+
var currentWebKitTransform = slide[0].style.webkitTransform;
|
1876 |
+
|
1877 |
+
if (currentTransform) {
|
1878 |
+
slide[0].style.transform = 'none';
|
1879 |
+
}
|
1880 |
+
|
1881 |
+
if (currentWebKitTransform) {
|
1882 |
+
slide[0].style.webkitTransform = 'none';
|
1883 |
+
}
|
1884 |
+
|
1885 |
+
if (params.roundLengths) {
|
1886 |
+
slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);
|
1887 |
+
} else {
|
1888 |
+
// eslint-disable-next-line
|
1889 |
+
if (swiper.isHorizontal()) {
|
1890 |
+
var width = parseFloat(slideStyles.getPropertyValue('width') || 0);
|
1891 |
+
var paddingLeft = parseFloat(slideStyles.getPropertyValue('padding-left') || 0);
|
1892 |
+
var paddingRight = parseFloat(slideStyles.getPropertyValue('padding-right') || 0);
|
1893 |
+
var marginLeft = parseFloat(slideStyles.getPropertyValue('margin-left') || 0);
|
1894 |
+
var marginRight = parseFloat(slideStyles.getPropertyValue('margin-right') || 0);
|
1895 |
+
var boxSizing = slideStyles.getPropertyValue('box-sizing');
|
1896 |
+
|
1897 |
+
if (boxSizing && boxSizing === 'border-box') {
|
1898 |
+
slideSize = width + marginLeft + marginRight;
|
1899 |
+
} else {
|
1900 |
+
slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight;
|
1901 |
+
}
|
1902 |
+
} else {
|
1903 |
+
var height = parseFloat(slideStyles.getPropertyValue('height') || 0);
|
1904 |
+
var paddingTop = parseFloat(slideStyles.getPropertyValue('padding-top') || 0);
|
1905 |
+
var paddingBottom = parseFloat(slideStyles.getPropertyValue('padding-bottom') || 0);
|
1906 |
+
var marginTop = parseFloat(slideStyles.getPropertyValue('margin-top') || 0);
|
1907 |
+
var marginBottom = parseFloat(slideStyles.getPropertyValue('margin-bottom') || 0);
|
1908 |
+
|
1909 |
+
var _boxSizing = slideStyles.getPropertyValue('box-sizing');
|
1910 |
+
|
1911 |
+
if (_boxSizing && _boxSizing === 'border-box') {
|
1912 |
+
slideSize = height + marginTop + marginBottom;
|
1913 |
+
} else {
|
1914 |
+
slideSize = height + paddingTop + paddingBottom + marginTop + marginBottom;
|
1915 |
+
}
|
1916 |
+
}
|
1917 |
+
}
|
1918 |
+
|
1919 |
+
if (currentTransform) {
|
1920 |
+
slide[0].style.transform = currentTransform;
|
1921 |
+
}
|
1922 |
+
|
1923 |
+
if (currentWebKitTransform) {
|
1924 |
+
slide[0].style.webkitTransform = currentWebKitTransform;
|
1925 |
+
}
|
1926 |
+
|
1927 |
+
if (params.roundLengths) slideSize = Math.floor(slideSize);
|
1928 |
+
} else {
|
1929 |
+
slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
|
1930 |
+
if (params.roundLengths) slideSize = Math.floor(slideSize);
|
1931 |
+
|
1932 |
+
if (slides[i]) {
|
1933 |
+
if (swiper.isHorizontal()) {
|
1934 |
+
slides[i].style.width = slideSize + "px";
|
1935 |
+
} else {
|
1936 |
+
slides[i].style.height = slideSize + "px";
|
1937 |
+
}
|
1938 |
+
}
|
1939 |
+
}
|
1940 |
+
|
1941 |
+
if (slides[i]) {
|
1942 |
+
slides[i].swiperSlideSize = slideSize;
|
1943 |
+
}
|
1944 |
+
|
1945 |
+
slidesSizesGrid.push(slideSize);
|
1946 |
+
|
1947 |
+
if (params.centeredSlides) {
|
1948 |
+
slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;
|
1949 |
+
if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
|
1950 |
+
if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
|
1951 |
+
if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;
|
1952 |
+
if (params.roundLengths) slidePosition = Math.floor(slidePosition);
|
1953 |
+
if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);
|
1954 |
+
slidesGrid.push(slidePosition);
|
1955 |
+
} else {
|
1956 |
+
if (params.roundLengths) slidePosition = Math.floor(slidePosition);
|
1957 |
+
if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);
|
1958 |
+
slidesGrid.push(slidePosition);
|
1959 |
+
slidePosition = slidePosition + slideSize + spaceBetween;
|
1960 |
+
}
|
1961 |
+
|
1962 |
+
swiper.virtualSize += slideSize + spaceBetween;
|
1963 |
+
prevSlideSize = slideSize;
|
1964 |
+
index += 1;
|
1965 |
+
}
|
1966 |
+
|
1967 |
+
swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
|
1968 |
+
var newSlidesGrid;
|
1969 |
+
|
1970 |
+
if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {
|
1971 |
+
$wrapperEl.css({
|
1972 |
+
width: swiper.virtualSize + params.spaceBetween + "px"
|
1973 |
+
});
|
1974 |
+
}
|
1975 |
+
|
1976 |
+
if (params.setWrapperSize) {
|
1977 |
+
if (swiper.isHorizontal()) $wrapperEl.css({
|
1978 |
+
width: swiper.virtualSize + params.spaceBetween + "px"
|
1979 |
+
});else $wrapperEl.css({
|
1980 |
+
height: swiper.virtualSize + params.spaceBetween + "px"
|
1981 |
+
});
|
1982 |
+
}
|
1983 |
+
|
1984 |
+
if (params.slidesPerColumn > 1) {
|
1985 |
+
swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;
|
1986 |
+
swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;
|
1987 |
+
if (swiper.isHorizontal()) $wrapperEl.css({
|
1988 |
+
width: swiper.virtualSize + params.spaceBetween + "px"
|
1989 |
+
});else $wrapperEl.css({
|
1990 |
+
height: swiper.virtualSize + params.spaceBetween + "px"
|
1991 |
+
});
|
1992 |
+
|
1993 |
+
if (params.centeredSlides) {
|
1994 |
+
newSlidesGrid = [];
|
1995 |
+
|
1996 |
+
for (var _i = 0; _i < snapGrid.length; _i += 1) {
|
1997 |
+
var slidesGridItem = snapGrid[_i];
|
1998 |
+
if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
|
1999 |
+
if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);
|
2000 |
+
}
|
2001 |
+
|
2002 |
+
snapGrid = newSlidesGrid;
|
2003 |
+
}
|
2004 |
+
} // Remove last grid elements depending on width
|
2005 |
+
|
2006 |
+
|
2007 |
+
if (!params.centeredSlides) {
|
2008 |
+
newSlidesGrid = [];
|
2009 |
+
|
2010 |
+
for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {
|
2011 |
+
var _slidesGridItem = snapGrid[_i2];
|
2012 |
+
if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);
|
2013 |
+
|
2014 |
+
if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {
|
2015 |
+
newSlidesGrid.push(_slidesGridItem);
|
2016 |
+
}
|
2017 |
+
}
|
2018 |
+
|
2019 |
+
snapGrid = newSlidesGrid;
|
2020 |
+
|
2021 |
+
if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
|
2022 |
+
snapGrid.push(swiper.virtualSize - swiperSize);
|
2023 |
+
}
|
2024 |
+
}
|
2025 |
+
|
2026 |
+
if (snapGrid.length === 0) snapGrid = [0];
|
2027 |
+
|
2028 |
+
if (params.spaceBetween !== 0) {
|
2029 |
+
if (swiper.isHorizontal()) {
|
2030 |
+
if (rtl) slides.filter(slidesForMargin).css({
|
2031 |
+
marginLeft: spaceBetween + "px"
|
2032 |
+
});else slides.filter(slidesForMargin).css({
|
2033 |
+
marginRight: spaceBetween + "px"
|
2034 |
+
});
|
2035 |
+
} else slides.filter(slidesForMargin).css({
|
2036 |
+
marginBottom: spaceBetween + "px"
|
2037 |
+
});
|
2038 |
+
}
|
2039 |
+
|
2040 |
+
if (params.centeredSlides && params.centeredSlidesBounds) {
|
2041 |
+
var allSlidesSize = 0;
|
2042 |
+
slidesSizesGrid.forEach(function (slideSizeValue) {
|
2043 |
+
allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
|
2044 |
+
});
|
2045 |
+
allSlidesSize -= params.spaceBetween;
|
2046 |
+
var maxSnap = allSlidesSize - swiperSize;
|
2047 |
+
snapGrid = snapGrid.map(function (snap) {
|
2048 |
+
if (snap < 0) return -offsetBefore;
|
2049 |
+
if (snap > maxSnap) return maxSnap + offsetAfter;
|
2050 |
+
return snap;
|
2051 |
+
});
|
2052 |
+
}
|
2053 |
+
|
2054 |
+
if (params.centerInsufficientSlides) {
|
2055 |
+
var _allSlidesSize = 0;
|
2056 |
+
slidesSizesGrid.forEach(function (slideSizeValue) {
|
2057 |
+
_allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
|
2058 |
+
});
|
2059 |
+
_allSlidesSize -= params.spaceBetween;
|
2060 |
+
|
2061 |
+
if (_allSlidesSize < swiperSize) {
|
2062 |
+
var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;
|
2063 |
+
snapGrid.forEach(function (snap, snapIndex) {
|
2064 |
+
snapGrid[snapIndex] = snap - allSlidesOffset;
|
2065 |
+
});
|
2066 |
+
slidesGrid.forEach(function (snap, snapIndex) {
|
2067 |
+
slidesGrid[snapIndex] = snap + allSlidesOffset;
|
2068 |
+
});
|
2069 |
+
}
|
2070 |
+
}
|
2071 |
+
|
2072 |
+
extend$1(swiper, {
|
2073 |
+
slides: slides,
|
2074 |
+
snapGrid: snapGrid,
|
2075 |
+
slidesGrid: slidesGrid,
|
2076 |
+
slidesSizesGrid: slidesSizesGrid
|
2077 |
+
});
|
2078 |
+
|
2079 |
+
if (slidesLength !== previousSlidesLength) {
|
2080 |
+
swiper.emit('slidesLengthChange');
|
2081 |
+
}
|
2082 |
+
|
2083 |
+
if (snapGrid.length !== previousSnapGridLength) {
|
2084 |
+
if (swiper.params.watchOverflow) swiper.checkOverflow();
|
2085 |
+
swiper.emit('snapGridLengthChange');
|
2086 |
+
}
|
2087 |
+
|
2088 |
+
if (slidesGrid.length !== previousSlidesGridLength) {
|
2089 |
+
swiper.emit('slidesGridLengthChange');
|
2090 |
+
}
|
2091 |
+
|
2092 |
+
if (params.watchSlidesProgress || params.watchSlidesVisibility) {
|
2093 |
+
swiper.updateSlidesOffset();
|
2094 |
+
}
|
2095 |
+
}
|
2096 |
+
|
2097 |
+
function updateAutoHeight(speed) {
|
2098 |
+
var swiper = this;
|
2099 |
+
var activeSlides = [];
|
2100 |
+
var newHeight = 0;
|
2101 |
+
var i;
|
2102 |
+
|
2103 |
+
if (typeof speed === 'number') {
|
2104 |
+
swiper.setTransition(speed);
|
2105 |
+
} else if (speed === true) {
|
2106 |
+
swiper.setTransition(swiper.params.speed);
|
2107 |
+
} // Find slides currently in view
|
2108 |
+
|
2109 |
+
|
2110 |
+
if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {
|
2111 |
+
if (swiper.params.centeredSlides) {
|
2112 |
+
swiper.visibleSlides.each(function (slide) {
|
2113 |
+
activeSlides.push(slide);
|
2114 |
+
});
|
2115 |
+
} else {
|
2116 |
+
for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {
|
2117 |
+
var index = swiper.activeIndex + i;
|
2118 |
+
if (index > swiper.slides.length) break;
|
2119 |
+
activeSlides.push(swiper.slides.eq(index)[0]);
|
2120 |
+
}
|
2121 |
+
}
|
2122 |
+
} else {
|
2123 |
+
activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);
|
2124 |
+
} // Find new height from highest slide in view
|
2125 |
+
|
2126 |
+
|
2127 |
+
for (i = 0; i < activeSlides.length; i += 1) {
|
2128 |
+
if (typeof activeSlides[i] !== 'undefined') {
|
2129 |
+
var height = activeSlides[i].offsetHeight;
|
2130 |
+
newHeight = height > newHeight ? height : newHeight;
|
2131 |
+
}
|
2132 |
+
} // Update Height
|
2133 |
+
|
2134 |
+
|
2135 |
+
if (newHeight) swiper.$wrapperEl.css('height', newHeight + "px");
|
2136 |
+
}
|
2137 |
+
|
2138 |
+
function updateSlidesOffset() {
|
2139 |
+
var swiper = this;
|
2140 |
+
var slides = swiper.slides;
|
2141 |
+
|
2142 |
+
for (var i = 0; i < slides.length; i += 1) {
|
2143 |
+
slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;
|
2144 |
+
}
|
2145 |
+
}
|
2146 |
+
|
2147 |
+
function updateSlidesProgress(translate) {
|
2148 |
+
if (translate === void 0) {
|
2149 |
+
translate = this && this.translate || 0;
|
2150 |
+
}
|
2151 |
+
|
2152 |
+
var swiper = this;
|
2153 |
+
var params = swiper.params;
|
2154 |
+
var slides = swiper.slides,
|
2155 |
+
rtl = swiper.rtlTranslate;
|
2156 |
+
if (slides.length === 0) return;
|
2157 |
+
if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();
|
2158 |
+
var offsetCenter = -translate;
|
2159 |
+
if (rtl) offsetCenter = translate; // Visible Slides
|
2160 |
+
|
2161 |
+
slides.removeClass(params.slideVisibleClass);
|
2162 |
+
swiper.visibleSlidesIndexes = [];
|
2163 |
+
swiper.visibleSlides = [];
|
2164 |
+
|
2165 |
+
for (var i = 0; i < slides.length; i += 1) {
|
2166 |
+
var slide = slides[i];
|
2167 |
+
var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);
|
2168 |
+
|
2169 |
+
if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {
|
2170 |
+
var slideBefore = -(offsetCenter - slide.swiperSlideOffset);
|
2171 |
+
var slideAfter = slideBefore + swiper.slidesSizesGrid[i];
|
2172 |
+
var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;
|
2173 |
+
|
2174 |
+
if (isVisible) {
|
2175 |
+
swiper.visibleSlides.push(slide);
|
2176 |
+
swiper.visibleSlidesIndexes.push(i);
|
2177 |
+
slides.eq(i).addClass(params.slideVisibleClass);
|
2178 |
+
}
|
2179 |
+
}
|
2180 |
+
|
2181 |
+
slide.progress = rtl ? -slideProgress : slideProgress;
|
2182 |
+
}
|
2183 |
+
|
2184 |
+
swiper.visibleSlides = $(swiper.visibleSlides);
|
2185 |
+
}
|
2186 |
+
|
2187 |
+
function updateProgress(translate) {
|
2188 |
+
var swiper = this;
|
2189 |
+
|
2190 |
+
if (typeof translate === 'undefined') {
|
2191 |
+
var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line
|
2192 |
+
|
2193 |
+
translate = swiper && swiper.translate && swiper.translate * multiplier || 0;
|
2194 |
+
}
|
2195 |
+
|
2196 |
+
var params = swiper.params;
|
2197 |
+
var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
|
2198 |
+
var progress = swiper.progress,
|
2199 |
+
isBeginning = swiper.isBeginning,
|
2200 |
+
isEnd = swiper.isEnd;
|
2201 |
+
var wasBeginning = isBeginning;
|
2202 |
+
var wasEnd = isEnd;
|
2203 |
+
|
2204 |
+
if (translatesDiff === 0) {
|
2205 |
+
progress = 0;
|
2206 |
+
isBeginning = true;
|
2207 |
+
isEnd = true;
|
2208 |
+
} else {
|
2209 |
+
progress = (translate - swiper.minTranslate()) / translatesDiff;
|
2210 |
+
isBeginning = progress <= 0;
|
2211 |
+
isEnd = progress >= 1;
|
2212 |
+
}
|
2213 |
+
|
2214 |
+
extend$1(swiper, {
|
2215 |
+
progress: progress,
|
2216 |
+
isBeginning: isBeginning,
|
2217 |
+
isEnd: isEnd
|
2218 |
+
});
|
2219 |
+
if (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);
|
2220 |
+
|
2221 |
+
if (isBeginning && !wasBeginning) {
|
2222 |
+
swiper.emit('reachBeginning toEdge');
|
2223 |
+
}
|
2224 |
+
|
2225 |
+
if (isEnd && !wasEnd) {
|
2226 |
+
swiper.emit('reachEnd toEdge');
|
2227 |
+
}
|
2228 |
+
|
2229 |
+
if (wasBeginning && !isBeginning || wasEnd && !isEnd) {
|
2230 |
+
swiper.emit('fromEdge');
|
2231 |
+
}
|
2232 |
+
|
2233 |
+
swiper.emit('progress', progress);
|
2234 |
+
}
|
2235 |
+
|
2236 |
+
function updateSlidesClasses() {
|
2237 |
+
var swiper = this;
|
2238 |
+
var slides = swiper.slides,
|
2239 |
+
params = swiper.params,
|
2240 |
+
$wrapperEl = swiper.$wrapperEl,
|
2241 |
+
activeIndex = swiper.activeIndex,
|
2242 |
+
realIndex = swiper.realIndex;
|
2243 |
+
var isVirtual = swiper.virtual && params.virtual.enabled;
|
2244 |
+
slides.removeClass(params.slideActiveClass + " " + params.slideNextClass + " " + params.slidePrevClass + " " + params.slideDuplicateActiveClass + " " + params.slideDuplicateNextClass + " " + params.slideDuplicatePrevClass);
|
2245 |
+
var activeSlide;
|
2246 |
+
|
2247 |
+
if (isVirtual) {
|
2248 |
+
activeSlide = swiper.$wrapperEl.find("." + params.slideClass + "[data-swiper-slide-index=\"" + activeIndex + "\"]");
|
2249 |
+
} else {
|
2250 |
+
activeSlide = slides.eq(activeIndex);
|
2251 |
+
} // Active classes
|
2252 |
+
|
2253 |
+
|
2254 |
+
activeSlide.addClass(params.slideActiveClass);
|
2255 |
+
|
2256 |
+
if (params.loop) {
|
2257 |
+
// Duplicate to all looped slides
|
2258 |
+
if (activeSlide.hasClass(params.slideDuplicateClass)) {
|
2259 |
+
$wrapperEl.children("." + params.slideClass + ":not(." + params.slideDuplicateClass + ")[data-swiper-slide-index=\"" + realIndex + "\"]").addClass(params.slideDuplicateActiveClass);
|
2260 |
+
} else {
|
2261 |
+
$wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass + "[data-swiper-slide-index=\"" + realIndex + "\"]").addClass(params.slideDuplicateActiveClass);
|
2262 |
+
}
|
2263 |
+
} // Next Slide
|
2264 |
+
|
2265 |
+
|
2266 |
+
var nextSlide = activeSlide.nextAll("." + params.slideClass).eq(0).addClass(params.slideNextClass);
|
2267 |
+
|
2268 |
+
if (params.loop && nextSlide.length === 0) {
|
2269 |
+
nextSlide = slides.eq(0);
|
2270 |
+
nextSlide.addClass(params.slideNextClass);
|
2271 |
+
} // Prev Slide
|
2272 |
+
|
2273 |
+
|
2274 |
+
var prevSlide = activeSlide.prevAll("." + params.slideClass).eq(0).addClass(params.slidePrevClass);
|
2275 |
+
|
2276 |
+
if (params.loop && prevSlide.length === 0) {
|
2277 |
+
prevSlide = slides.eq(-1);
|
2278 |
+
prevSlide.addClass(params.slidePrevClass);
|
2279 |
+
}
|
2280 |
+
|
2281 |
+
if (params.loop) {
|
2282 |
+
// Duplicate to all looped slides
|
2283 |
+
if (nextSlide.hasClass(params.slideDuplicateClass)) {
|
2284 |
+
$wrapperEl.children("." + params.slideClass + ":not(." + params.slideDuplicateClass + ")[data-swiper-slide-index=\"" + nextSlide.attr('data-swiper-slide-index') + "\"]").addClass(params.slideDuplicateNextClass);
|
2285 |
+
} else {
|
2286 |
+
$wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass + "[data-swiper-slide-index=\"" + nextSlide.attr('data-swiper-slide-index') + "\"]").addClass(params.slideDuplicateNextClass);
|
2287 |
+
}
|
2288 |
+
|
2289 |
+
if (prevSlide.hasClass(params.slideDuplicateClass)) {
|
2290 |
+
$wrapperEl.children("." + params.slideClass + ":not(." + params.slideDuplicateClass + ")[data-swiper-slide-index=\"" + prevSlide.attr('data-swiper-slide-index') + "\"]").addClass(params.slideDuplicatePrevClass);
|
2291 |
+
} else {
|
2292 |
+
$wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass + "[data-swiper-slide-index=\"" + prevSlide.attr('data-swiper-slide-index') + "\"]").addClass(params.slideDuplicatePrevClass);
|
2293 |
+
}
|
2294 |
+
}
|
2295 |
+
|
2296 |
+
swiper.emitSlidesClasses();
|
2297 |
+
}
|
2298 |
+
|
2299 |
+
function updateActiveIndex(newActiveIndex) {
|
2300 |
+
var swiper = this;
|
2301 |
+
var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
|
2302 |
+
var slidesGrid = swiper.slidesGrid,
|
2303 |
+
snapGrid = swiper.snapGrid,
|
2304 |
+
params = swiper.params,
|
2305 |
+
previousIndex = swiper.activeIndex,
|
2306 |
+
previousRealIndex = swiper.realIndex,
|
2307 |
+
previousSnapIndex = swiper.snapIndex;
|
2308 |
+
var activeIndex = newActiveIndex;
|
2309 |
+
var snapIndex;
|
2310 |
+
|
2311 |
+
if (typeof activeIndex === 'undefined') {
|
2312 |
+
for (var i = 0; i < slidesGrid.length; i += 1) {
|
2313 |
+
if (typeof slidesGrid[i + 1] !== 'undefined') {
|
2314 |
+
if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {
|
2315 |
+
activeIndex = i;
|
2316 |
+
} else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {
|
2317 |
+
activeIndex = i + 1;
|
2318 |
+
}
|
2319 |
+
} else if (translate >= slidesGrid[i]) {
|
2320 |
+
activeIndex = i;
|
2321 |
+
}
|
2322 |
+
} // Normalize slideIndex
|
2323 |
+
|
2324 |
+
|
2325 |
+
if (params.normalizeSlideIndex) {
|
2326 |
+
if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;
|
2327 |
+
}
|
2328 |
+
}
|
2329 |
+
|
2330 |
+
if (snapGrid.indexOf(translate) >= 0) {
|
2331 |
+
snapIndex = snapGrid.indexOf(translate);
|
2332 |
+
} else {
|
2333 |
+
var skip = Math.min(params.slidesPerGroupSkip, activeIndex);
|
2334 |
+
snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
|
2335 |
+
}
|
2336 |
+
|
2337 |
+
if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
|
2338 |
+
|
2339 |
+
if (activeIndex === previousIndex) {
|
2340 |
+
if (snapIndex !== previousSnapIndex) {
|
2341 |
+
swiper.snapIndex = snapIndex;
|
2342 |
+
swiper.emit('snapIndexChange');
|
2343 |
+
}
|
2344 |
+
|
2345 |
+
return;
|
2346 |
+
} // Get real index
|
2347 |
+
|
2348 |
+
|
2349 |
+
var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);
|
2350 |
+
extend$1(swiper, {
|
2351 |
+
snapIndex: snapIndex,
|
2352 |
+
realIndex: realIndex,
|
2353 |
+
previousIndex: previousIndex,
|
2354 |
+
activeIndex: activeIndex
|
2355 |
+
});
|
2356 |
+
swiper.emit('activeIndexChange');
|
2357 |
+
swiper.emit('snapIndexChange');
|
2358 |
+
|
2359 |
+
if (previousRealIndex !== realIndex) {
|
2360 |
+
swiper.emit('realIndexChange');
|
2361 |
+
}
|
2362 |
+
|
2363 |
+
if (swiper.initialized || swiper.params.runCallbacksOnInit) {
|
2364 |
+
swiper.emit('slideChange');
|
2365 |
+
}
|
2366 |
+
}
|
2367 |
+
|
2368 |
+
function updateClickedSlide(e) {
|
2369 |
+
var swiper = this;
|
2370 |
+
var params = swiper.params;
|
2371 |
+
var slide = $(e.target).closest("." + params.slideClass)[0];
|
2372 |
+
var slideFound = false;
|
2373 |
+
|
2374 |
+
if (slide) {
|
2375 |
+
for (var i = 0; i < swiper.slides.length; i += 1) {
|
2376 |
+
if (swiper.slides[i] === slide) slideFound = true;
|
2377 |
+
}
|
2378 |
+
}
|
2379 |
+
|
2380 |
+
if (slide && slideFound) {
|
2381 |
+
swiper.clickedSlide = slide;
|
2382 |
+
|
2383 |
+
if (swiper.virtual && swiper.params.virtual.enabled) {
|
2384 |
+
swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);
|
2385 |
+
} else {
|
2386 |
+
swiper.clickedIndex = $(slide).index();
|
2387 |
+
}
|
2388 |
+
} else {
|
2389 |
+
swiper.clickedSlide = undefined;
|
2390 |
+
swiper.clickedIndex = undefined;
|
2391 |
+
return;
|
2392 |
+
}
|
2393 |
+
|
2394 |
+
if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {
|
2395 |
+
swiper.slideToClickedSlide();
|
2396 |
+
}
|
2397 |
+
}
|
2398 |
+
|
2399 |
+
var update = {
|
2400 |
+
updateSize: updateSize,
|
2401 |
+
updateSlides: updateSlides,
|
2402 |
+
updateAutoHeight: updateAutoHeight,
|
2403 |
+
updateSlidesOffset: updateSlidesOffset,
|
2404 |
+
updateSlidesProgress: updateSlidesProgress,
|
2405 |
+
updateProgress: updateProgress,
|
2406 |
+
updateSlidesClasses: updateSlidesClasses,
|
2407 |
+
updateActiveIndex: updateActiveIndex,
|
2408 |
+
updateClickedSlide: updateClickedSlide
|
2409 |
+
};
|
2410 |
+
|
2411 |
+
function getSwiperTranslate(axis) {
|
2412 |
+
if (axis === void 0) {
|
2413 |
+
axis = this.isHorizontal() ? 'x' : 'y';
|
2414 |
+
}
|
2415 |
+
|
2416 |
+
var swiper = this;
|
2417 |
+
var params = swiper.params,
|
2418 |
+
rtl = swiper.rtlTranslate,
|
2419 |
+
translate = swiper.translate,
|
2420 |
+
$wrapperEl = swiper.$wrapperEl;
|
2421 |
+
|
2422 |
+
if (params.virtualTranslate) {
|
2423 |
+
return rtl ? -translate : translate;
|
2424 |
+
}
|
2425 |
+
|
2426 |
+
if (params.cssMode) {
|
2427 |
+
return translate;
|
2428 |
+
}
|
2429 |
+
|
2430 |
+
var currentTranslate = getTranslate($wrapperEl[0], axis);
|
2431 |
+
if (rtl) currentTranslate = -currentTranslate;
|
2432 |
+
return currentTranslate || 0;
|
2433 |
+
}
|
2434 |
+
|
2435 |
+
function setTranslate(translate, byController) {
|
2436 |
+
var swiper = this;
|
2437 |
+
var rtl = swiper.rtlTranslate,
|
2438 |
+
params = swiper.params,
|
2439 |
+
$wrapperEl = swiper.$wrapperEl,
|
2440 |
+
wrapperEl = swiper.wrapperEl,
|
2441 |
+
progress = swiper.progress;
|
2442 |
+
var x = 0;
|
2443 |
+
var y = 0;
|
2444 |
+
var z = 0;
|
2445 |
+
|
2446 |
+
if (swiper.isHorizontal()) {
|
2447 |
+
x = rtl ? -translate : translate;
|
2448 |
+
} else {
|
2449 |
+
y = translate;
|
2450 |
+
}
|
2451 |
+
|
2452 |
+
if (params.roundLengths) {
|
2453 |
+
x = Math.floor(x);
|
2454 |
+
y = Math.floor(y);
|
2455 |
+
}
|
2456 |
+
|
2457 |
+
if (params.cssMode) {
|
2458 |
+
wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;
|
2459 |
+
} else if (!params.virtualTranslate) {
|
2460 |
+
$wrapperEl.transform("translate3d(" + x + "px, " + y + "px, " + z + "px)");
|
2461 |
+
}
|
2462 |
+
|
2463 |
+
swiper.previousTranslate = swiper.translate;
|
2464 |
+
swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress
|
2465 |
+
|
2466 |
+
var newProgress;
|
2467 |
+
var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
|
2468 |
+
|
2469 |
+
if (translatesDiff === 0) {
|
2470 |
+
newProgress = 0;
|
2471 |
+
} else {
|
2472 |
+
newProgress = (translate - swiper.minTranslate()) / translatesDiff;
|
2473 |
+
}
|
2474 |
+
|
2475 |
+
if (newProgress !== progress) {
|
2476 |
+
swiper.updateProgress(translate);
|
2477 |
+
}
|
2478 |
+
|
2479 |
+
swiper.emit('setTranslate', swiper.translate, byController);
|
2480 |
+
}
|
2481 |
+
|
2482 |
+
function minTranslate() {
|
2483 |
+
return -this.snapGrid[0];
|
2484 |
+
}
|
2485 |
+
|
2486 |
+
function maxTranslate() {
|
2487 |
+
return -this.snapGrid[this.snapGrid.length - 1];
|
2488 |
+
}
|
2489 |
+
|
2490 |
+
function translateTo(translate, speed, runCallbacks, translateBounds, internal) {
|
2491 |
+
if (translate === void 0) {
|
2492 |
+
translate = 0;
|
2493 |
+
}
|
2494 |
+
|
2495 |
+
if (speed === void 0) {
|
2496 |
+
speed = this.params.speed;
|
2497 |
+
}
|
2498 |
+
|
2499 |
+
if (runCallbacks === void 0) {
|
2500 |
+
runCallbacks = true;
|
2501 |
+
}
|
2502 |
+
|
2503 |
+
if (translateBounds === void 0) {
|
2504 |
+
translateBounds = true;
|
2505 |
+
}
|
2506 |
+
|
2507 |
+
var swiper = this;
|
2508 |
+
var params = swiper.params,
|
2509 |
+
wrapperEl = swiper.wrapperEl;
|
2510 |
+
|
2511 |
+
if (swiper.animating && params.preventInteractionOnTransition) {
|
2512 |
+
return false;
|
2513 |
+
}
|
2514 |
+
|
2515 |
+
var minTranslate = swiper.minTranslate();
|
2516 |
+
var maxTranslate = swiper.maxTranslate();
|
2517 |
+
var newTranslate;
|
2518 |
+
if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress
|
2519 |
+
|
2520 |
+
swiper.updateProgress(newTranslate);
|
2521 |
+
|
2522 |
+
if (params.cssMode) {
|
2523 |
+
var isH = swiper.isHorizontal();
|
2524 |
+
|
2525 |
+
if (speed === 0) {
|
2526 |
+
wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;
|
2527 |
+
} else {
|
2528 |
+
// eslint-disable-next-line
|
2529 |
+
if (wrapperEl.scrollTo) {
|
2530 |
+
var _wrapperEl$scrollTo;
|
2531 |
+
|
2532 |
+
wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));
|
2533 |
+
} else {
|
2534 |
+
wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;
|
2535 |
+
}
|
2536 |
+
}
|
2537 |
+
|
2538 |
+
return true;
|
2539 |
+
}
|
2540 |
+
|
2541 |
+
if (speed === 0) {
|
2542 |
+
swiper.setTransition(0);
|
2543 |
+
swiper.setTranslate(newTranslate);
|
2544 |
+
|
2545 |
+
if (runCallbacks) {
|
2546 |
+
swiper.emit('beforeTransitionStart', speed, internal);
|
2547 |
+
swiper.emit('transitionEnd');
|
2548 |
+
}
|
2549 |
+
} else {
|
2550 |
+
swiper.setTransition(speed);
|
2551 |
+
swiper.setTranslate(newTranslate);
|
2552 |
+
|
2553 |
+
if (runCallbacks) {
|
2554 |
+
swiper.emit('beforeTransitionStart', speed, internal);
|
2555 |
+
swiper.emit('transitionStart');
|
2556 |
+
}
|
2557 |
+
|
2558 |
+
if (!swiper.animating) {
|
2559 |
+
swiper.animating = true;
|
2560 |
+
|
2561 |
+
if (!swiper.onTranslateToWrapperTransitionEnd) {
|
2562 |
+
swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {
|
2563 |
+
if (!swiper || swiper.destroyed) return;
|
2564 |
+
if (e.target !== this) return;
|
2565 |
+
swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
|
2566 |
+
swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
|
2567 |
+
swiper.onTranslateToWrapperTransitionEnd = null;
|
2568 |
+
delete swiper.onTranslateToWrapperTransitionEnd;
|
2569 |
+
|
2570 |
+
if (runCallbacks) {
|
2571 |
+
swiper.emit('transitionEnd');
|
2572 |
+
}
|
2573 |
+
};
|
2574 |
+
}
|
2575 |
+
|
2576 |
+
swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
|
2577 |
+
swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
|
2578 |
+
}
|
2579 |
+
}
|
2580 |
+
|
2581 |
+
return true;
|
2582 |
+
}
|
2583 |
+
|
2584 |
+
var translate = {
|
2585 |
+
getTranslate: getSwiperTranslate,
|
2586 |
+
setTranslate: setTranslate,
|
2587 |
+
minTranslate: minTranslate,
|
2588 |
+
maxTranslate: maxTranslate,
|
2589 |
+
translateTo: translateTo
|
2590 |
+
};
|
2591 |
+
|
2592 |
+
function setTransition(duration, byController) {
|
2593 |
+
var swiper = this;
|
2594 |
+
|
2595 |
+
if (!swiper.params.cssMode) {
|
2596 |
+
swiper.$wrapperEl.transition(duration);
|
2597 |
+
}
|
2598 |
+
|
2599 |
+
swiper.emit('setTransition', duration, byController);
|
2600 |
+
}
|
2601 |
+
|
2602 |
+
function transitionStart(runCallbacks, direction) {
|
2603 |
+
if (runCallbacks === void 0) {
|
2604 |
+
runCallbacks = true;
|
2605 |
+
}
|
2606 |
+
|
2607 |
+
var swiper = this;
|
2608 |
+
var activeIndex = swiper.activeIndex,
|
2609 |
+
params = swiper.params,
|
2610 |
+
previousIndex = swiper.previousIndex;
|
2611 |
+
if (params.cssMode) return;
|
2612 |
+
|
2613 |
+
if (params.autoHeight) {
|
2614 |
+
swiper.updateAutoHeight();
|
2615 |
+
}
|
2616 |
+
|
2617 |
+
var dir = direction;
|
2618 |
+
|
2619 |
+
if (!dir) {
|
2620 |
+
if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
|
2621 |
+
}
|
2622 |
+
|
2623 |
+
swiper.emit('transitionStart');
|
2624 |
+
|
2625 |
+
if (runCallbacks && activeIndex !== previousIndex) {
|
2626 |
+
if (dir === 'reset') {
|
2627 |
+
swiper.emit('slideResetTransitionStart');
|
2628 |
+
return;
|
2629 |
+
}
|
2630 |
+
|
2631 |
+
swiper.emit('slideChangeTransitionStart');
|
2632 |
+
|
2633 |
+
if (dir === 'next') {
|
2634 |
+
swiper.emit('slideNextTransitionStart');
|
2635 |
+
} else {
|
2636 |
+
swiper.emit('slidePrevTransitionStart');
|
2637 |
+
}
|
2638 |
+
}
|
2639 |
+
}
|
2640 |
+
|
2641 |
+
function transitionEnd$1(runCallbacks, direction) {
|
2642 |
+
if (runCallbacks === void 0) {
|
2643 |
+
runCallbacks = true;
|
2644 |
+
}
|
2645 |
+
|
2646 |
+
var swiper = this;
|
2647 |
+
var activeIndex = swiper.activeIndex,
|
2648 |
+
previousIndex = swiper.previousIndex,
|
2649 |
+
params = swiper.params;
|
2650 |
+
swiper.animating = false;
|
2651 |
+
if (params.cssMode) return;
|
2652 |
+
swiper.setTransition(0);
|
2653 |
+
var dir = direction;
|
2654 |
+
|
2655 |
+
if (!dir) {
|
2656 |
+
if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
|
2657 |
+
}
|
2658 |
+
|
2659 |
+
swiper.emit('transitionEnd');
|
2660 |
+
|
2661 |
+
if (runCallbacks && activeIndex !== previousIndex) {
|
2662 |
+
if (dir === 'reset') {
|
2663 |
+
swiper.emit('slideResetTransitionEnd');
|
2664 |
+
return;
|
2665 |
+
}
|
2666 |
+
|
2667 |
+
swiper.emit('slideChangeTransitionEnd');
|
2668 |
+
|
2669 |
+
if (dir === 'next') {
|
2670 |
+
swiper.emit('slideNextTransitionEnd');
|
2671 |
+
} else {
|
2672 |
+
swiper.emit('slidePrevTransitionEnd');
|
2673 |
+
}
|
2674 |
+
}
|
2675 |
+
}
|
2676 |
+
|
2677 |
+
var transition$1 = {
|
2678 |
+
setTransition: setTransition,
|
2679 |
+
transitionStart: transitionStart,
|
2680 |
+
transitionEnd: transitionEnd$1
|
2681 |
+
};
|
2682 |
+
|
2683 |
+
function slideTo(index, speed, runCallbacks, internal) {
|
2684 |
+
if (index === void 0) {
|
2685 |
+
index = 0;
|
2686 |
+
}
|
2687 |
+
|
2688 |
+
if (speed === void 0) {
|
2689 |
+
speed = this.params.speed;
|
2690 |
+
}
|
2691 |
+
|
2692 |
+
if (runCallbacks === void 0) {
|
2693 |
+
runCallbacks = true;
|
2694 |
+
}
|
2695 |
+
|
2696 |
+
var swiper = this;
|
2697 |
+
var slideIndex = index;
|
2698 |
+
if (slideIndex < 0) slideIndex = 0;
|
2699 |
+
var params = swiper.params,
|
2700 |
+
snapGrid = swiper.snapGrid,
|
2701 |
+
slidesGrid = swiper.slidesGrid,
|
2702 |
+
previousIndex = swiper.previousIndex,
|
2703 |
+
activeIndex = swiper.activeIndex,
|
2704 |
+
rtl = swiper.rtlTranslate,
|
2705 |
+
wrapperEl = swiper.wrapperEl;
|
2706 |
+
|
2707 |
+
if (swiper.animating && params.preventInteractionOnTransition) {
|
2708 |
+
return false;
|
2709 |
+
}
|
2710 |
+
|
2711 |
+
var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
|
2712 |
+
var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
|
2713 |
+
if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
|
2714 |
+
|
2715 |
+
if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {
|
2716 |
+
swiper.emit('beforeSlideChangeStart');
|
2717 |
+
}
|
2718 |
+
|
2719 |
+
var translate = -snapGrid[snapIndex]; // Update progress
|
2720 |
+
|
2721 |
+
swiper.updateProgress(translate); // Normalize slideIndex
|
2722 |
+
|
2723 |
+
if (params.normalizeSlideIndex) {
|
2724 |
+
for (var i = 0; i < slidesGrid.length; i += 1) {
|
2725 |
+
if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {
|
2726 |
+
slideIndex = i;
|
2727 |
+
}
|
2728 |
+
}
|
2729 |
+
} // Directions locks
|
2730 |
+
|
2731 |
+
|
2732 |
+
if (swiper.initialized && slideIndex !== activeIndex) {
|
2733 |
+
if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {
|
2734 |
+
return false;
|
2735 |
+
}
|
2736 |
+
|
2737 |
+
if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {
|
2738 |
+
if ((activeIndex || 0) !== slideIndex) return false;
|
2739 |
+
}
|
2740 |
+
}
|
2741 |
+
|
2742 |
+
var direction;
|
2743 |
+
if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index
|
2744 |
+
|
2745 |
+
if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {
|
2746 |
+
swiper.updateActiveIndex(slideIndex); // Update Height
|
2747 |
+
|
2748 |
+
if (params.autoHeight) {
|
2749 |
+
swiper.updateAutoHeight();
|
2750 |
+
}
|
2751 |
+
|
2752 |
+
swiper.updateSlidesClasses();
|
2753 |
+
|
2754 |
+
if (params.effect !== 'slide') {
|
2755 |
+
swiper.setTranslate(translate);
|
2756 |
+
}
|
2757 |
+
|
2758 |
+
if (direction !== 'reset') {
|
2759 |
+
swiper.transitionStart(runCallbacks, direction);
|
2760 |
+
swiper.transitionEnd(runCallbacks, direction);
|
2761 |
+
}
|
2762 |
+
|
2763 |
+
return false;
|
2764 |
+
}
|
2765 |
+
|
2766 |
+
if (params.cssMode) {
|
2767 |
+
var isH = swiper.isHorizontal();
|
2768 |
+
var t = -translate;
|
2769 |
+
|
2770 |
+
if (rtl) {
|
2771 |
+
t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;
|
2772 |
+
}
|
2773 |
+
|
2774 |
+
if (speed === 0) {
|
2775 |
+
wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
|
2776 |
+
} else {
|
2777 |
+
// eslint-disable-next-line
|
2778 |
+
if (wrapperEl.scrollTo) {
|
2779 |
+
var _wrapperEl$scrollTo;
|
2780 |
+
|
2781 |
+
wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));
|
2782 |
+
} else {
|
2783 |
+
wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
|
2784 |
+
}
|
2785 |
+
}
|
2786 |
+
|
2787 |
+
return true;
|
2788 |
+
}
|
2789 |
+
|
2790 |
+
if (speed === 0) {
|
2791 |
+
swiper.setTransition(0);
|
2792 |
+
swiper.setTranslate(translate);
|
2793 |
+
swiper.updateActiveIndex(slideIndex);
|
2794 |
+
swiper.updateSlidesClasses();
|
2795 |
+
swiper.emit('beforeTransitionStart', speed, internal);
|
2796 |
+
swiper.transitionStart(runCallbacks, direction);
|
2797 |
+
swiper.transitionEnd(runCallbacks, direction);
|
2798 |
+
} else {
|
2799 |
+
swiper.setTransition(speed);
|
2800 |
+
swiper.setTranslate(translate);
|
2801 |
+
swiper.updateActiveIndex(slideIndex);
|
2802 |
+
swiper.updateSlidesClasses();
|
2803 |
+
swiper.emit('beforeTransitionStart', speed, internal);
|
2804 |
+
swiper.transitionStart(runCallbacks, direction);
|
2805 |
+
|
2806 |
+
if (!swiper.animating) {
|
2807 |
+
swiper.animating = true;
|
2808 |
+
|
2809 |
+
if (!swiper.onSlideToWrapperTransitionEnd) {
|
2810 |
+
swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {
|
2811 |
+
if (!swiper || swiper.destroyed) return;
|
2812 |
+
if (e.target !== this) return;
|
2813 |
+
swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
|
2814 |
+
swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
|
2815 |
+
swiper.onSlideToWrapperTransitionEnd = null;
|
2816 |
+
delete swiper.onSlideToWrapperTransitionEnd;
|
2817 |
+
swiper.transitionEnd(runCallbacks, direction);
|
2818 |
+
};
|
2819 |
+
}
|
2820 |
+
|
2821 |
+
swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
|
2822 |
+
swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
|
2823 |
+
}
|
2824 |
+
}
|
2825 |
+
|
2826 |
+
return true;
|
2827 |
+
}
|
2828 |
+
|
2829 |
+
function slideToLoop(index, speed, runCallbacks, internal) {
|
2830 |
+
if (index === void 0) {
|
2831 |
+
index = 0;
|
2832 |
+
}
|
2833 |
+
|
2834 |
+
if (speed === void 0) {
|
2835 |
+
speed = this.params.speed;
|
2836 |
+
}
|
2837 |
+
|
2838 |
+
if (runCallbacks === void 0) {
|
2839 |
+
runCallbacks = true;
|
2840 |
+
}
|
2841 |
+
|
2842 |
+
var swiper = this;
|
2843 |
+
var newIndex = index;
|
2844 |
+
|
2845 |
+
if (swiper.params.loop) {
|
2846 |
+
newIndex += swiper.loopedSlides;
|
2847 |
+
}
|
2848 |
+
|
2849 |
+
return swiper.slideTo(newIndex, speed, runCallbacks, internal);
|
2850 |
+
}
|
2851 |
+
|
2852 |
+
/* eslint no-unused-vars: "off" */
|
2853 |
+
function slideNext(speed, runCallbacks, internal) {
|
2854 |
+
if (speed === void 0) {
|
2855 |
+
speed = this.params.speed;
|
2856 |
+
}
|
2857 |
+
|
2858 |
+
if (runCallbacks === void 0) {
|
2859 |
+
runCallbacks = true;
|
2860 |
+
}
|
2861 |
+
|
2862 |
+
var swiper = this;
|
2863 |
+
var params = swiper.params,
|
2864 |
+
animating = swiper.animating;
|
2865 |
+
var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;
|
2866 |
+
|
2867 |
+
if (params.loop) {
|
2868 |
+
if (animating && params.loopPreventsSlide) return false;
|
2869 |
+
swiper.loopFix(); // eslint-disable-next-line
|
2870 |
+
|
2871 |
+
swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
|
2872 |
+
}
|
2873 |
+
|
2874 |
+
return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
|
2875 |
+
}
|
2876 |
+
|
2877 |
+
/* eslint no-unused-vars: "off" */
|
2878 |
+
function slidePrev(speed, runCallbacks, internal) {
|
2879 |
+
if (speed === void 0) {
|
2880 |
+
speed = this.params.speed;
|
2881 |
+
}
|
2882 |
+
|
2883 |
+
if (runCallbacks === void 0) {
|
2884 |
+
runCallbacks = true;
|
2885 |
+
}
|
2886 |
+
|
2887 |
+
var swiper = this;
|
2888 |
+
var params = swiper.params,
|
2889 |
+
animating = swiper.animating,
|
2890 |
+
snapGrid = swiper.snapGrid,
|
2891 |
+
slidesGrid = swiper.slidesGrid,
|
2892 |
+
rtlTranslate = swiper.rtlTranslate;
|
2893 |
+
|
2894 |
+
if (params.loop) {
|
2895 |
+
if (animating && params.loopPreventsSlide) return false;
|
2896 |
+
swiper.loopFix(); // eslint-disable-next-line
|
2897 |
+
|
2898 |
+
swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
|
2899 |
+
}
|
2900 |
+
|
2901 |
+
var translate = rtlTranslate ? swiper.translate : -swiper.translate;
|
2902 |
+
|
2903 |
+
function normalize(val) {
|
2904 |
+
if (val < 0) return -Math.floor(Math.abs(val));
|
2905 |
+
return Math.floor(val);
|
2906 |
+
}
|
2907 |
+
|
2908 |
+
var normalizedTranslate = normalize(translate);
|
2909 |
+
var normalizedSnapGrid = snapGrid.map(function (val) {
|
2910 |
+
return normalize(val);
|
2911 |
+
});
|
2912 |
+
var currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];
|
2913 |
+
var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
|
2914 |
+
|
2915 |
+
if (typeof prevSnap === 'undefined' && params.cssMode) {
|
2916 |
+
snapGrid.forEach(function (snap) {
|
2917 |
+
if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;
|
2918 |
+
});
|
2919 |
+
}
|
2920 |
+
|
2921 |
+
var prevIndex;
|
2922 |
+
|
2923 |
+
if (typeof prevSnap !== 'undefined') {
|
2924 |
+
prevIndex = slidesGrid.indexOf(prevSnap);
|
2925 |
+
if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;
|
2926 |
+
}
|
2927 |
+
|
2928 |
+
return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
|
2929 |
+
}
|
2930 |
+
|
2931 |
+
/* eslint no-unused-vars: "off" */
|
2932 |
+
function slideReset(speed, runCallbacks, internal) {
|
2933 |
+
if (speed === void 0) {
|
2934 |
+
speed = this.params.speed;
|
2935 |
+
}
|
2936 |
+
|
2937 |
+
if (runCallbacks === void 0) {
|
2938 |
+
runCallbacks = true;
|
2939 |
+
}
|
2940 |
+
|
2941 |
+
var swiper = this;
|
2942 |
+
return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
|
2943 |
+
}
|
2944 |
+
|
2945 |
+
/* eslint no-unused-vars: "off" */
|
2946 |
+
function slideToClosest(speed, runCallbacks, internal, threshold) {
|
2947 |
+
if (speed === void 0) {
|
2948 |
+
speed = this.params.speed;
|
2949 |
+
}
|
2950 |
+
|
2951 |
+
if (runCallbacks === void 0) {
|
2952 |
+
runCallbacks = true;
|
2953 |
+
}
|
2954 |
+
|
2955 |
+
if (threshold === void 0) {
|
2956 |
+
threshold = 0.5;
|
2957 |
+
}
|
2958 |
+
|
2959 |
+
var swiper = this;
|
2960 |
+
var index = swiper.activeIndex;
|
2961 |
+
var skip = Math.min(swiper.params.slidesPerGroupSkip, index);
|
2962 |
+
var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
|
2963 |
+
var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
|
2964 |
+
|
2965 |
+
if (translate >= swiper.snapGrid[snapIndex]) {
|
2966 |
+
// The current translate is on or after the current snap index, so the choice
|
2967 |
+
// is between the current index and the one after it.
|
2968 |
+
var currentSnap = swiper.snapGrid[snapIndex];
|
2969 |
+
var nextSnap = swiper.snapGrid[snapIndex + 1];
|
2970 |
+
|
2971 |
+
if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {
|
2972 |
+
index += swiper.params.slidesPerGroup;
|
2973 |
+
}
|
2974 |
+
} else {
|
2975 |
+
// The current translate is before the current snap index, so the choice
|
2976 |
+
// is between the current index and the one before it.
|
2977 |
+
var prevSnap = swiper.snapGrid[snapIndex - 1];
|
2978 |
+
var _currentSnap = swiper.snapGrid[snapIndex];
|
2979 |
+
|
2980 |
+
if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {
|
2981 |
+
index -= swiper.params.slidesPerGroup;
|
2982 |
+
}
|
2983 |
+
}
|
2984 |
+
|
2985 |
+
index = Math.max(index, 0);
|
2986 |
+
index = Math.min(index, swiper.slidesGrid.length - 1);
|
2987 |
+
return swiper.slideTo(index, speed, runCallbacks, internal);
|
2988 |
+
}
|
2989 |
+
|
2990 |
+
function slideToClickedSlide() {
|
2991 |
+
var swiper = this;
|
2992 |
+
var params = swiper.params,
|
2993 |
+
$wrapperEl = swiper.$wrapperEl;
|
2994 |
+
var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
|
2995 |
+
var slideToIndex = swiper.clickedIndex;
|
2996 |
+
var realIndex;
|
2997 |
+
|
2998 |
+
if (params.loop) {
|
2999 |
+
if (swiper.animating) return;
|
3000 |
+
realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);
|
3001 |
+
|
3002 |
+
if (params.centeredSlides) {
|
3003 |
+
if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {
|
3004 |
+
swiper.loopFix();
|
3005 |
+
slideToIndex = $wrapperEl.children("." + params.slideClass + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + params.slideDuplicateClass + ")").eq(0).index();
|
3006 |
+
nextTick(function () {
|
3007 |
+
swiper.slideTo(slideToIndex);
|
3008 |
+
});
|
3009 |
+
} else {
|
3010 |
+
swiper.slideTo(slideToIndex);
|
3011 |
+
}
|
3012 |
+
} else if (slideToIndex > swiper.slides.length - slidesPerView) {
|
3013 |
+
swiper.loopFix();
|
3014 |
+
slideToIndex = $wrapperEl.children("." + params.slideClass + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + params.slideDuplicateClass + ")").eq(0).index();
|
3015 |
+
nextTick(function () {
|
3016 |
+
swiper.slideTo(slideToIndex);
|
3017 |
+
});
|
3018 |
+
} else {
|
3019 |
+
swiper.slideTo(slideToIndex);
|
3020 |
+
}
|
3021 |
+
} else {
|
3022 |
+
swiper.slideTo(slideToIndex);
|
3023 |
+
}
|
3024 |
+
}
|
3025 |
+
|
3026 |
+
var slide = {
|
3027 |
+
slideTo: slideTo,
|
3028 |
+
slideToLoop: slideToLoop,
|
3029 |
+
slideNext: slideNext,
|
3030 |
+
slidePrev: slidePrev,
|
3031 |
+
slideReset: slideReset,
|
3032 |
+
slideToClosest: slideToClosest,
|
3033 |
+
slideToClickedSlide: slideToClickedSlide
|
3034 |
+
};
|
3035 |
+
|
3036 |
+
function loopCreate() {
|
3037 |
+
var swiper = this;
|
3038 |
+
var document = getDocument();
|
3039 |
+
var params = swiper.params,
|
3040 |
+
$wrapperEl = swiper.$wrapperEl; // Remove duplicated slides
|
3041 |
+
|
3042 |
+
$wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass).remove();
|
3043 |
+
var slides = $wrapperEl.children("." + params.slideClass);
|
3044 |
+
|
3045 |
+
if (params.loopFillGroupWithBlank) {
|
3046 |
+
var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;
|
3047 |
+
|
3048 |
+
if (blankSlidesNum !== params.slidesPerGroup) {
|
3049 |
+
for (var i = 0; i < blankSlidesNum; i += 1) {
|
3050 |
+
var blankNode = $(document.createElement('div')).addClass(params.slideClass + " " + params.slideBlankClass);
|
3051 |
+
$wrapperEl.append(blankNode);
|
3052 |
+
}
|
3053 |
+
|
3054 |
+
slides = $wrapperEl.children("." + params.slideClass);
|
3055 |
+
}
|
3056 |
+
}
|
3057 |
+
|
3058 |
+
if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;
|
3059 |
+
swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));
|
3060 |
+
swiper.loopedSlides += params.loopAdditionalSlides;
|
3061 |
+
|
3062 |
+
if (swiper.loopedSlides > slides.length) {
|
3063 |
+
swiper.loopedSlides = slides.length;
|
3064 |
+
}
|
3065 |
+
|
3066 |
+
var prependSlides = [];
|
3067 |
+
var appendSlides = [];
|
3068 |
+
slides.each(function (el, index) {
|
3069 |
+
var slide = $(el);
|
3070 |
+
|
3071 |
+
if (index < swiper.loopedSlides) {
|
3072 |
+
appendSlides.push(el);
|
3073 |
+
}
|
3074 |
+
|
3075 |
+
if (index < slides.length && index >= slides.length - swiper.loopedSlides) {
|
3076 |
+
prependSlides.push(el);
|
3077 |
+
}
|
3078 |
+
|
3079 |
+
slide.attr('data-swiper-slide-index', index);
|
3080 |
+
});
|
3081 |
+
|
3082 |
+
for (var _i = 0; _i < appendSlides.length; _i += 1) {
|
3083 |
+
$wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));
|
3084 |
+
}
|
3085 |
+
|
3086 |
+
for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {
|
3087 |
+
$wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));
|
3088 |
+
}
|
3089 |
+
}
|
3090 |
+
|
3091 |
+
function loopFix() {
|
3092 |
+
var swiper = this;
|
3093 |
+
swiper.emit('beforeLoopFix');
|
3094 |
+
var activeIndex = swiper.activeIndex,
|
3095 |
+
slides = swiper.slides,
|
3096 |
+
loopedSlides = swiper.loopedSlides,
|
3097 |
+
allowSlidePrev = swiper.allowSlidePrev,
|
3098 |
+
allowSlideNext = swiper.allowSlideNext,
|
3099 |
+
snapGrid = swiper.snapGrid,
|
3100 |
+
rtl = swiper.rtlTranslate;
|
3101 |
+
var newIndex;
|
3102 |
+
swiper.allowSlidePrev = true;
|
3103 |
+
swiper.allowSlideNext = true;
|
3104 |
+
var snapTranslate = -snapGrid[activeIndex];
|
3105 |
+
var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding
|
3106 |
+
|
3107 |
+
if (activeIndex < loopedSlides) {
|
3108 |
+
newIndex = slides.length - loopedSlides * 3 + activeIndex;
|
3109 |
+
newIndex += loopedSlides;
|
3110 |
+
var slideChanged = swiper.slideTo(newIndex, 0, false, true);
|
3111 |
+
|
3112 |
+
if (slideChanged && diff !== 0) {
|
3113 |
+
swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
|
3114 |
+
}
|
3115 |
+
} else if (activeIndex >= slides.length - loopedSlides) {
|
3116 |
+
// Fix For Positive Oversliding
|
3117 |
+
newIndex = -slides.length + activeIndex + loopedSlides;
|
3118 |
+
newIndex += loopedSlides;
|
3119 |
+
|
3120 |
+
var _slideChanged = swiper.slideTo(newIndex, 0, false, true);
|
3121 |
+
|
3122 |
+
if (_slideChanged && diff !== 0) {
|
3123 |
+
swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
|
3124 |
+
}
|
3125 |
+
}
|
3126 |
+
|
3127 |
+
swiper.allowSlidePrev = allowSlidePrev;
|
3128 |
+
swiper.allowSlideNext = allowSlideNext;
|
3129 |
+
swiper.emit('loopFix');
|
3130 |
+
}
|
3131 |
+
|
3132 |
+
function loopDestroy() {
|
3133 |
+
var swiper = this;
|
3134 |
+
var $wrapperEl = swiper.$wrapperEl,
|
3135 |
+
params = swiper.params,
|
3136 |
+
slides = swiper.slides;
|
3137 |
+
$wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass + ",." + params.slideClass + "." + params.slideBlankClass).remove();
|
3138 |
+
slides.removeAttr('data-swiper-slide-index');
|
3139 |
+
}
|
3140 |
+
|
3141 |
+
var loop = {
|
3142 |
+
loopCreate: loopCreate,
|
3143 |
+
loopFix: loopFix,
|
3144 |
+
loopDestroy: loopDestroy
|
3145 |
+
};
|
3146 |
+
|
3147 |
+
function setGrabCursor(moving) {
|
3148 |
+
var swiper = this;
|
3149 |
+
if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;
|
3150 |
+
var el = swiper.el;
|
3151 |
+
el.style.cursor = 'move';
|
3152 |
+
el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';
|
3153 |
+
el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';
|
3154 |
+
el.style.cursor = moving ? 'grabbing' : 'grab';
|
3155 |
+
}
|
3156 |
+
|
3157 |
+
function unsetGrabCursor() {
|
3158 |
+
var swiper = this;
|
3159 |
+
|
3160 |
+
if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {
|
3161 |
+
return;
|
3162 |
+
}
|
3163 |
+
|
3164 |
+
swiper.el.style.cursor = '';
|
3165 |
+
}
|
3166 |
+
|
3167 |
+
var grabCursor = {
|
3168 |
+
setGrabCursor: setGrabCursor,
|
3169 |
+
unsetGrabCursor: unsetGrabCursor
|
3170 |
+
};
|
3171 |
+
|
3172 |
+
function appendSlide(slides) {
|
3173 |
+
var swiper = this;
|
3174 |
+
var $wrapperEl = swiper.$wrapperEl,
|
3175 |
+
params = swiper.params;
|
3176 |
+
|
3177 |
+
if (params.loop) {
|
3178 |
+
swiper.loopDestroy();
|
3179 |
+
}
|
3180 |
+
|
3181 |
+
if (typeof slides === 'object' && 'length' in slides) {
|
3182 |
+
for (var i = 0; i < slides.length; i += 1) {
|
3183 |
+
if (slides[i]) $wrapperEl.append(slides[i]);
|
3184 |
+
}
|
3185 |
+
} else {
|
3186 |
+
$wrapperEl.append(slides);
|
3187 |
+
}
|
3188 |
+
|
3189 |
+
if (params.loop) {
|
3190 |
+
swiper.loopCreate();
|
3191 |
+
}
|
3192 |
+
|
3193 |
+
if (!(params.observer && swiper.support.observer)) {
|
3194 |
+
swiper.update();
|
3195 |
+
}
|
3196 |
+
}
|
3197 |
+
|
3198 |
+
function prependSlide(slides) {
|
3199 |
+
var swiper = this;
|
3200 |
+
var params = swiper.params,
|
3201 |
+
$wrapperEl = swiper.$wrapperEl,
|
3202 |
+
activeIndex = swiper.activeIndex;
|
3203 |
+
|
3204 |
+
if (params.loop) {
|
3205 |
+
swiper.loopDestroy();
|
3206 |
+
}
|
3207 |
+
|
3208 |
+
var newActiveIndex = activeIndex + 1;
|
3209 |
+
|
3210 |
+
if (typeof slides === 'object' && 'length' in slides) {
|
3211 |
+
for (var i = 0; i < slides.length; i += 1) {
|
3212 |
+
if (slides[i]) $wrapperEl.prepend(slides[i]);
|
3213 |
+
}
|
3214 |
+
|
3215 |
+
newActiveIndex = activeIndex + slides.length;
|
3216 |
+
} else {
|
3217 |
+
$wrapperEl.prepend(slides);
|
3218 |
+
}
|
3219 |
+
|
3220 |
+
if (params.loop) {
|
3221 |
+
swiper.loopCreate();
|
3222 |
+
}
|
3223 |
+
|
3224 |
+
if (!(params.observer && swiper.support.observer)) {
|
3225 |
+
swiper.update();
|
3226 |
+
}
|
3227 |
+
|
3228 |
+
swiper.slideTo(newActiveIndex, 0, false);
|
3229 |
+
}
|
3230 |
+
|
3231 |
+
function addSlide(index, slides) {
|
3232 |
+
var swiper = this;
|
3233 |
+
var $wrapperEl = swiper.$wrapperEl,
|
3234 |
+
params = swiper.params,
|
3235 |
+
activeIndex = swiper.activeIndex;
|
3236 |
+
var activeIndexBuffer = activeIndex;
|
3237 |
+
|
3238 |
+
if (params.loop) {
|
3239 |
+
activeIndexBuffer -= swiper.loopedSlides;
|
3240 |
+
swiper.loopDestroy();
|
3241 |
+
swiper.slides = $wrapperEl.children("." + params.slideClass);
|
3242 |
+
}
|
3243 |
+
|
3244 |
+
var baseLength = swiper.slides.length;
|
3245 |
+
|
3246 |
+
if (index <= 0) {
|
3247 |
+
swiper.prependSlide(slides);
|
3248 |
+
return;
|
3249 |
+
}
|
3250 |
+
|
3251 |
+
if (index >= baseLength) {
|
3252 |
+
swiper.appendSlide(slides);
|
3253 |
+
return;
|
3254 |
+
}
|
3255 |
+
|
3256 |
+
var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;
|
3257 |
+
var slidesBuffer = [];
|
3258 |
+
|
3259 |
+
for (var i = baseLength - 1; i >= index; i -= 1) {
|
3260 |
+
var currentSlide = swiper.slides.eq(i);
|
3261 |
+
currentSlide.remove();
|
3262 |
+
slidesBuffer.unshift(currentSlide);
|
3263 |
+
}
|
3264 |
+
|
3265 |
+
if (typeof slides === 'object' && 'length' in slides) {
|
3266 |
+
for (var _i = 0; _i < slides.length; _i += 1) {
|
3267 |
+
if (slides[_i]) $wrapperEl.append(slides[_i]);
|
3268 |
+
}
|
3269 |
+
|
3270 |
+
newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;
|
3271 |
+
} else {
|
3272 |
+
$wrapperEl.append(slides);
|
3273 |
+
}
|
3274 |
+
|
3275 |
+
for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {
|
3276 |
+
$wrapperEl.append(slidesBuffer[_i2]);
|
3277 |
+
}
|
3278 |
+
|
3279 |
+
if (params.loop) {
|
3280 |
+
swiper.loopCreate();
|
3281 |
+
}
|
3282 |
+
|
3283 |
+
if (!(params.observer && swiper.support.observer)) {
|
3284 |
+
swiper.update();
|
3285 |
+
}
|
3286 |
+
|
3287 |
+
if (params.loop) {
|
3288 |
+
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
|
3289 |
+
} else {
|
3290 |
+
swiper.slideTo(newActiveIndex, 0, false);
|
3291 |
+
}
|
3292 |
+
}
|
3293 |
+
|
3294 |
+
function removeSlide(slidesIndexes) {
|
3295 |
+
var swiper = this;
|
3296 |
+
var params = swiper.params,
|
3297 |
+
$wrapperEl = swiper.$wrapperEl,
|
3298 |
+
activeIndex = swiper.activeIndex;
|
3299 |
+
var activeIndexBuffer = activeIndex;
|
3300 |
+
|
3301 |
+
if (params.loop) {
|
3302 |
+
activeIndexBuffer -= swiper.loopedSlides;
|
3303 |
+
swiper.loopDestroy();
|
3304 |
+
swiper.slides = $wrapperEl.children("." + params.slideClass);
|
3305 |
+
}
|
3306 |
+
|
3307 |
+
var newActiveIndex = activeIndexBuffer;
|
3308 |
+
var indexToRemove;
|
3309 |
+
|
3310 |
+
if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {
|
3311 |
+
for (var i = 0; i < slidesIndexes.length; i += 1) {
|
3312 |
+
indexToRemove = slidesIndexes[i];
|
3313 |
+
if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
|
3314 |
+
if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
|
3315 |
+
}
|
3316 |
+
|
3317 |
+
newActiveIndex = Math.max(newActiveIndex, 0);
|
3318 |
+
} else {
|
3319 |
+
indexToRemove = slidesIndexes;
|
3320 |
+
if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
|
3321 |
+
if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
|
3322 |
+
newActiveIndex = Math.max(newActiveIndex, 0);
|
3323 |
+
}
|
3324 |
+
|
3325 |
+
if (params.loop) {
|
3326 |
+
swiper.loopCreate();
|
3327 |
+
}
|
3328 |
+
|
3329 |
+
if (!(params.observer && swiper.support.observer)) {
|
3330 |
+
swiper.update();
|
3331 |
+
}
|
3332 |
+
|
3333 |
+
if (params.loop) {
|
3334 |
+
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
|
3335 |
+
} else {
|
3336 |
+
swiper.slideTo(newActiveIndex, 0, false);
|
3337 |
+
}
|
3338 |
+
}
|
3339 |
+
|
3340 |
+
function removeAllSlides() {
|
3341 |
+
var swiper = this;
|
3342 |
+
var slidesIndexes = [];
|
3343 |
+
|
3344 |
+
for (var i = 0; i < swiper.slides.length; i += 1) {
|
3345 |
+
slidesIndexes.push(i);
|
3346 |
+
}
|
3347 |
+
|
3348 |
+
swiper.removeSlide(slidesIndexes);
|
3349 |
+
}
|
3350 |
+
|
3351 |
+
var manipulation = {
|
3352 |
+
appendSlide: appendSlide,
|
3353 |
+
prependSlide: prependSlide,
|
3354 |
+
addSlide: addSlide,
|
3355 |
+
removeSlide: removeSlide,
|
3356 |
+
removeAllSlides: removeAllSlides
|
3357 |
+
};
|
3358 |
+
|
3359 |
+
function onTouchStart(event) {
|
3360 |
+
var swiper = this;
|
3361 |
+
var document = getDocument();
|
3362 |
+
var window = getWindow();
|
3363 |
+
var data = swiper.touchEventsData;
|
3364 |
+
var params = swiper.params,
|
3365 |
+
touches = swiper.touches;
|
3366 |
+
|
3367 |
+
if (swiper.animating && params.preventInteractionOnTransition) {
|
3368 |
+
return;
|
3369 |
+
}
|
3370 |
+
|
3371 |
+
var e = event;
|
3372 |
+
if (e.originalEvent) e = e.originalEvent;
|
3373 |
+
var $targetEl = $(e.target);
|
3374 |
+
|
3375 |
+
if (params.touchEventsTarget === 'wrapper') {
|
3376 |
+
if (!$targetEl.closest(swiper.wrapperEl).length) return;
|
3377 |
+
}
|
3378 |
+
|
3379 |
+
data.isTouchEvent = e.type === 'touchstart';
|
3380 |
+
if (!data.isTouchEvent && 'which' in e && e.which === 3) return;
|
3381 |
+
if (!data.isTouchEvent && 'button' in e && e.button > 0) return;
|
3382 |
+
if (data.isTouched && data.isMoved) return;
|
3383 |
+
|
3384 |
+
if (params.noSwiping && $targetEl.closest(params.noSwipingSelector ? params.noSwipingSelector : "." + params.noSwipingClass)[0]) {
|
3385 |
+
swiper.allowClick = true;
|
3386 |
+
return;
|
3387 |
+
}
|
3388 |
+
|
3389 |
+
if (params.swipeHandler) {
|
3390 |
+
if (!$targetEl.closest(params.swipeHandler)[0]) return;
|
3391 |
+
}
|
3392 |
+
|
3393 |
+
touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
|
3394 |
+
touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
|
3395 |
+
var startX = touches.currentX;
|
3396 |
+
var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore
|
3397 |
+
|
3398 |
+
var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;
|
3399 |
+
var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;
|
3400 |
+
|
3401 |
+
if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.screen.width - edgeSwipeThreshold)) {
|
3402 |
+
return;
|
3403 |
+
}
|
3404 |
+
|
3405 |
+
extend$1(data, {
|
3406 |
+
isTouched: true,
|
3407 |
+
isMoved: false,
|
3408 |
+
allowTouchCallbacks: true,
|
3409 |
+
isScrolling: undefined,
|
3410 |
+
startMoving: undefined
|
3411 |
+
});
|
3412 |
+
touches.startX = startX;
|
3413 |
+
touches.startY = startY;
|
3414 |
+
data.touchStartTime = now();
|
3415 |
+
swiper.allowClick = true;
|
3416 |
+
swiper.updateSize();
|
3417 |
+
swiper.swipeDirection = undefined;
|
3418 |
+
if (params.threshold > 0) data.allowThresholdMove = false;
|
3419 |
+
|
3420 |
+
if (e.type !== 'touchstart') {
|
3421 |
+
var preventDefault = true;
|
3422 |
+
if ($targetEl.is(data.formElements)) preventDefault = false;
|
3423 |
+
|
3424 |
+
if (document.activeElement && $(document.activeElement).is(data.formElements) && document.activeElement !== $targetEl[0]) {
|
3425 |
+
document.activeElement.blur();
|
3426 |
+
}
|
3427 |
+
|
3428 |
+
var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
|
3429 |
+
|
3430 |
+
if (params.touchStartForcePreventDefault || shouldPreventDefault) {
|
3431 |
+
e.preventDefault();
|
3432 |
+
}
|
3433 |
+
}
|
3434 |
+
|
3435 |
+
swiper.emit('touchStart', e);
|
3436 |
+
}
|
3437 |
+
|
3438 |
+
function onTouchMove(event) {
|
3439 |
+
var document = getDocument();
|
3440 |
+
var swiper = this;
|
3441 |
+
var data = swiper.touchEventsData;
|
3442 |
+
var params = swiper.params,
|
3443 |
+
touches = swiper.touches,
|
3444 |
+
rtl = swiper.rtlTranslate;
|
3445 |
+
var e = event;
|
3446 |
+
if (e.originalEvent) e = e.originalEvent;
|
3447 |
+
|
3448 |
+
if (!data.isTouched) {
|
3449 |
+
if (data.startMoving && data.isScrolling) {
|
3450 |
+
swiper.emit('touchMoveOpposite', e);
|
3451 |
+
}
|
3452 |
+
|
3453 |
+
return;
|
3454 |
+
}
|
3455 |
+
|
3456 |
+
if (data.isTouchEvent && e.type !== 'touchmove') return;
|
3457 |
+
var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);
|
3458 |
+
var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;
|
3459 |
+
var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;
|
3460 |
+
|
3461 |
+
if (e.preventedByNestedSwiper) {
|
3462 |
+
touches.startX = pageX;
|
3463 |
+
touches.startY = pageY;
|
3464 |
+
return;
|
3465 |
+
}
|
3466 |
+
|
3467 |
+
if (!swiper.allowTouchMove) {
|
3468 |
+
// isMoved = true;
|
3469 |
+
swiper.allowClick = false;
|
3470 |
+
|
3471 |
+
if (data.isTouched) {
|
3472 |
+
extend$1(touches, {
|
3473 |
+
startX: pageX,
|
3474 |
+
startY: pageY,
|
3475 |
+
currentX: pageX,
|
3476 |
+
currentY: pageY
|
3477 |
+
});
|
3478 |
+
data.touchStartTime = now();
|
3479 |
+
}
|
3480 |
+
|
3481 |
+
return;
|
3482 |
+
}
|
3483 |
+
|
3484 |
+
if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {
|
3485 |
+
if (swiper.isVertical()) {
|
3486 |
+
// Vertical
|
3487 |
+
if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {
|
3488 |
+
data.isTouched = false;
|
3489 |
+
data.isMoved = false;
|
3490 |
+
return;
|
3491 |
+
}
|
3492 |
+
} else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {
|
3493 |
+
return;
|
3494 |
+
}
|
3495 |
+
}
|
3496 |
+
|
3497 |
+
if (data.isTouchEvent && document.activeElement) {
|
3498 |
+
if (e.target === document.activeElement && $(e.target).is(data.formElements)) {
|
3499 |
+
data.isMoved = true;
|
3500 |
+
swiper.allowClick = false;
|
3501 |
+
return;
|
3502 |
+
}
|
3503 |
+
}
|
3504 |
+
|
3505 |
+
if (data.allowTouchCallbacks) {
|
3506 |
+
swiper.emit('touchMove', e);
|
3507 |
+
}
|
3508 |
+
|
3509 |
+
if (e.targetTouches && e.targetTouches.length > 1) return;
|
3510 |
+
touches.currentX = pageX;
|
3511 |
+
touches.currentY = pageY;
|
3512 |
+
var diffX = touches.currentX - touches.startX;
|
3513 |
+
var diffY = touches.currentY - touches.startY;
|
3514 |
+
if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;
|
3515 |
+
|
3516 |
+
if (typeof data.isScrolling === 'undefined') {
|
3517 |
+
var touchAngle;
|
3518 |
+
|
3519 |
+
if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {
|
3520 |
+
data.isScrolling = false;
|
3521 |
+
} else {
|
3522 |
+
// eslint-disable-next-line
|
3523 |
+
if (diffX * diffX + diffY * diffY >= 25) {
|
3524 |
+
touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;
|
3525 |
+
data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;
|
3526 |
+
}
|
3527 |
+
}
|
3528 |
+
}
|
3529 |
+
|
3530 |
+
if (data.isScrolling) {
|
3531 |
+
swiper.emit('touchMoveOpposite', e);
|
3532 |
+
}
|
3533 |
+
|
3534 |
+
if (typeof data.startMoving === 'undefined') {
|
3535 |
+
if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {
|
3536 |
+
data.startMoving = true;
|
3537 |
+
}
|
3538 |
+
}
|
3539 |
+
|
3540 |
+
if (data.isScrolling) {
|
3541 |
+
data.isTouched = false;
|
3542 |
+
return;
|
3543 |
+
}
|
3544 |
+
|
3545 |
+
if (!data.startMoving) {
|
3546 |
+
return;
|
3547 |
+
}
|
3548 |
+
|
3549 |
+
swiper.allowClick = false;
|
3550 |
+
|
3551 |
+
if (!params.cssMode && e.cancelable) {
|
3552 |
+
e.preventDefault();
|
3553 |
+
}
|
3554 |
+
|
3555 |
+
if (params.touchMoveStopPropagation && !params.nested) {
|
3556 |
+
e.stopPropagation();
|
3557 |
+
}
|
3558 |
+
|
3559 |
+
if (!data.isMoved) {
|
3560 |
+
if (params.loop) {
|
3561 |
+
swiper.loopFix();
|
3562 |
+
}
|
3563 |
+
|
3564 |
+
data.startTranslate = swiper.getTranslate();
|
3565 |
+
swiper.setTransition(0);
|
3566 |
+
|
3567 |
+
if (swiper.animating) {
|
3568 |
+
swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');
|
3569 |
+
}
|
3570 |
+
|
3571 |
+
data.allowMomentumBounce = false; // Grab Cursor
|
3572 |
+
|
3573 |
+
if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
|
3574 |
+
swiper.setGrabCursor(true);
|
3575 |
+
}
|
3576 |
+
|
3577 |
+
swiper.emit('sliderFirstMove', e);
|
3578 |
+
}
|
3579 |
+
|
3580 |
+
swiper.emit('sliderMove', e);
|
3581 |
+
data.isMoved = true;
|
3582 |
+
var diff = swiper.isHorizontal() ? diffX : diffY;
|
3583 |
+
touches.diff = diff;
|
3584 |
+
diff *= params.touchRatio;
|
3585 |
+
if (rtl) diff = -diff;
|
3586 |
+
swiper.swipeDirection = diff > 0 ? 'prev' : 'next';
|
3587 |
+
data.currentTranslate = diff + data.startTranslate;
|
3588 |
+
var disableParentSwiper = true;
|
3589 |
+
var resistanceRatio = params.resistanceRatio;
|
3590 |
+
|
3591 |
+
if (params.touchReleaseOnEdges) {
|
3592 |
+
resistanceRatio = 0;
|
3593 |
+
}
|
3594 |
+
|
3595 |
+
if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {
|
3596 |
+
disableParentSwiper = false;
|
3597 |
+
if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);
|
3598 |
+
} else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {
|
3599 |
+
disableParentSwiper = false;
|
3600 |
+
if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);
|
3601 |
+
}
|
3602 |
+
|
3603 |
+
if (disableParentSwiper) {
|
3604 |
+
e.preventedByNestedSwiper = true;
|
3605 |
+
} // Directions locks
|
3606 |
+
|
3607 |
+
|
3608 |
+
if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {
|
3609 |
+
data.currentTranslate = data.startTranslate;
|
3610 |
+
}
|
3611 |
+
|
3612 |
+
if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {
|
3613 |
+
data.currentTranslate = data.startTranslate;
|
3614 |
+
} // Threshold
|
3615 |
+
|
3616 |
+
|
3617 |
+
if (params.threshold > 0) {
|
3618 |
+
if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {
|
3619 |
+
if (!data.allowThresholdMove) {
|
3620 |
+
data.allowThresholdMove = true;
|
3621 |
+
touches.startX = touches.currentX;
|
3622 |
+
touches.startY = touches.currentY;
|
3623 |
+
data.currentTranslate = data.startTranslate;
|
3624 |
+
touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;
|
3625 |
+
return;
|
3626 |
+
}
|
3627 |
+
} else {
|
3628 |
+
data.currentTranslate = data.startTranslate;
|
3629 |
+
return;
|
3630 |
+
}
|
3631 |
+
}
|
3632 |
+
|
3633 |
+
if (!params.followFinger || params.cssMode) return; // Update active index in free mode
|
3634 |
+
|
3635 |
+
if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {
|
3636 |
+
swiper.updateActiveIndex();
|
3637 |
+
swiper.updateSlidesClasses();
|
3638 |
+
}
|
3639 |
+
|
3640 |
+
if (params.freeMode) {
|
3641 |
+
// Velocity
|
3642 |
+
if (data.velocities.length === 0) {
|
3643 |
+
data.velocities.push({
|
3644 |
+
position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],
|
3645 |
+
time: data.touchStartTime
|
3646 |
+
});
|
3647 |
+
}
|
3648 |
+
|
3649 |
+
data.velocities.push({
|
3650 |
+
position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],
|
3651 |
+
time: now()
|
3652 |
+
});
|
3653 |
+
} // Update progress
|
3654 |
+
|
3655 |
+
|
3656 |
+
swiper.updateProgress(data.currentTranslate); // Update translate
|
3657 |
+
|
3658 |
+
swiper.setTranslate(data.currentTranslate);
|
3659 |
+
}
|
3660 |
+
|
3661 |
+
function onTouchEnd(event) {
|
3662 |
+
var swiper = this;
|
3663 |
+
var data = swiper.touchEventsData;
|
3664 |
+
var params = swiper.params,
|
3665 |
+
touches = swiper.touches,
|
3666 |
+
rtl = swiper.rtlTranslate,
|
3667 |
+
$wrapperEl = swiper.$wrapperEl,
|
3668 |
+
slidesGrid = swiper.slidesGrid,
|
3669 |
+
snapGrid = swiper.snapGrid;
|
3670 |
+
var e = event;
|
3671 |
+
if (e.originalEvent) e = e.originalEvent;
|
3672 |
+
|
3673 |
+
if (data.allowTouchCallbacks) {
|
3674 |
+
swiper.emit('touchEnd', e);
|
3675 |
+
}
|
3676 |
+
|
3677 |
+
data.allowTouchCallbacks = false;
|
3678 |
+
|
3679 |
+
if (!data.isTouched) {
|
3680 |
+
if (data.isMoved && params.grabCursor) {
|
3681 |
+
swiper.setGrabCursor(false);
|
3682 |
+
}
|
3683 |
+
|
3684 |
+
data.isMoved = false;
|
3685 |
+
data.startMoving = false;
|
3686 |
+
return;
|
3687 |
+
} // Return Grab Cursor
|
3688 |
+
|
3689 |
+
|
3690 |
+
if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
|
3691 |
+
swiper.setGrabCursor(false);
|
3692 |
+
} // Time diff
|
3693 |
+
|
3694 |
+
|
3695 |
+
var touchEndTime = now();
|
3696 |
+
var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click
|
3697 |
+
|
3698 |
+
if (swiper.allowClick) {
|
3699 |
+
swiper.updateClickedSlide(e);
|
3700 |
+
swiper.emit('tap click', e);
|
3701 |
+
|
3702 |
+
if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {
|
3703 |
+
swiper.emit('doubleTap doubleClick', e);
|
3704 |
+
}
|
3705 |
+
}
|
3706 |
+
|
3707 |
+
data.lastClickTime = now();
|
3708 |
+
nextTick(function () {
|
3709 |
+
if (!swiper.destroyed) swiper.allowClick = true;
|
3710 |
+
});
|
3711 |
+
|
3712 |
+
if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {
|
3713 |
+
data.isTouched = false;
|
3714 |
+
data.isMoved = false;
|
3715 |
+
data.startMoving = false;
|
3716 |
+
return;
|
3717 |
+
}
|
3718 |
+
|
3719 |
+
data.isTouched = false;
|
3720 |
+
data.isMoved = false;
|
3721 |
+
data.startMoving = false;
|
3722 |
+
var currentPos;
|
3723 |
+
|
3724 |
+
if (params.followFinger) {
|
3725 |
+
currentPos = rtl ? swiper.translate : -swiper.translate;
|
3726 |
+
} else {
|
3727 |
+
currentPos = -data.currentTranslate;
|
3728 |
+
}
|
3729 |
+
|
3730 |
+
if (params.cssMode) {
|
3731 |
+
return;
|
3732 |
+
}
|
3733 |
+
|
3734 |
+
if (params.freeMode) {
|
3735 |
+
if (currentPos < -swiper.minTranslate()) {
|
3736 |
+
swiper.slideTo(swiper.activeIndex);
|
3737 |
+
return;
|
3738 |
+
}
|
3739 |
+
|
3740 |
+
if (currentPos > -swiper.maxTranslate()) {
|
3741 |
+
if (swiper.slides.length < snapGrid.length) {
|
3742 |
+
swiper.slideTo(snapGrid.length - 1);
|
3743 |
+
} else {
|
3744 |
+
swiper.slideTo(swiper.slides.length - 1);
|
3745 |
+
}
|
3746 |
+
|
3747 |
+
return;
|
3748 |
+
}
|
3749 |
+
|
3750 |
+
if (params.freeModeMomentum) {
|
3751 |
+
if (data.velocities.length > 1) {
|
3752 |
+
var lastMoveEvent = data.velocities.pop();
|
3753 |
+
var velocityEvent = data.velocities.pop();
|
3754 |
+
var distance = lastMoveEvent.position - velocityEvent.position;
|
3755 |
+
var time = lastMoveEvent.time - velocityEvent.time;
|
3756 |
+
swiper.velocity = distance / time;
|
3757 |
+
swiper.velocity /= 2;
|
3758 |
+
|
3759 |
+
if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {
|
3760 |
+
swiper.velocity = 0;
|
3761 |
+
} // this implies that the user stopped moving a finger then released.
|
3762 |
+
// There would be no events with distance zero, so the last event is stale.
|
3763 |
+
|
3764 |
+
|
3765 |
+
if (time > 150 || now() - lastMoveEvent.time > 300) {
|
3766 |
+
swiper.velocity = 0;
|
3767 |
+
}
|
3768 |
+
} else {
|
3769 |
+
swiper.velocity = 0;
|
3770 |
+
}
|
3771 |
+
|
3772 |
+
swiper.velocity *= params.freeModeMomentumVelocityRatio;
|
3773 |
+
data.velocities.length = 0;
|
3774 |
+
var momentumDuration = 1000 * params.freeModeMomentumRatio;
|
3775 |
+
var momentumDistance = swiper.velocity * momentumDuration;
|
3776 |
+
var newPosition = swiper.translate + momentumDistance;
|
3777 |
+
if (rtl) newPosition = -newPosition;
|
3778 |
+
var doBounce = false;
|
3779 |
+
var afterBouncePosition;
|
3780 |
+
var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;
|
3781 |
+
var needsLoopFix;
|
3782 |
+
|
3783 |
+
if (newPosition < swiper.maxTranslate()) {
|
3784 |
+
if (params.freeModeMomentumBounce) {
|
3785 |
+
if (newPosition + swiper.maxTranslate() < -bounceAmount) {
|
3786 |
+
newPosition = swiper.maxTranslate() - bounceAmount;
|
3787 |
+
}
|
3788 |
+
|
3789 |
+
afterBouncePosition = swiper.maxTranslate();
|
3790 |
+
doBounce = true;
|
3791 |
+
data.allowMomentumBounce = true;
|
3792 |
+
} else {
|
3793 |
+
newPosition = swiper.maxTranslate();
|
3794 |
+
}
|
3795 |
+
|
3796 |
+
if (params.loop && params.centeredSlides) needsLoopFix = true;
|
3797 |
+
} else if (newPosition > swiper.minTranslate()) {
|
3798 |
+
if (params.freeModeMomentumBounce) {
|
3799 |
+
if (newPosition - swiper.minTranslate() > bounceAmount) {
|
3800 |
+
newPosition = swiper.minTranslate() + bounceAmount;
|
3801 |
+
}
|
3802 |
+
|
3803 |
+
afterBouncePosition = swiper.minTranslate();
|
3804 |
+
doBounce = true;
|
3805 |
+
data.allowMomentumBounce = true;
|
3806 |
+
} else {
|
3807 |
+
newPosition = swiper.minTranslate();
|
3808 |
+
}
|
3809 |
+
|
3810 |
+
if (params.loop && params.centeredSlides) needsLoopFix = true;
|
3811 |
+
} else if (params.freeModeSticky) {
|
3812 |
+
var nextSlide;
|
3813 |
+
|
3814 |
+
for (var j = 0; j < snapGrid.length; j += 1) {
|
3815 |
+
if (snapGrid[j] > -newPosition) {
|
3816 |
+
nextSlide = j;
|
3817 |
+
break;
|
3818 |
+
}
|
3819 |
+
}
|
3820 |
+
|
3821 |
+
if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {
|
3822 |
+
newPosition = snapGrid[nextSlide];
|
3823 |
+
} else {
|
3824 |
+
newPosition = snapGrid[nextSlide - 1];
|
3825 |
+
}
|
3826 |
+
|
3827 |
+
newPosition = -newPosition;
|
3828 |
+
}
|
3829 |
+
|
3830 |
+
if (needsLoopFix) {
|
3831 |
+
swiper.once('transitionEnd', function () {
|
3832 |
+
swiper.loopFix();
|
3833 |
+
});
|
3834 |
+
} // Fix duration
|
3835 |
+
|
3836 |
+
|
3837 |
+
if (swiper.velocity !== 0) {
|
3838 |
+
if (rtl) {
|
3839 |
+
momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);
|
3840 |
+
} else {
|
3841 |
+
momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);
|
3842 |
+
}
|
3843 |
+
|
3844 |
+
if (params.freeModeSticky) {
|
3845 |
+
// If freeModeSticky is active and the user ends a swipe with a slow-velocity
|
3846 |
+
// event, then durations can be 20+ seconds to slide one (or zero!) slides.
|
3847 |
+
// It's easy to see this when simulating touch with mouse events. To fix this,
|
3848 |
+
// limit single-slide swipes to the default slide duration. This also has the
|
3849 |
+
// nice side effect of matching slide speed if the user stopped moving before
|
3850 |
+
// lifting finger or mouse vs. moving slowly before lifting the finger/mouse.
|
3851 |
+
// For faster swipes, also apply limits (albeit higher ones).
|
3852 |
+
var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);
|
3853 |
+
var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];
|
3854 |
+
|
3855 |
+
if (moveDistance < currentSlideSize) {
|
3856 |
+
momentumDuration = params.speed;
|
3857 |
+
} else if (moveDistance < 2 * currentSlideSize) {
|
3858 |
+
momentumDuration = params.speed * 1.5;
|
3859 |
+
} else {
|
3860 |
+
momentumDuration = params.speed * 2.5;
|
3861 |
+
}
|
3862 |
+
}
|
3863 |
+
} else if (params.freeModeSticky) {
|
3864 |
+
swiper.slideToClosest();
|
3865 |
+
return;
|
3866 |
+
}
|
3867 |
+
|
3868 |
+
if (params.freeModeMomentumBounce && doBounce) {
|
3869 |
+
swiper.updateProgress(afterBouncePosition);
|
3870 |
+
swiper.setTransition(momentumDuration);
|
3871 |
+
swiper.setTranslate(newPosition);
|
3872 |
+
swiper.transitionStart(true, swiper.swipeDirection);
|
3873 |
+
swiper.animating = true;
|
3874 |
+
$wrapperEl.transitionEnd(function () {
|
3875 |
+
if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;
|
3876 |
+
swiper.emit('momentumBounce');
|
3877 |
+
swiper.setTransition(params.speed);
|
3878 |
+
setTimeout(function () {
|
3879 |
+
swiper.setTranslate(afterBouncePosition);
|
3880 |
+
$wrapperEl.transitionEnd(function () {
|
3881 |
+
if (!swiper || swiper.destroyed) return;
|
3882 |
+
swiper.transitionEnd();
|
3883 |
+
});
|
3884 |
+
}, 0);
|
3885 |
+
});
|
3886 |
+
} else if (swiper.velocity) {
|
3887 |
+
swiper.updateProgress(newPosition);
|
3888 |
+
swiper.setTransition(momentumDuration);
|
3889 |
+
swiper.setTranslate(newPosition);
|
3890 |
+
swiper.transitionStart(true, swiper.swipeDirection);
|
3891 |
+
|
3892 |
+
if (!swiper.animating) {
|
3893 |
+
swiper.animating = true;
|
3894 |
+
$wrapperEl.transitionEnd(function () {
|
3895 |
+
if (!swiper || swiper.destroyed) return;
|
3896 |
+
swiper.transitionEnd();
|
3897 |
+
});
|
3898 |
+
}
|
3899 |
+
} else {
|
3900 |
+
swiper.updateProgress(newPosition);
|
3901 |
+
}
|
3902 |
+
|
3903 |
+
swiper.updateActiveIndex();
|
3904 |
+
swiper.updateSlidesClasses();
|
3905 |
+
} else if (params.freeModeSticky) {
|
3906 |
+
swiper.slideToClosest();
|
3907 |
+
return;
|
3908 |
+
}
|
3909 |
+
|
3910 |
+
if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {
|
3911 |
+
swiper.updateProgress();
|
3912 |
+
swiper.updateActiveIndex();
|
3913 |
+
swiper.updateSlidesClasses();
|
3914 |
+
}
|
3915 |
+
|
3916 |
+
return;
|
3917 |
+
} // Find current slide
|
3918 |
+
|
3919 |
+
|
3920 |
+
var stopIndex = 0;
|
3921 |
+
var groupSize = swiper.slidesSizesGrid[0];
|
3922 |
+
|
3923 |
+
for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {
|
3924 |
+
var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
|
3925 |
+
|
3926 |
+
if (typeof slidesGrid[i + _increment] !== 'undefined') {
|
3927 |
+
if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {
|
3928 |
+
stopIndex = i;
|
3929 |
+
groupSize = slidesGrid[i + _increment] - slidesGrid[i];
|
3930 |
+
}
|
3931 |
+
} else if (currentPos >= slidesGrid[i]) {
|
3932 |
+
stopIndex = i;
|
3933 |
+
groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
|
3934 |
+
}
|
3935 |
+
} // Find current slide size
|
3936 |
+
|
3937 |
+
|
3938 |
+
var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;
|
3939 |
+
var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
|
3940 |
+
|
3941 |
+
if (timeDiff > params.longSwipesMs) {
|
3942 |
+
// Long touches
|
3943 |
+
if (!params.longSwipes) {
|
3944 |
+
swiper.slideTo(swiper.activeIndex);
|
3945 |
+
return;
|
3946 |
+
}
|
3947 |
+
|
3948 |
+
if (swiper.swipeDirection === 'next') {
|
3949 |
+
if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);
|
3950 |
+
}
|
3951 |
+
|
3952 |
+
if (swiper.swipeDirection === 'prev') {
|
3953 |
+
if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);
|
3954 |
+
}
|
3955 |
+
} else {
|
3956 |
+
// Short swipes
|
3957 |
+
if (!params.shortSwipes) {
|
3958 |
+
swiper.slideTo(swiper.activeIndex);
|
3959 |
+
return;
|
3960 |
+
}
|
3961 |
+
|
3962 |
+
var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);
|
3963 |
+
|
3964 |
+
if (!isNavButtonTarget) {
|
3965 |
+
if (swiper.swipeDirection === 'next') {
|
3966 |
+
swiper.slideTo(stopIndex + increment);
|
3967 |
+
}
|
3968 |
+
|
3969 |
+
if (swiper.swipeDirection === 'prev') {
|
3970 |
+
swiper.slideTo(stopIndex);
|
3971 |
+
}
|
3972 |
+
} else if (e.target === swiper.navigation.nextEl) {
|
3973 |
+
swiper.slideTo(stopIndex + increment);
|
3974 |
+
} else {
|
3975 |
+
swiper.slideTo(stopIndex);
|
3976 |
+
}
|
3977 |
+
}
|
3978 |
+
}
|
3979 |
+
|
3980 |
+
function onResize() {
|
3981 |
+
var swiper = this;
|
3982 |
+
var params = swiper.params,
|
3983 |
+
el = swiper.el;
|
3984 |
+
if (el && el.offsetWidth === 0) return; // Breakpoints
|
3985 |
+
|
3986 |
+
if (params.breakpoints) {
|
3987 |
+
swiper.setBreakpoint();
|
3988 |
+
} // Save locks
|
3989 |
+
|
3990 |
+
|
3991 |
+
var allowSlideNext = swiper.allowSlideNext,
|
3992 |
+
allowSlidePrev = swiper.allowSlidePrev,
|
3993 |
+
snapGrid = swiper.snapGrid; // Disable locks on resize
|
3994 |
+
|
3995 |
+
swiper.allowSlideNext = true;
|
3996 |
+
swiper.allowSlidePrev = true;
|
3997 |
+
swiper.updateSize();
|
3998 |
+
swiper.updateSlides();
|
3999 |
+
swiper.updateSlidesClasses();
|
4000 |
+
|
4001 |
+
if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {
|
4002 |
+
swiper.slideTo(swiper.slides.length - 1, 0, false, true);
|
4003 |
+
} else {
|
4004 |
+
swiper.slideTo(swiper.activeIndex, 0, false, true);
|
4005 |
+
}
|
4006 |
+
|
4007 |
+
if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
|
4008 |
+
swiper.autoplay.run();
|
4009 |
+
} // Return locks after resize
|
4010 |
+
|
4011 |
+
|
4012 |
+
swiper.allowSlidePrev = allowSlidePrev;
|
4013 |
+
swiper.allowSlideNext = allowSlideNext;
|
4014 |
+
|
4015 |
+
if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {
|
4016 |
+
swiper.checkOverflow();
|
4017 |
+
}
|
4018 |
+
}
|
4019 |
+
|
4020 |
+
function onClick(e) {
|
4021 |
+
var swiper = this;
|
4022 |
+
|
4023 |
+
if (!swiper.allowClick) {
|
4024 |
+
if (swiper.params.preventClicks) e.preventDefault();
|
4025 |
+
|
4026 |
+
if (swiper.params.preventClicksPropagation && swiper.animating) {
|
4027 |
+
e.stopPropagation();
|
4028 |
+
e.stopImmediatePropagation();
|
4029 |
+
}
|
4030 |
+
}
|
4031 |
+
}
|
4032 |
+
|
4033 |
+
function onScroll() {
|
4034 |
+
var swiper = this;
|
4035 |
+
var wrapperEl = swiper.wrapperEl,
|
4036 |
+
rtlTranslate = swiper.rtlTranslate;
|
4037 |
+
swiper.previousTranslate = swiper.translate;
|
4038 |
+
|
4039 |
+
if (swiper.isHorizontal()) {
|
4040 |
+
if (rtlTranslate) {
|
4041 |
+
swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;
|
4042 |
+
} else {
|
4043 |
+
swiper.translate = -wrapperEl.scrollLeft;
|
4044 |
+
}
|
4045 |
+
} else {
|
4046 |
+
swiper.translate = -wrapperEl.scrollTop;
|
4047 |
+
} // eslint-disable-next-line
|
4048 |
+
|
4049 |
+
|
4050 |
+
if (swiper.translate === -0) swiper.translate = 0;
|
4051 |
+
swiper.updateActiveIndex();
|
4052 |
+
swiper.updateSlidesClasses();
|
4053 |
+
var newProgress;
|
4054 |
+
var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
|
4055 |
+
|
4056 |
+
if (translatesDiff === 0) {
|
4057 |
+
newProgress = 0;
|
4058 |
+
} else {
|
4059 |
+
newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;
|
4060 |
+
}
|
4061 |
+
|
4062 |
+
if (newProgress !== swiper.progress) {
|
4063 |
+
swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);
|
4064 |
+
}
|
4065 |
+
|
4066 |
+
swiper.emit('setTranslate', swiper.translate, false);
|
4067 |
+
}
|
4068 |
+
|
4069 |
+
var dummyEventAttached = false;
|
4070 |
+
|
4071 |
+
function dummyEventListener() {}
|
4072 |
+
|
4073 |
+
function attachEvents() {
|
4074 |
+
var swiper = this;
|
4075 |
+
var document = getDocument();
|
4076 |
+
var params = swiper.params,
|
4077 |
+
touchEvents = swiper.touchEvents,
|
4078 |
+
el = swiper.el,
|
4079 |
+
wrapperEl = swiper.wrapperEl,
|
4080 |
+
device = swiper.device,
|
4081 |
+
support = swiper.support;
|
4082 |
+
swiper.onTouchStart = onTouchStart.bind(swiper);
|
4083 |
+
swiper.onTouchMove = onTouchMove.bind(swiper);
|
4084 |
+
swiper.onTouchEnd = onTouchEnd.bind(swiper);
|
4085 |
+
|
4086 |
+
if (params.cssMode) {
|
4087 |
+
swiper.onScroll = onScroll.bind(swiper);
|
4088 |
+
}
|
4089 |
+
|
4090 |
+
swiper.onClick = onClick.bind(swiper);
|
4091 |
+
var capture = !!params.nested; // Touch Events
|
4092 |
+
|
4093 |
+
if (!support.touch && support.pointerEvents) {
|
4094 |
+
el.addEventListener(touchEvents.start, swiper.onTouchStart, false);
|
4095 |
+
document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);
|
4096 |
+
document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);
|
4097 |
+
} else {
|
4098 |
+
if (support.touch) {
|
4099 |
+
var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {
|
4100 |
+
passive: true,
|
4101 |
+
capture: false
|
4102 |
+
} : false;
|
4103 |
+
el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
|
4104 |
+
el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {
|
4105 |
+
passive: false,
|
4106 |
+
capture: capture
|
4107 |
+
} : capture);
|
4108 |
+
el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
|
4109 |
+
|
4110 |
+
if (touchEvents.cancel) {
|
4111 |
+
el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);
|
4112 |
+
}
|
4113 |
+
|
4114 |
+
if (!dummyEventAttached) {
|
4115 |
+
document.addEventListener('touchstart', dummyEventListener);
|
4116 |
+
dummyEventAttached = true;
|
4117 |
+
}
|
4118 |
+
}
|
4119 |
+
|
4120 |
+
if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {
|
4121 |
+
el.addEventListener('mousedown', swiper.onTouchStart, false);
|
4122 |
+
document.addEventListener('mousemove', swiper.onTouchMove, capture);
|
4123 |
+
document.addEventListener('mouseup', swiper.onTouchEnd, false);
|
4124 |
+
}
|
4125 |
+
} // Prevent Links Clicks
|
4126 |
+
|
4127 |
+
|
4128 |
+
if (params.preventClicks || params.preventClicksPropagation) {
|
4129 |
+
el.addEventListener('click', swiper.onClick, true);
|
4130 |
+
}
|
4131 |
+
|
4132 |
+
if (params.cssMode) {
|
4133 |
+
wrapperEl.addEventListener('scroll', swiper.onScroll);
|
4134 |
+
} // Resize handler
|
4135 |
+
|
4136 |
+
|
4137 |
+
if (params.updateOnWindowResize) {
|
4138 |
+
swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);
|
4139 |
+
} else {
|
4140 |
+
swiper.on('observerUpdate', onResize, true);
|
4141 |
+
}
|
4142 |
+
}
|
4143 |
+
|
4144 |
+
function detachEvents() {
|
4145 |
+
var swiper = this;
|
4146 |
+
var document = getDocument();
|
4147 |
+
var params = swiper.params,
|
4148 |
+
touchEvents = swiper.touchEvents,
|
4149 |
+
el = swiper.el,
|
4150 |
+
wrapperEl = swiper.wrapperEl,
|
4151 |
+
device = swiper.device,
|
4152 |
+
support = swiper.support;
|
4153 |
+
var capture = !!params.nested; // Touch Events
|
4154 |
+
|
4155 |
+
if (!support.touch && support.pointerEvents) {
|
4156 |
+
el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);
|
4157 |
+
document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
|
4158 |
+
document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);
|
4159 |
+
} else {
|
4160 |
+
if (support.touch) {
|
4161 |
+
var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {
|
4162 |
+
passive: true,
|
4163 |
+
capture: false
|
4164 |
+
} : false;
|
4165 |
+
el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
|
4166 |
+
el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
|
4167 |
+
el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
|
4168 |
+
|
4169 |
+
if (touchEvents.cancel) {
|
4170 |
+
el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);
|
4171 |
+
}
|
4172 |
+
}
|
4173 |
+
|
4174 |
+
if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {
|
4175 |
+
el.removeEventListener('mousedown', swiper.onTouchStart, false);
|
4176 |
+
document.removeEventListener('mousemove', swiper.onTouchMove, capture);
|
4177 |
+
document.removeEventListener('mouseup', swiper.onTouchEnd, false);
|
4178 |
+
}
|
4179 |
+
} // Prevent Links Clicks
|
4180 |
+
|
4181 |
+
|
4182 |
+
if (params.preventClicks || params.preventClicksPropagation) {
|
4183 |
+
el.removeEventListener('click', swiper.onClick, true);
|
4184 |
+
}
|
4185 |
+
|
4186 |
+
if (params.cssMode) {
|
4187 |
+
wrapperEl.removeEventListener('scroll', swiper.onScroll);
|
4188 |
+
} // Resize handler
|
4189 |
+
|
4190 |
+
|
4191 |
+
swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);
|
4192 |
+
}
|
4193 |
+
|
4194 |
+
var events = {
|
4195 |
+
attachEvents: attachEvents,
|
4196 |
+
detachEvents: detachEvents
|
4197 |
+
};
|
4198 |
+
|
4199 |
+
function setBreakpoint() {
|
4200 |
+
var swiper = this;
|
4201 |
+
var activeIndex = swiper.activeIndex,
|
4202 |
+
initialized = swiper.initialized,
|
4203 |
+
_swiper$loopedSlides = swiper.loopedSlides,
|
4204 |
+
loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,
|
4205 |
+
params = swiper.params,
|
4206 |
+
$el = swiper.$el;
|
4207 |
+
var breakpoints = params.breakpoints;
|
4208 |
+
if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters
|
4209 |
+
|
4210 |
+
var breakpoint = swiper.getBreakpoint(breakpoints);
|
4211 |
+
|
4212 |
+
if (breakpoint && swiper.currentBreakpoint !== breakpoint) {
|
4213 |
+
var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
|
4214 |
+
|
4215 |
+
if (breakpointOnlyParams) {
|
4216 |
+
['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {
|
4217 |
+
var paramValue = breakpointOnlyParams[param];
|
4218 |
+
if (typeof paramValue === 'undefined') return;
|
4219 |
+
|
4220 |
+
if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {
|
4221 |
+
breakpointOnlyParams[param] = 'auto';
|
4222 |
+
} else if (param === 'slidesPerView') {
|
4223 |
+
breakpointOnlyParams[param] = parseFloat(paramValue);
|
4224 |
+
} else {
|
4225 |
+
breakpointOnlyParams[param] = parseInt(paramValue, 10);
|
4226 |
+
}
|
4227 |
+
});
|
4228 |
+
}
|
4229 |
+
|
4230 |
+
var breakpointParams = breakpointOnlyParams || swiper.originalParams;
|
4231 |
+
var wasMultiRow = params.slidesPerColumn > 1;
|
4232 |
+
var isMultiRow = breakpointParams.slidesPerColumn > 1;
|
4233 |
+
|
4234 |
+
if (wasMultiRow && !isMultiRow) {
|
4235 |
+
$el.removeClass(params.containerModifierClass + "multirow " + params.containerModifierClass + "multirow-column");
|
4236 |
+
swiper.emitContainerClasses();
|
4237 |
+
} else if (!wasMultiRow && isMultiRow) {
|
4238 |
+
$el.addClass(params.containerModifierClass + "multirow");
|
4239 |
+
|
4240 |
+
if (breakpointParams.slidesPerColumnFill === 'column') {
|
4241 |
+
$el.addClass(params.containerModifierClass + "multirow-column");
|
4242 |
+
}
|
4243 |
+
|
4244 |
+
swiper.emitContainerClasses();
|
4245 |
+
}
|
4246 |
+
|
4247 |
+
var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;
|
4248 |
+
var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);
|
4249 |
+
|
4250 |
+
if (directionChanged && initialized) {
|
4251 |
+
swiper.changeDirection();
|
4252 |
+
}
|
4253 |
+
|
4254 |
+
extend$1(swiper.params, breakpointParams);
|
4255 |
+
extend$1(swiper, {
|
4256 |
+
allowTouchMove: swiper.params.allowTouchMove,
|
4257 |
+
allowSlideNext: swiper.params.allowSlideNext,
|
4258 |
+
allowSlidePrev: swiper.params.allowSlidePrev
|
4259 |
+
});
|
4260 |
+
swiper.currentBreakpoint = breakpoint;
|
4261 |
+
swiper.emit('_beforeBreakpoint', breakpointParams);
|
4262 |
+
|
4263 |
+
if (needsReLoop && initialized) {
|
4264 |
+
swiper.loopDestroy();
|
4265 |
+
swiper.loopCreate();
|
4266 |
+
swiper.updateSlides();
|
4267 |
+
swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);
|
4268 |
+
}
|
4269 |
+
|
4270 |
+
swiper.emit('breakpoint', breakpointParams);
|
4271 |
+
}
|
4272 |
+
}
|
4273 |
+
|
4274 |
+
function getBreakpoints(breakpoints) {
|
4275 |
+
var window = getWindow(); // Get breakpoint for window width
|
4276 |
+
|
4277 |
+
if (!breakpoints) return undefined;
|
4278 |
+
var breakpoint = false;
|
4279 |
+
var points = Object.keys(breakpoints).map(function (point) {
|
4280 |
+
if (typeof point === 'string' && point.indexOf('@') === 0) {
|
4281 |
+
var minRatio = parseFloat(point.substr(1));
|
4282 |
+
var value = window.innerHeight * minRatio;
|
4283 |
+
return {
|
4284 |
+
value: value,
|
4285 |
+
point: point
|
4286 |
+
};
|
4287 |
+
}
|
4288 |
+
|
4289 |
+
return {
|
4290 |
+
value: point,
|
4291 |
+
point: point
|
4292 |
+
};
|
4293 |
+
});
|
4294 |
+
points.sort(function (a, b) {
|
4295 |
+
return parseInt(a.value, 10) - parseInt(b.value, 10);
|
4296 |
+
});
|
4297 |
+
|
4298 |
+
for (var i = 0; i < points.length; i += 1) {
|
4299 |
+
var _points$i = points[i],
|
4300 |
+
point = _points$i.point,
|
4301 |
+
value = _points$i.value;
|
4302 |
+
|
4303 |
+
if (value <= window.innerWidth) {
|
4304 |
+
breakpoint = point;
|
4305 |
+
}
|
4306 |
+
}
|
4307 |
+
|
4308 |
+
return breakpoint || 'max';
|
4309 |
+
}
|
4310 |
+
|
4311 |
+
var breakpoints = {
|
4312 |
+
setBreakpoint: setBreakpoint,
|
4313 |
+
getBreakpoint: getBreakpoints
|
4314 |
+
};
|
4315 |
+
|
4316 |
+
function addClasses() {
|
4317 |
+
var swiper = this;
|
4318 |
+
var classNames = swiper.classNames,
|
4319 |
+
params = swiper.params,
|
4320 |
+
rtl = swiper.rtl,
|
4321 |
+
$el = swiper.$el,
|
4322 |
+
device = swiper.device;
|
4323 |
+
var suffixes = [];
|
4324 |
+
suffixes.push('initialized');
|
4325 |
+
suffixes.push(params.direction);
|
4326 |
+
|
4327 |
+
if (params.freeMode) {
|
4328 |
+
suffixes.push('free-mode');
|
4329 |
+
}
|
4330 |
+
|
4331 |
+
if (params.autoHeight) {
|
4332 |
+
suffixes.push('autoheight');
|
4333 |
+
}
|
4334 |
+
|
4335 |
+
if (rtl) {
|
4336 |
+
suffixes.push('rtl');
|
4337 |
+
}
|
4338 |
+
|
4339 |
+
if (params.slidesPerColumn > 1) {
|
4340 |
+
suffixes.push('multirow');
|
4341 |
+
|
4342 |
+
if (params.slidesPerColumnFill === 'column') {
|
4343 |
+
suffixes.push('multirow-column');
|
4344 |
+
}
|
4345 |
+
}
|
4346 |
+
|
4347 |
+
if (device.android) {
|
4348 |
+
suffixes.push('android');
|
4349 |
+
}
|
4350 |
+
|
4351 |
+
if (device.ios) {
|
4352 |
+
suffixes.push('ios');
|
4353 |
+
}
|
4354 |
+
|
4355 |
+
if (params.cssMode) {
|
4356 |
+
suffixes.push('css-mode');
|
4357 |
+
}
|
4358 |
+
|
4359 |
+
suffixes.forEach(function (suffix) {
|
4360 |
+
classNames.push(params.containerModifierClass + suffix);
|
4361 |
+
});
|
4362 |
+
$el.addClass(classNames.join(' '));
|
4363 |
+
swiper.emitContainerClasses();
|
4364 |
+
}
|
4365 |
+
|
4366 |
+
function removeClasses() {
|
4367 |
+
var swiper = this;
|
4368 |
+
var $el = swiper.$el,
|
4369 |
+
classNames = swiper.classNames;
|
4370 |
+
$el.removeClass(classNames.join(' '));
|
4371 |
+
swiper.emitContainerClasses();
|
4372 |
+
}
|
4373 |
+
|
4374 |
+
var classes = {
|
4375 |
+
addClasses: addClasses,
|
4376 |
+
removeClasses: removeClasses
|
4377 |
+
};
|
4378 |
+
|
4379 |
+
function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {
|
4380 |
+
var window = getWindow();
|
4381 |
+
var image;
|
4382 |
+
|
4383 |
+
function onReady() {
|
4384 |
+
if (callback) callback();
|
4385 |
+
}
|
4386 |
+
|
4387 |
+
var isPicture = $(imageEl).parent('picture')[0];
|
4388 |
+
|
4389 |
+
if (!isPicture && (!imageEl.complete || !checkForComplete)) {
|
4390 |
+
if (src) {
|
4391 |
+
image = new window.Image();
|
4392 |
+
image.onload = onReady;
|
4393 |
+
image.onerror = onReady;
|
4394 |
+
|
4395 |
+
if (sizes) {
|
4396 |
+
image.sizes = sizes;
|
4397 |
+
}
|
4398 |
+
|
4399 |
+
if (srcset) {
|
4400 |
+
image.srcset = srcset;
|
4401 |
+
}
|
4402 |
+
|
4403 |
+
if (src) {
|
4404 |
+
image.src = src;
|
4405 |
+
}
|
4406 |
+
} else {
|
4407 |
+
onReady();
|
4408 |
+
}
|
4409 |
+
} else {
|
4410 |
+
// image already loaded...
|
4411 |
+
onReady();
|
4412 |
+
}
|
4413 |
+
}
|
4414 |
+
|
4415 |
+
function preloadImages() {
|
4416 |
+
var swiper = this;
|
4417 |
+
swiper.imagesToLoad = swiper.$el.find('img');
|
4418 |
+
|
4419 |
+
function onReady() {
|
4420 |
+
if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;
|
4421 |
+
if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;
|
4422 |
+
|
4423 |
+
if (swiper.imagesLoaded === swiper.imagesToLoad.length) {
|
4424 |
+
if (swiper.params.updateOnImagesReady) swiper.update();
|
4425 |
+
swiper.emit('imagesReady');
|
4426 |
+
}
|
4427 |
+
}
|
4428 |
+
|
4429 |
+
for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {
|
4430 |
+
var imageEl = swiper.imagesToLoad[i];
|
4431 |
+
swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);
|
4432 |
+
}
|
4433 |
+
}
|
4434 |
+
|
4435 |
+
var images = {
|
4436 |
+
loadImage: loadImage,
|
4437 |
+
preloadImages: preloadImages
|
4438 |
+
};
|
4439 |
+
|
4440 |
+
function checkOverflow() {
|
4441 |
+
var swiper = this;
|
4442 |
+
var params = swiper.params;
|
4443 |
+
var wasLocked = swiper.isLocked;
|
4444 |
+
var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;
|
4445 |
+
|
4446 |
+
if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {
|
4447 |
+
swiper.isLocked = lastSlidePosition <= swiper.size;
|
4448 |
+
} else {
|
4449 |
+
swiper.isLocked = swiper.snapGrid.length === 1;
|
4450 |
+
}
|
4451 |
+
|
4452 |
+
swiper.allowSlideNext = !swiper.isLocked;
|
4453 |
+
swiper.allowSlidePrev = !swiper.isLocked; // events
|
4454 |
+
|
4455 |
+
if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');
|
4456 |
+
|
4457 |
+
if (wasLocked && wasLocked !== swiper.isLocked) {
|
4458 |
+
swiper.isEnd = false;
|
4459 |
+
if (swiper.navigation) swiper.navigation.update();
|
4460 |
+
}
|
4461 |
+
}
|
4462 |
+
|
4463 |
+
var checkOverflow$1 = {
|
4464 |
+
checkOverflow: checkOverflow
|
4465 |
+
};
|
4466 |
+
|
4467 |
+
var defaults = {
|
4468 |
+
init: true,
|
4469 |
+
direction: 'horizontal',
|
4470 |
+
touchEventsTarget: 'container',
|
4471 |
+
initialSlide: 0,
|
4472 |
+
speed: 300,
|
4473 |
+
cssMode: false,
|
4474 |
+
updateOnWindowResize: true,
|
4475 |
+
// Overrides
|
4476 |
+
width: null,
|
4477 |
+
height: null,
|
4478 |
+
//
|
4479 |
+
preventInteractionOnTransition: false,
|
4480 |
+
// ssr
|
4481 |
+
userAgent: null,
|
4482 |
+
url: null,
|
4483 |
+
// To support iOS's swipe-to-go-back gesture (when being used in-app).
|
4484 |
+
edgeSwipeDetection: false,
|
4485 |
+
edgeSwipeThreshold: 20,
|
4486 |
+
// Free mode
|
4487 |
+
freeMode: false,
|
4488 |
+
freeModeMomentum: true,
|
4489 |
+
freeModeMomentumRatio: 1,
|
4490 |
+
freeModeMomentumBounce: true,
|
4491 |
+
freeModeMomentumBounceRatio: 1,
|
4492 |
+
freeModeMomentumVelocityRatio: 1,
|
4493 |
+
freeModeSticky: false,
|
4494 |
+
freeModeMinimumVelocity: 0.02,
|
4495 |
+
// Autoheight
|
4496 |
+
autoHeight: false,
|
4497 |
+
// Set wrapper width
|
4498 |
+
setWrapperSize: false,
|
4499 |
+
// Virtual Translate
|
4500 |
+
virtualTranslate: false,
|
4501 |
+
// Effects
|
4502 |
+
effect: 'slide',
|
4503 |
+
// 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
|
4504 |
+
// Breakpoints
|
4505 |
+
breakpoints: undefined,
|
4506 |
+
// Slides grid
|
4507 |
+
spaceBetween: 0,
|
4508 |
+
slidesPerView: 1,
|
4509 |
+
slidesPerColumn: 1,
|
4510 |
+
slidesPerColumnFill: 'column',
|
4511 |
+
slidesPerGroup: 1,
|
4512 |
+
slidesPerGroupSkip: 0,
|
4513 |
+
centeredSlides: false,
|
4514 |
+
centeredSlidesBounds: false,
|
4515 |
+
slidesOffsetBefore: 0,
|
4516 |
+
// in px
|
4517 |
+
slidesOffsetAfter: 0,
|
4518 |
+
// in px
|
4519 |
+
normalizeSlideIndex: true,
|
4520 |
+
centerInsufficientSlides: false,
|
4521 |
+
// Disable swiper and hide navigation when container not overflow
|
4522 |
+
watchOverflow: false,
|
4523 |
+
// Round length
|
4524 |
+
roundLengths: false,
|
4525 |
+
// Touches
|
4526 |
+
touchRatio: 1,
|
4527 |
+
touchAngle: 45,
|
4528 |
+
simulateTouch: true,
|
4529 |
+
shortSwipes: true,
|
4530 |
+
longSwipes: true,
|
4531 |
+
longSwipesRatio: 0.5,
|
4532 |
+
longSwipesMs: 300,
|
4533 |
+
followFinger: true,
|
4534 |
+
allowTouchMove: true,
|
4535 |
+
threshold: 0,
|
4536 |
+
touchMoveStopPropagation: false,
|
4537 |
+
touchStartPreventDefault: true,
|
4538 |
+
touchStartForcePreventDefault: false,
|
4539 |
+
touchReleaseOnEdges: false,
|
4540 |
+
// Unique Navigation Elements
|
4541 |
+
uniqueNavElements: true,
|
4542 |
+
// Resistance
|
4543 |
+
resistance: true,
|
4544 |
+
resistanceRatio: 0.85,
|
4545 |
+
// Progress
|
4546 |
+
watchSlidesProgress: false,
|
4547 |
+
watchSlidesVisibility: false,
|
4548 |
+
// Cursor
|
4549 |
+
grabCursor: false,
|
4550 |
+
// Clicks
|
4551 |
+
preventClicks: true,
|
4552 |
+
preventClicksPropagation: true,
|
4553 |
+
slideToClickedSlide: false,
|
4554 |
+
// Images
|
4555 |
+
preloadImages: true,
|
4556 |
+
updateOnImagesReady: true,
|
4557 |
+
// loop
|
4558 |
+
loop: false,
|
4559 |
+
loopAdditionalSlides: 0,
|
4560 |
+
loopedSlides: null,
|
4561 |
+
loopFillGroupWithBlank: false,
|
4562 |
+
loopPreventsSlide: true,
|
4563 |
+
// Swiping/no swiping
|
4564 |
+
allowSlidePrev: true,
|
4565 |
+
allowSlideNext: true,
|
4566 |
+
swipeHandler: null,
|
4567 |
+
// '.swipe-handler',
|
4568 |
+
noSwiping: true,
|
4569 |
+
noSwipingClass: 'swiper-no-swiping',
|
4570 |
+
noSwipingSelector: null,
|
4571 |
+
// Passive Listeners
|
4572 |
+
passiveListeners: true,
|
4573 |
+
// NS
|
4574 |
+
containerModifierClass: 'swiper-container-',
|
4575 |
+
// NEW
|
4576 |
+
slideClass: 'swiper-slide',
|
4577 |
+
slideBlankClass: 'swiper-slide-invisible-blank',
|
4578 |
+
slideActiveClass: 'swiper-slide-active',
|
4579 |
+
slideDuplicateActiveClass: 'swiper-slide-duplicate-active',
|
4580 |
+
slideVisibleClass: 'swiper-slide-visible',
|
4581 |
+
slideDuplicateClass: 'swiper-slide-duplicate',
|
4582 |
+
slideNextClass: 'swiper-slide-next',
|
4583 |
+
slideDuplicateNextClass: 'swiper-slide-duplicate-next',
|
4584 |
+
slidePrevClass: 'swiper-slide-prev',
|
4585 |
+
slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',
|
4586 |
+
wrapperClass: 'swiper-wrapper',
|
4587 |
+
// Callbacks
|
4588 |
+
runCallbacksOnInit: true,
|
4589 |
+
// Internals
|
4590 |
+
_emitClasses: false
|
4591 |
+
};
|
4592 |
+
|
4593 |
+
var prototypes = {
|
4594 |
+
modular: modular,
|
4595 |
+
eventsEmitter: eventsEmitter,
|
4596 |
+
update: update,
|
4597 |
+
translate: translate,
|
4598 |
+
transition: transition$1,
|
4599 |
+
slide: slide,
|
4600 |
+
loop: loop,
|
4601 |
+
grabCursor: grabCursor,
|
4602 |
+
manipulation: manipulation,
|
4603 |
+
events: events,
|
4604 |
+
breakpoints: breakpoints,
|
4605 |
+
checkOverflow: checkOverflow$1,
|
4606 |
+
classes: classes,
|
4607 |
+
images: images
|
4608 |
+
};
|
4609 |
+
var extendedDefaults = {};
|
4610 |
+
|
4611 |
+
var Swiper = /*#__PURE__*/function () {
|
4612 |
+
function Swiper() {
|
4613 |
+
var el;
|
4614 |
+
var params;
|
4615 |
+
|
4616 |
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
4617 |
+
args[_key] = arguments[_key];
|
4618 |
+
}
|
4619 |
+
|
4620 |
+
if (args.length === 1 && args[0].constructor && args[0].constructor === Object) {
|
4621 |
+
params = args[0];
|
4622 |
+
} else {
|
4623 |
+
el = args[0];
|
4624 |
+
params = args[1];
|
4625 |
+
}
|
4626 |
+
|
4627 |
+
if (!params) params = {};
|
4628 |
+
params = extend$1({}, params);
|
4629 |
+
if (el && !params.el) params.el = el; // Swiper Instance
|
4630 |
+
|
4631 |
+
var swiper = this;
|
4632 |
+
swiper.support = getSupport();
|
4633 |
+
swiper.device = getDevice({
|
4634 |
+
userAgent: params.userAgent
|
4635 |
+
});
|
4636 |
+
swiper.browser = getBrowser();
|
4637 |
+
swiper.eventsListeners = {};
|
4638 |
+
swiper.eventsAnyListeners = [];
|
4639 |
+
|
4640 |
+
if (typeof swiper.modules === 'undefined') {
|
4641 |
+
swiper.modules = {};
|
4642 |
+
}
|
4643 |
+
|
4644 |
+
Object.keys(swiper.modules).forEach(function (moduleName) {
|
4645 |
+
var module = swiper.modules[moduleName];
|
4646 |
+
|
4647 |
+
if (module.params) {
|
4648 |
+
var moduleParamName = Object.keys(module.params)[0];
|
4649 |
+
var moduleParams = module.params[moduleParamName];
|
4650 |
+
if (typeof moduleParams !== 'object' || moduleParams === null) return;
|
4651 |
+
if (!(moduleParamName in params && 'enabled' in moduleParams)) return;
|
4652 |
+
|
4653 |
+
if (params[moduleParamName] === true) {
|
4654 |
+
params[moduleParamName] = {
|
4655 |
+
enabled: true
|
4656 |
+
};
|
4657 |
+
}
|
4658 |
+
|
4659 |
+
if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
|
4660 |
+
params[moduleParamName].enabled = true;
|
4661 |
+
}
|
4662 |
+
|
4663 |
+
if (!params[moduleParamName]) params[moduleParamName] = {
|
4664 |
+
enabled: false
|
4665 |
+
};
|
4666 |
+
}
|
4667 |
+
}); // Extend defaults with modules params
|
4668 |
+
|
4669 |
+
var swiperParams = extend$1({}, defaults);
|
4670 |
+
swiper.useParams(swiperParams); // Extend defaults with passed params
|
4671 |
+
|
4672 |
+
swiper.params = extend$1({}, swiperParams, extendedDefaults, params);
|
4673 |
+
swiper.originalParams = extend$1({}, swiper.params);
|
4674 |
+
swiper.passedParams = extend$1({}, params); // add event listeners
|
4675 |
+
|
4676 |
+
if (swiper.params && swiper.params.on) {
|
4677 |
+
Object.keys(swiper.params.on).forEach(function (eventName) {
|
4678 |
+
swiper.on(eventName, swiper.params.on[eventName]);
|
4679 |
+
});
|
4680 |
+
}
|
4681 |
+
|
4682 |
+
if (swiper.params && swiper.params.onAny) {
|
4683 |
+
swiper.onAny(swiper.params.onAny);
|
4684 |
+
} // Save Dom lib
|
4685 |
+
|
4686 |
+
|
4687 |
+
swiper.$ = $; // Find el
|
4688 |
+
|
4689 |
+
var $el = $(swiper.params.el);
|
4690 |
+
el = $el[0];
|
4691 |
+
|
4692 |
+
if (!el) {
|
4693 |
+
return undefined;
|
4694 |
+
}
|
4695 |
+
|
4696 |
+
if ($el.length > 1) {
|
4697 |
+
var swipers = [];
|
4698 |
+
$el.each(function (containerEl) {
|
4699 |
+
var newParams = extend$1({}, params, {
|
4700 |
+
el: containerEl
|
4701 |
+
});
|
4702 |
+
swipers.push(new Swiper(newParams));
|
4703 |
+
});
|
4704 |
+
return swipers;
|
4705 |
+
}
|
4706 |
+
|
4707 |
+
el.swiper = swiper; // Find Wrapper
|
4708 |
+
|
4709 |
+
var $wrapperEl;
|
4710 |
+
|
4711 |
+
if (el && el.shadowRoot && el.shadowRoot.querySelector) {
|
4712 |
+
$wrapperEl = $(el.shadowRoot.querySelector("." + swiper.params.wrapperClass)); // Children needs to return slot items
|
4713 |
+
|
4714 |
+
$wrapperEl.children = function (options) {
|
4715 |
+
return $el.children(options);
|
4716 |
+
};
|
4717 |
+
} else {
|
4718 |
+
$wrapperEl = $el.children("." + swiper.params.wrapperClass);
|
4719 |
+
} // Extend Swiper
|
4720 |
+
|
4721 |
+
|
4722 |
+
extend$1(swiper, {
|
4723 |
+
$el: $el,
|
4724 |
+
el: el,
|
4725 |
+
$wrapperEl: $wrapperEl,
|
4726 |
+
wrapperEl: $wrapperEl[0],
|
4727 |
+
// Classes
|
4728 |
+
classNames: [],
|
4729 |
+
// Slides
|
4730 |
+
slides: $(),
|
4731 |
+
slidesGrid: [],
|
4732 |
+
snapGrid: [],
|
4733 |
+
slidesSizesGrid: [],
|
4734 |
+
// isDirection
|
4735 |
+
isHorizontal: function isHorizontal() {
|
4736 |
+
return swiper.params.direction === 'horizontal';
|
4737 |
+
},
|
4738 |
+
isVertical: function isVertical() {
|
4739 |
+
return swiper.params.direction === 'vertical';
|
4740 |
+
},
|
4741 |
+
// RTL
|
4742 |
+
rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',
|
4743 |
+
rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),
|
4744 |
+
wrongRTL: $wrapperEl.css('display') === '-webkit-box',
|
4745 |
+
// Indexes
|
4746 |
+
activeIndex: 0,
|
4747 |
+
realIndex: 0,
|
4748 |
+
//
|
4749 |
+
isBeginning: true,
|
4750 |
+
isEnd: false,
|
4751 |
+
// Props
|
4752 |
+
translate: 0,
|
4753 |
+
previousTranslate: 0,
|
4754 |
+
progress: 0,
|
4755 |
+
velocity: 0,
|
4756 |
+
animating: false,
|
4757 |
+
// Locks
|
4758 |
+
allowSlideNext: swiper.params.allowSlideNext,
|
4759 |
+
allowSlidePrev: swiper.params.allowSlidePrev,
|
4760 |
+
// Touch Events
|
4761 |
+
touchEvents: function touchEvents() {
|
4762 |
+
var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];
|
4763 |
+
var desktop = ['mousedown', 'mousemove', 'mouseup'];
|
4764 |
+
|
4765 |
+
if (swiper.support.pointerEvents) {
|
4766 |
+
desktop = ['pointerdown', 'pointermove', 'pointerup'];
|
4767 |
+
}
|
4768 |
+
|
4769 |
+
swiper.touchEventsTouch = {
|
4770 |
+
start: touch[0],
|
4771 |
+
move: touch[1],
|
4772 |
+
end: touch[2],
|
4773 |
+
cancel: touch[3]
|
4774 |
+
};
|
4775 |
+
swiper.touchEventsDesktop = {
|
4776 |
+
start: desktop[0],
|
4777 |
+
move: desktop[1],
|
4778 |
+
end: desktop[2]
|
4779 |
+
};
|
4780 |
+
return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;
|
4781 |
+
}(),
|
4782 |
+
touchEventsData: {
|
4783 |
+
isTouched: undefined,
|
4784 |
+
isMoved: undefined,
|
4785 |
+
allowTouchCallbacks: undefined,
|
4786 |
+
touchStartTime: undefined,
|
4787 |
+
isScrolling: undefined,
|
4788 |
+
currentTranslate: undefined,
|
4789 |
+
startTranslate: undefined,
|
4790 |
+
allowThresholdMove: undefined,
|
4791 |
+
// Form elements to match
|
4792 |
+
formElements: 'input, select, option, textarea, button, video, label',
|
4793 |
+
// Last click time
|
4794 |
+
lastClickTime: now(),
|
4795 |
+
clickTimeout: undefined,
|
4796 |
+
// Velocities
|
4797 |
+
velocities: [],
|
4798 |
+
allowMomentumBounce: undefined,
|
4799 |
+
isTouchEvent: undefined,
|
4800 |
+
startMoving: undefined
|
4801 |
+
},
|
4802 |
+
// Clicks
|
4803 |
+
allowClick: true,
|
4804 |
+
// Touches
|
4805 |
+
allowTouchMove: swiper.params.allowTouchMove,
|
4806 |
+
touches: {
|
4807 |
+
startX: 0,
|
4808 |
+
startY: 0,
|
4809 |
+
currentX: 0,
|
4810 |
+
currentY: 0,
|
4811 |
+
diff: 0
|
4812 |
+
},
|
4813 |
+
// Images
|
4814 |
+
imagesToLoad: [],
|
4815 |
+
imagesLoaded: 0
|
4816 |
+
}); // Install Modules
|
4817 |
+
|
4818 |
+
swiper.useModules();
|
4819 |
+
swiper.emit('_swiper'); // Init
|
4820 |
+
|
4821 |
+
if (swiper.params.init) {
|
4822 |
+
swiper.init();
|
4823 |
+
} // Return app instance
|
4824 |
+
|
4825 |
+
|
4826 |
+
return swiper;
|
4827 |
+
}
|
4828 |
+
|
4829 |
+
var _proto = Swiper.prototype;
|
4830 |
+
|
4831 |
+
_proto.emitContainerClasses = function emitContainerClasses() {
|
4832 |
+
var swiper = this;
|
4833 |
+
if (!swiper.params._emitClasses || !swiper.el) return;
|
4834 |
+
var classes = swiper.el.className.split(' ').filter(function (className) {
|
4835 |
+
return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;
|
4836 |
+
});
|
4837 |
+
swiper.emit('_containerClasses', classes.join(' '));
|
4838 |
+
};
|
4839 |
+
|
4840 |
+
_proto.emitSlidesClasses = function emitSlidesClasses() {
|
4841 |
+
var swiper = this;
|
4842 |
+
if (!swiper.params._emitClasses || !swiper.el) return;
|
4843 |
+
swiper.slides.each(function (slideEl) {
|
4844 |
+
var classes = slideEl.className.split(' ').filter(function (className) {
|
4845 |
+
return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;
|
4846 |
+
});
|
4847 |
+
swiper.emit('_slideClass', slideEl, classes.join(' '));
|
4848 |
+
});
|
4849 |
+
};
|
4850 |
+
|
4851 |
+
_proto.slidesPerViewDynamic = function slidesPerViewDynamic() {
|
4852 |
+
var swiper = this;
|
4853 |
+
var params = swiper.params,
|
4854 |
+
slides = swiper.slides,
|
4855 |
+
slidesGrid = swiper.slidesGrid,
|
4856 |
+
swiperSize = swiper.size,
|
4857 |
+
activeIndex = swiper.activeIndex;
|
4858 |
+
var spv = 1;
|
4859 |
+
|
4860 |
+
if (params.centeredSlides) {
|
4861 |
+
var slideSize = slides[activeIndex].swiperSlideSize;
|
4862 |
+
var breakLoop;
|
4863 |
+
|
4864 |
+
for (var i = activeIndex + 1; i < slides.length; i += 1) {
|
4865 |
+
if (slides[i] && !breakLoop) {
|
4866 |
+
slideSize += slides[i].swiperSlideSize;
|
4867 |
+
spv += 1;
|
4868 |
+
if (slideSize > swiperSize) breakLoop = true;
|
4869 |
+
}
|
4870 |
+
}
|
4871 |
+
|
4872 |
+
for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {
|
4873 |
+
if (slides[_i] && !breakLoop) {
|
4874 |
+
slideSize += slides[_i].swiperSlideSize;
|
4875 |
+
spv += 1;
|
4876 |
+
if (slideSize > swiperSize) breakLoop = true;
|
4877 |
+
}
|
4878 |
+
}
|
4879 |
+
} else {
|
4880 |
+
for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {
|
4881 |
+
if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {
|
4882 |
+
spv += 1;
|
4883 |
+
}
|
4884 |
+
}
|
4885 |
+
}
|
4886 |
+
|
4887 |
+
return spv;
|
4888 |
+
};
|
4889 |
+
|
4890 |
+
_proto.update = function update() {
|
4891 |
+
var swiper = this;
|
4892 |
+
if (!swiper || swiper.destroyed) return;
|
4893 |
+
var snapGrid = swiper.snapGrid,
|
4894 |
+
params = swiper.params; // Breakpoints
|
4895 |
+
|
4896 |
+
if (params.breakpoints) {
|
4897 |
+
swiper.setBreakpoint();
|
4898 |
+
}
|
4899 |
+
|
4900 |
+
swiper.updateSize();
|
4901 |
+
swiper.updateSlides();
|
4902 |
+
swiper.updateProgress();
|
4903 |
+
swiper.updateSlidesClasses();
|
4904 |
+
|
4905 |
+
function setTranslate() {
|
4906 |
+
var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;
|
4907 |
+
var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
|
4908 |
+
swiper.setTranslate(newTranslate);
|
4909 |
+
swiper.updateActiveIndex();
|
4910 |
+
swiper.updateSlidesClasses();
|
4911 |
+
}
|
4912 |
+
|
4913 |
+
var translated;
|
4914 |
+
|
4915 |
+
if (swiper.params.freeMode) {
|
4916 |
+
setTranslate();
|
4917 |
+
|
4918 |
+
if (swiper.params.autoHeight) {
|
4919 |
+
swiper.updateAutoHeight();
|
4920 |
+
}
|
4921 |
+
} else {
|
4922 |
+
if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {
|
4923 |
+
translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);
|
4924 |
+
} else {
|
4925 |
+
translated = swiper.slideTo(swiper.activeIndex, 0, false, true);
|
4926 |
+
}
|
4927 |
+
|
4928 |
+
if (!translated) {
|
4929 |
+
setTranslate();
|
4930 |
+
}
|
4931 |
+
}
|
4932 |
+
|
4933 |
+
if (params.watchOverflow && snapGrid !== swiper.snapGrid) {
|
4934 |
+
swiper.checkOverflow();
|
4935 |
+
}
|
4936 |
+
|
4937 |
+
swiper.emit('update');
|
4938 |
+
};
|
4939 |
+
|
4940 |
+
_proto.changeDirection = function changeDirection(newDirection, needUpdate) {
|
4941 |
+
if (needUpdate === void 0) {
|
4942 |
+
needUpdate = true;
|
4943 |
+
}
|
4944 |
+
|
4945 |
+
var swiper = this;
|
4946 |
+
var currentDirection = swiper.params.direction;
|
4947 |
+
|
4948 |
+
if (!newDirection) {
|
4949 |
+
// eslint-disable-next-line
|
4950 |
+
newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';
|
4951 |
+
}
|
4952 |
+
|
4953 |
+
if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {
|
4954 |
+
return swiper;
|
4955 |
+
}
|
4956 |
+
|
4957 |
+
swiper.$el.removeClass("" + swiper.params.containerModifierClass + currentDirection).addClass("" + swiper.params.containerModifierClass + newDirection);
|
4958 |
+
swiper.emitContainerClasses();
|
4959 |
+
swiper.params.direction = newDirection;
|
4960 |
+
swiper.slides.each(function (slideEl) {
|
4961 |
+
if (newDirection === 'vertical') {
|
4962 |
+
slideEl.style.width = '';
|
4963 |
+
} else {
|
4964 |
+
slideEl.style.height = '';
|
4965 |
+
}
|
4966 |
+
});
|
4967 |
+
swiper.emit('changeDirection');
|
4968 |
+
if (needUpdate) swiper.update();
|
4969 |
+
return swiper;
|
4970 |
+
};
|
4971 |
+
|
4972 |
+
_proto.init = function init() {
|
4973 |
+
var swiper = this;
|
4974 |
+
if (swiper.initialized) return;
|
4975 |
+
swiper.emit('beforeInit'); // Set breakpoint
|
4976 |
+
|
4977 |
+
if (swiper.params.breakpoints) {
|
4978 |
+
swiper.setBreakpoint();
|
4979 |
+
} // Add Classes
|
4980 |
+
|
4981 |
+
|
4982 |
+
swiper.addClasses(); // Create loop
|
4983 |
+
|
4984 |
+
if (swiper.params.loop) {
|
4985 |
+
swiper.loopCreate();
|
4986 |
+
} // Update size
|
4987 |
+
|
4988 |
+
|
4989 |
+
swiper.updateSize(); // Update slides
|
4990 |
+
|
4991 |
+
swiper.updateSlides();
|
4992 |
+
|
4993 |
+
if (swiper.params.watchOverflow) {
|
4994 |
+
swiper.checkOverflow();
|
4995 |
+
} // Set Grab Cursor
|
4996 |
+
|
4997 |
+
|
4998 |
+
if (swiper.params.grabCursor) {
|
4999 |
+
swiper.setGrabCursor();
|
5000 |
+
}
|
5001 |
+
|
5002 |
+
if (swiper.params.preloadImages) {
|
5003 |
+
swiper.preloadImages();
|
5004 |
+
} // Slide To Initial Slide
|
5005 |
+
|
5006 |
+
|
5007 |
+
if (swiper.params.loop) {
|
5008 |
+
swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);
|
5009 |
+
} else {
|
5010 |
+
swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);
|
5011 |
+
} // Attach events
|
5012 |
+
|
5013 |
+
|
5014 |
+
swiper.attachEvents(); // Init Flag
|
5015 |
+
|
5016 |
+
swiper.initialized = true; // Emit
|
5017 |
+
|
5018 |
+
swiper.emit('init');
|
5019 |
+
swiper.emit('afterInit');
|
5020 |
+
};
|
5021 |
+
|
5022 |
+
_proto.destroy = function destroy(deleteInstance, cleanStyles) {
|
5023 |
+
if (deleteInstance === void 0) {
|
5024 |
+
deleteInstance = true;
|
5025 |
+
}
|
5026 |
+
|
5027 |
+
if (cleanStyles === void 0) {
|
5028 |
+
cleanStyles = true;
|
5029 |
+
}
|
5030 |
+
|
5031 |
+
var swiper = this;
|
5032 |
+
var params = swiper.params,
|
5033 |
+
$el = swiper.$el,
|
5034 |
+
$wrapperEl = swiper.$wrapperEl,
|
5035 |
+
slides = swiper.slides;
|
5036 |
+
|
5037 |
+
if (typeof swiper.params === 'undefined' || swiper.destroyed) {
|
5038 |
+
return null;
|
5039 |
+
}
|
5040 |
+
|
5041 |
+
swiper.emit('beforeDestroy'); // Init Flag
|
5042 |
+
|
5043 |
+
swiper.initialized = false; // Detach events
|
5044 |
+
|
5045 |
+
swiper.detachEvents(); // Destroy loop
|
5046 |
+
|
5047 |
+
if (params.loop) {
|
5048 |
+
swiper.loopDestroy();
|
5049 |
+
} // Cleanup styles
|
5050 |
+
|
5051 |
+
|
5052 |
+
if (cleanStyles) {
|
5053 |
+
swiper.removeClasses();
|
5054 |
+
$el.removeAttr('style');
|
5055 |
+
$wrapperEl.removeAttr('style');
|
5056 |
+
|
5057 |
+
if (slides && slides.length) {
|
5058 |
+
slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');
|
5059 |
+
}
|
5060 |
+
}
|
5061 |
+
|
5062 |
+
swiper.emit('destroy'); // Detach emitter events
|
5063 |
+
|
5064 |
+
Object.keys(swiper.eventsListeners).forEach(function (eventName) {
|
5065 |
+
swiper.off(eventName);
|
5066 |
+
});
|
5067 |
+
|
5068 |
+
if (deleteInstance !== false) {
|
5069 |
+
swiper.$el[0].swiper = null;
|
5070 |
+
deleteProps(swiper);
|
5071 |
+
}
|
5072 |
+
|
5073 |
+
swiper.destroyed = true;
|
5074 |
+
return null;
|
5075 |
+
};
|
5076 |
+
|
5077 |
+
Swiper.extendDefaults = function extendDefaults(newDefaults) {
|
5078 |
+
extend$1(extendedDefaults, newDefaults);
|
5079 |
+
};
|
5080 |
+
|
5081 |
+
Swiper.installModule = function installModule(module) {
|
5082 |
+
if (!Swiper.prototype.modules) Swiper.prototype.modules = {};
|
5083 |
+
var name = module.name || Object.keys(Swiper.prototype.modules).length + "_" + now();
|
5084 |
+
Swiper.prototype.modules[name] = module;
|
5085 |
+
};
|
5086 |
+
|
5087 |
+
Swiper.use = function use(module) {
|
5088 |
+
if (Array.isArray(module)) {
|
5089 |
+
module.forEach(function (m) {
|
5090 |
+
return Swiper.installModule(m);
|
5091 |
+
});
|
5092 |
+
return Swiper;
|
5093 |
+
}
|
5094 |
+
|
5095 |
+
Swiper.installModule(module);
|
5096 |
+
return Swiper;
|
5097 |
+
};
|
5098 |
+
|
5099 |
+
_createClass(Swiper, null, [{
|
5100 |
+
key: "extendedDefaults",
|
5101 |
+
get: function get() {
|
5102 |
+
return extendedDefaults;
|
5103 |
+
}
|
5104 |
+
}, {
|
5105 |
+
key: "defaults",
|
5106 |
+
get: function get() {
|
5107 |
+
return defaults;
|
5108 |
+
}
|
5109 |
+
}]);
|
5110 |
+
|
5111 |
+
return Swiper;
|
5112 |
+
}();
|
5113 |
+
|
5114 |
+
Object.keys(prototypes).forEach(function (prototypeGroup) {
|
5115 |
+
Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {
|
5116 |
+
Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
|
5117 |
+
});
|
5118 |
+
});
|
5119 |
+
Swiper.use([Resize, Observer$1]);
|
5120 |
+
|
5121 |
+
var Virtual = {
|
5122 |
+
update: function update(force) {
|
5123 |
+
var swiper = this;
|
5124 |
+
var _swiper$params = swiper.params,
|
5125 |
+
slidesPerView = _swiper$params.slidesPerView,
|
5126 |
+
slidesPerGroup = _swiper$params.slidesPerGroup,
|
5127 |
+
centeredSlides = _swiper$params.centeredSlides;
|
5128 |
+
var _swiper$params$virtua = swiper.params.virtual,
|
5129 |
+
addSlidesBefore = _swiper$params$virtua.addSlidesBefore,
|
5130 |
+
addSlidesAfter = _swiper$params$virtua.addSlidesAfter;
|
5131 |
+
var _swiper$virtual = swiper.virtual,
|
5132 |
+
previousFrom = _swiper$virtual.from,
|
5133 |
+
previousTo = _swiper$virtual.to,
|
5134 |
+
slides = _swiper$virtual.slides,
|
5135 |
+
previousSlidesGrid = _swiper$virtual.slidesGrid,
|
5136 |
+
renderSlide = _swiper$virtual.renderSlide,
|
5137 |
+
previousOffset = _swiper$virtual.offset;
|
5138 |
+
swiper.updateActiveIndex();
|
5139 |
+
var activeIndex = swiper.activeIndex || 0;
|
5140 |
+
var offsetProp;
|
5141 |
+
if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';
|
5142 |
+
var slidesAfter;
|
5143 |
+
var slidesBefore;
|
5144 |
+
|
5145 |
+
if (centeredSlides) {
|
5146 |
+
slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
|
5147 |
+
slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
|
5148 |
+
} else {
|
5149 |
+
slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
|
5150 |
+
slidesBefore = slidesPerGroup + addSlidesBefore;
|
5151 |
+
}
|
5152 |
+
|
5153 |
+
var from = Math.max((activeIndex || 0) - slidesBefore, 0);
|
5154 |
+
var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);
|
5155 |
+
var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);
|
5156 |
+
extend$1(swiper.virtual, {
|
5157 |
+
from: from,
|
5158 |
+
to: to,
|
5159 |
+
offset: offset,
|
5160 |
+
slidesGrid: swiper.slidesGrid
|
5161 |
+
});
|
5162 |
+
|
5163 |
+
function onRendered() {
|
5164 |
+
swiper.updateSlides();
|
5165 |
+
swiper.updateProgress();
|
5166 |
+
swiper.updateSlidesClasses();
|
5167 |
+
|
5168 |
+
if (swiper.lazy && swiper.params.lazy.enabled) {
|
5169 |
+
swiper.lazy.load();
|
5170 |
+
}
|
5171 |
+
}
|
5172 |
+
|
5173 |
+
if (previousFrom === from && previousTo === to && !force) {
|
5174 |
+
if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {
|
5175 |
+
swiper.slides.css(offsetProp, offset + "px");
|
5176 |
+
}
|
5177 |
+
|
5178 |
+
swiper.updateProgress();
|
5179 |
+
return;
|
5180 |
+
}
|
5181 |
+
|
5182 |
+
if (swiper.params.virtual.renderExternal) {
|
5183 |
+
swiper.params.virtual.renderExternal.call(swiper, {
|
5184 |
+
offset: offset,
|
5185 |
+
from: from,
|
5186 |
+
to: to,
|
5187 |
+
slides: function getSlides() {
|
5188 |
+
var slidesToRender = [];
|
5189 |
+
|
5190 |
+
for (var i = from; i <= to; i += 1) {
|
5191 |
+
slidesToRender.push(slides[i]);
|
5192 |
+
}
|
5193 |
+
|
5194 |
+
return slidesToRender;
|
5195 |
+
}()
|
5196 |
+
});
|
5197 |
+
|
5198 |
+
if (swiper.params.virtual.renderExternalUpdate) {
|
5199 |
+
onRendered();
|
5200 |
+
}
|
5201 |
+
|
5202 |
+
return;
|
5203 |
+
}
|
5204 |
+
|
5205 |
+
var prependIndexes = [];
|
5206 |
+
var appendIndexes = [];
|
5207 |
+
|
5208 |
+
if (force) {
|
5209 |
+
swiper.$wrapperEl.find("." + swiper.params.slideClass).remove();
|
5210 |
+
} else {
|
5211 |
+
for (var i = previousFrom; i <= previousTo; i += 1) {
|
5212 |
+
if (i < from || i > to) {
|
5213 |
+
swiper.$wrapperEl.find("." + swiper.params.slideClass + "[data-swiper-slide-index=\"" + i + "\"]").remove();
|
5214 |
+
}
|
5215 |
+
}
|
5216 |
+
}
|
5217 |
+
|
5218 |
+
for (var _i = 0; _i < slides.length; _i += 1) {
|
5219 |
+
if (_i >= from && _i <= to) {
|
5220 |
+
if (typeof previousTo === 'undefined' || force) {
|
5221 |
+
appendIndexes.push(_i);
|
5222 |
+
} else {
|
5223 |
+
if (_i > previousTo) appendIndexes.push(_i);
|
5224 |
+
if (_i < previousFrom) prependIndexes.push(_i);
|
5225 |
+
}
|
5226 |
+
}
|
5227 |
+
}
|
5228 |
+
|
5229 |
+
appendIndexes.forEach(function (index) {
|
5230 |
+
swiper.$wrapperEl.append(renderSlide(slides[index], index));
|
5231 |
+
});
|
5232 |
+
prependIndexes.sort(function (a, b) {
|
5233 |
+
return b - a;
|
5234 |
+
}).forEach(function (index) {
|
5235 |
+
swiper.$wrapperEl.prepend(renderSlide(slides[index], index));
|
5236 |
+
});
|
5237 |
+
swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, offset + "px");
|
5238 |
+
onRendered();
|
5239 |
+
},
|
5240 |
+
renderSlide: function renderSlide(slide, index) {
|
5241 |
+
var swiper = this;
|
5242 |
+
var params = swiper.params.virtual;
|
5243 |
+
|
5244 |
+
if (params.cache && swiper.virtual.cache[index]) {
|
5245 |
+
return swiper.virtual.cache[index];
|
5246 |
+
}
|
5247 |
+
|
5248 |
+
var $slideEl = params.renderSlide ? $(params.renderSlide.call(swiper, slide, index)) : $("<div class=\"" + swiper.params.slideClass + "\" data-swiper-slide-index=\"" + index + "\">" + slide + "</div>");
|
5249 |
+
if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);
|
5250 |
+
if (params.cache) swiper.virtual.cache[index] = $slideEl;
|
5251 |
+
return $slideEl;
|
5252 |
+
},
|
5253 |
+
appendSlide: function appendSlide(slides) {
|
5254 |
+
var swiper = this;
|
5255 |
+
|
5256 |
+
if (typeof slides === 'object' && 'length' in slides) {
|
5257 |
+
for (var i = 0; i < slides.length; i += 1) {
|
5258 |
+
if (slides[i]) swiper.virtual.slides.push(slides[i]);
|
5259 |
+
}
|
5260 |
+
} else {
|
5261 |
+
swiper.virtual.slides.push(slides);
|
5262 |
+
}
|
5263 |
+
|
5264 |
+
swiper.virtual.update(true);
|
5265 |
+
},
|
5266 |
+
prependSlide: function prependSlide(slides) {
|
5267 |
+
var swiper = this;
|
5268 |
+
var activeIndex = swiper.activeIndex;
|
5269 |
+
var newActiveIndex = activeIndex + 1;
|
5270 |
+
var numberOfNewSlides = 1;
|
5271 |
+
|
5272 |
+
if (Array.isArray(slides)) {
|
5273 |
+
for (var i = 0; i < slides.length; i += 1) {
|
5274 |
+
if (slides[i]) swiper.virtual.slides.unshift(slides[i]);
|
5275 |
+
}
|
5276 |
+
|
5277 |
+
newActiveIndex = activeIndex + slides.length;
|
5278 |
+
numberOfNewSlides = slides.length;
|
5279 |
+
} else {
|
5280 |
+
swiper.virtual.slides.unshift(slides);
|
5281 |
+
}
|
5282 |
+
|
5283 |
+
if (swiper.params.virtual.cache) {
|
5284 |
+
var cache = swiper.virtual.cache;
|
5285 |
+
var newCache = {};
|
5286 |
+
Object.keys(cache).forEach(function (cachedIndex) {
|
5287 |
+
var $cachedEl = cache[cachedIndex];
|
5288 |
+
var cachedElIndex = $cachedEl.attr('data-swiper-slide-index');
|
5289 |
+
|
5290 |
+
if (cachedElIndex) {
|
5291 |
+
$cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + 1);
|
5292 |
+
}
|
5293 |
+
|
5294 |
+
newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;
|
5295 |
+
});
|
5296 |
+
swiper.virtual.cache = newCache;
|
5297 |
+
}
|
5298 |
+
|
5299 |
+
swiper.virtual.update(true);
|
5300 |
+
swiper.slideTo(newActiveIndex, 0);
|
5301 |
+
},
|
5302 |
+
removeSlide: function removeSlide(slidesIndexes) {
|
5303 |
+
var swiper = this;
|
5304 |
+
if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;
|
5305 |
+
var activeIndex = swiper.activeIndex;
|
5306 |
+
|
5307 |
+
if (Array.isArray(slidesIndexes)) {
|
5308 |
+
for (var i = slidesIndexes.length - 1; i >= 0; i -= 1) {
|
5309 |
+
swiper.virtual.slides.splice(slidesIndexes[i], 1);
|
5310 |
+
|
5311 |
+
if (swiper.params.virtual.cache) {
|
5312 |
+
delete swiper.virtual.cache[slidesIndexes[i]];
|
5313 |
+
}
|
5314 |
+
|
5315 |
+
if (slidesIndexes[i] < activeIndex) activeIndex -= 1;
|
5316 |
+
activeIndex = Math.max(activeIndex, 0);
|
5317 |
+
}
|
5318 |
+
} else {
|
5319 |
+
swiper.virtual.slides.splice(slidesIndexes, 1);
|
5320 |
+
|
5321 |
+
if (swiper.params.virtual.cache) {
|
5322 |
+
delete swiper.virtual.cache[slidesIndexes];
|
5323 |
+
}
|
5324 |
+
|
5325 |
+
if (slidesIndexes < activeIndex) activeIndex -= 1;
|
5326 |
+
activeIndex = Math.max(activeIndex, 0);
|
5327 |
+
}
|
5328 |
+
|
5329 |
+
swiper.virtual.update(true);
|
5330 |
+
swiper.slideTo(activeIndex, 0);
|
5331 |
+
},
|
5332 |
+
removeAllSlides: function removeAllSlides() {
|
5333 |
+
var swiper = this;
|
5334 |
+
swiper.virtual.slides = [];
|
5335 |
+
|
5336 |
+
if (swiper.params.virtual.cache) {
|
5337 |
+
swiper.virtual.cache = {};
|
5338 |
+
}
|
5339 |
+
|
5340 |
+
swiper.virtual.update(true);
|
5341 |
+
swiper.slideTo(0, 0);
|
5342 |
+
}
|
5343 |
+
};
|
5344 |
+
var Virtual$1 = {
|
5345 |
+
name: 'virtual',
|
5346 |
+
params: {
|
5347 |
+
virtual: {
|
5348 |
+
enabled: false,
|
5349 |
+
slides: [],
|
5350 |
+
cache: true,
|
5351 |
+
renderSlide: null,
|
5352 |
+
renderExternal: null,
|
5353 |
+
renderExternalUpdate: true,
|
5354 |
+
addSlidesBefore: 0,
|
5355 |
+
addSlidesAfter: 0
|
5356 |
+
}
|
5357 |
+
},
|
5358 |
+
create: function create() {
|
5359 |
+
var swiper = this;
|
5360 |
+
bindModuleMethods(swiper, {
|
5361 |
+
virtual: _extends(_extends({}, Virtual), {}, {
|
5362 |
+
slides: swiper.params.virtual.slides,
|
5363 |
+
cache: {}
|
5364 |
+
})
|
5365 |
+
});
|
5366 |
+
},
|
5367 |
+
on: {
|
5368 |
+
beforeInit: function beforeInit(swiper) {
|
5369 |
+
if (!swiper.params.virtual.enabled) return;
|
5370 |
+
swiper.classNames.push(swiper.params.containerModifierClass + "virtual");
|
5371 |
+
var overwriteParams = {
|
5372 |
+
watchSlidesProgress: true
|
5373 |
+
};
|
5374 |
+
extend$1(swiper.params, overwriteParams);
|
5375 |
+
extend$1(swiper.originalParams, overwriteParams);
|
5376 |
+
|
5377 |
+
if (!swiper.params.initialSlide) {
|
5378 |
+
swiper.virtual.update();
|
5379 |
+
}
|
5380 |
+
},
|
5381 |
+
setTranslate: function setTranslate(swiper) {
|
5382 |
+
if (!swiper.params.virtual.enabled) return;
|
5383 |
+
swiper.virtual.update();
|
5384 |
+
}
|
5385 |
+
}
|
5386 |
+
};
|
5387 |
+
|
5388 |
+
var Keyboard = {
|
5389 |
+
handle: function handle(event) {
|
5390 |
+
var swiper = this;
|
5391 |
+
var window = getWindow();
|
5392 |
+
var document = getDocument();
|
5393 |
+
var rtl = swiper.rtlTranslate;
|
5394 |
+
var e = event;
|
5395 |
+
if (e.originalEvent) e = e.originalEvent; // jquery fix
|
5396 |
+
|
5397 |
+
var kc = e.keyCode || e.charCode;
|
5398 |
+
var pageUpDown = swiper.params.keyboard.pageUpDown;
|
5399 |
+
var isPageUp = pageUpDown && kc === 33;
|
5400 |
+
var isPageDown = pageUpDown && kc === 34;
|
5401 |
+
var isArrowLeft = kc === 37;
|
5402 |
+
var isArrowRight = kc === 39;
|
5403 |
+
var isArrowUp = kc === 38;
|
5404 |
+
var isArrowDown = kc === 40; // Directions locks
|
5405 |
+
|
5406 |
+
if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {
|
5407 |
+
return false;
|
5408 |
+
}
|
5409 |
+
|
5410 |
+
if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {
|
5411 |
+
return false;
|
5412 |
+
}
|
5413 |
+
|
5414 |
+
if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
|
5415 |
+
return undefined;
|
5416 |
+
}
|
5417 |
+
|
5418 |
+
if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {
|
5419 |
+
return undefined;
|
5420 |
+
}
|
5421 |
+
|
5422 |
+
if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {
|
5423 |
+
var inView = false; // Check that swiper should be inside of visible area of window
|
5424 |
+
|
5425 |
+
if (swiper.$el.parents("." + swiper.params.slideClass).length > 0 && swiper.$el.parents("." + swiper.params.slideActiveClass).length === 0) {
|
5426 |
+
return undefined;
|
5427 |
+
}
|
5428 |
+
|
5429 |
+
var windowWidth = window.innerWidth;
|
5430 |
+
var windowHeight = window.innerHeight;
|
5431 |
+
var swiperOffset = swiper.$el.offset();
|
5432 |
+
if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;
|
5433 |
+
var swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];
|
5434 |
+
|
5435 |
+
for (var i = 0; i < swiperCoord.length; i += 1) {
|
5436 |
+
var point = swiperCoord[i];
|
5437 |
+
|
5438 |
+
if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {
|
5439 |
+
inView = true;
|
5440 |
+
}
|
5441 |
+
}
|
5442 |
+
|
5443 |
+
if (!inView) return undefined;
|
5444 |
+
}
|
5445 |
+
|
5446 |
+
if (swiper.isHorizontal()) {
|
5447 |
+
if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {
|
5448 |
+
if (e.preventDefault) e.preventDefault();else e.returnValue = false;
|
5449 |
+
}
|
5450 |
+
|
5451 |
+
if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();
|
5452 |
+
if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();
|
5453 |
+
} else {
|
5454 |
+
if (isPageUp || isPageDown || isArrowUp || isArrowDown) {
|
5455 |
+
if (e.preventDefault) e.preventDefault();else e.returnValue = false;
|
5456 |
+
}
|
5457 |
+
|
5458 |
+
if (isPageDown || isArrowDown) swiper.slideNext();
|
5459 |
+
if (isPageUp || isArrowUp) swiper.slidePrev();
|
5460 |
+
}
|
5461 |
+
|
5462 |
+
swiper.emit('keyPress', kc);
|
5463 |
+
return undefined;
|
5464 |
+
},
|
5465 |
+
enable: function enable() {
|
5466 |
+
var swiper = this;
|
5467 |
+
var document = getDocument();
|
5468 |
+
if (swiper.keyboard.enabled) return;
|
5469 |
+
$(document).on('keydown', swiper.keyboard.handle);
|
5470 |
+
swiper.keyboard.enabled = true;
|
5471 |
+
},
|
5472 |
+
disable: function disable() {
|
5473 |
+
var swiper = this;
|
5474 |
+
var document = getDocument();
|
5475 |
+
if (!swiper.keyboard.enabled) return;
|
5476 |
+
$(document).off('keydown', swiper.keyboard.handle);
|
5477 |
+
swiper.keyboard.enabled = false;
|
5478 |
+
}
|
5479 |
+
};
|
5480 |
+
var Keyboard$1 = {
|
5481 |
+
name: 'keyboard',
|
5482 |
+
params: {
|
5483 |
+
keyboard: {
|
5484 |
+
enabled: false,
|
5485 |
+
onlyInViewport: true,
|
5486 |
+
pageUpDown: true
|
5487 |
+
}
|
5488 |
+
},
|
5489 |
+
create: function create() {
|
5490 |
+
var swiper = this;
|
5491 |
+
bindModuleMethods(swiper, {
|
5492 |
+
keyboard: _extends({
|
5493 |
+
enabled: false
|
5494 |
+
}, Keyboard)
|
5495 |
+
});
|
5496 |
+
},
|
5497 |
+
on: {
|
5498 |
+
init: function init(swiper) {
|
5499 |
+
if (swiper.params.keyboard.enabled) {
|
5500 |
+
swiper.keyboard.enable();
|
5501 |
+
}
|
5502 |
+
},
|
5503 |
+
destroy: function destroy(swiper) {
|
5504 |
+
if (swiper.keyboard.enabled) {
|
5505 |
+
swiper.keyboard.disable();
|
5506 |
+
}
|
5507 |
+
}
|
5508 |
+
}
|
5509 |
+
};
|
5510 |
+
|
5511 |
+
function isEventSupported() {
|
5512 |
+
var document = getDocument();
|
5513 |
+
var eventName = 'onwheel';
|
5514 |
+
var isSupported = (eventName in document);
|
5515 |
+
|
5516 |
+
if (!isSupported) {
|
5517 |
+
var element = document.createElement('div');
|
5518 |
+
element.setAttribute(eventName, 'return;');
|
5519 |
+
isSupported = typeof element[eventName] === 'function';
|
5520 |
+
}
|
5521 |
+
|
5522 |
+
if (!isSupported && document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard.
|
5523 |
+
// @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature
|
5524 |
+
document.implementation.hasFeature('', '') !== true) {
|
5525 |
+
// This is the only way to test support for the `wheel` event in IE9+.
|
5526 |
+
isSupported = document.implementation.hasFeature('Events.wheel', '3.0');
|
5527 |
+
}
|
5528 |
+
|
5529 |
+
return isSupported;
|
5530 |
+
}
|
5531 |
+
|
5532 |
+
var Mousewheel = {
|
5533 |
+
lastScrollTime: now(),
|
5534 |
+
lastEventBeforeSnap: undefined,
|
5535 |
+
recentWheelEvents: [],
|
5536 |
+
event: function event() {
|
5537 |
+
var window = getWindow();
|
5538 |
+
if (window.navigator.userAgent.indexOf('firefox') > -1) return 'DOMMouseScroll';
|
5539 |
+
return isEventSupported() ? 'wheel' : 'mousewheel';
|
5540 |
+
},
|
5541 |
+
normalize: function normalize(e) {
|
5542 |
+
// Reasonable defaults
|
5543 |
+
var PIXEL_STEP = 10;
|
5544 |
+
var LINE_HEIGHT = 40;
|
5545 |
+
var PAGE_HEIGHT = 800;
|
5546 |
+
var sX = 0;
|
5547 |
+
var sY = 0; // spinX, spinY
|
5548 |
+
|
5549 |
+
var pX = 0;
|
5550 |
+
var pY = 0; // pixelX, pixelY
|
5551 |
+
// Legacy
|
5552 |
+
|
5553 |
+
if ('detail' in e) {
|
5554 |
+
sY = e.detail;
|
5555 |
+
}
|
5556 |
+
|
5557 |
+
if ('wheelDelta' in e) {
|
5558 |
+
sY = -e.wheelDelta / 120;
|
5559 |
+
}
|
5560 |
+
|
5561 |
+
if ('wheelDeltaY' in e) {
|
5562 |
+
sY = -e.wheelDeltaY / 120;
|
5563 |
+
}
|
5564 |
+
|
5565 |
+
if ('wheelDeltaX' in e) {
|
5566 |
+
sX = -e.wheelDeltaX / 120;
|
5567 |
+
} // side scrolling on FF with DOMMouseScroll
|
5568 |
+
|
5569 |
+
|
5570 |
+
if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {
|
5571 |
+
sX = sY;
|
5572 |
+
sY = 0;
|
5573 |
+
}
|
5574 |
+
|
5575 |
+
pX = sX * PIXEL_STEP;
|
5576 |
+
pY = sY * PIXEL_STEP;
|
5577 |
+
|
5578 |
+
if ('deltaY' in e) {
|
5579 |
+
pY = e.deltaY;
|
5580 |
+
}
|
5581 |
+
|
5582 |
+
if ('deltaX' in e) {
|
5583 |
+
pX = e.deltaX;
|
5584 |
+
}
|
5585 |
+
|
5586 |
+
if (e.shiftKey && !pX) {
|
5587 |
+
// if user scrolls with shift he wants horizontal scroll
|
5588 |
+
pX = pY;
|
5589 |
+
pY = 0;
|
5590 |
+
}
|
5591 |
+
|
5592 |
+
if ((pX || pY) && e.deltaMode) {
|
5593 |
+
if (e.deltaMode === 1) {
|
5594 |
+
// delta in LINE units
|
5595 |
+
pX *= LINE_HEIGHT;
|
5596 |
+
pY *= LINE_HEIGHT;
|
5597 |
+
} else {
|
5598 |
+
// delta in PAGE units
|
5599 |
+
pX *= PAGE_HEIGHT;
|
5600 |
+
pY *= PAGE_HEIGHT;
|
5601 |
+
}
|
5602 |
+
} // Fall-back if spin cannot be determined
|
5603 |
+
|
5604 |
+
|
5605 |
+
if (pX && !sX) {
|
5606 |
+
sX = pX < 1 ? -1 : 1;
|
5607 |
+
}
|
5608 |
+
|
5609 |
+
if (pY && !sY) {
|
5610 |
+
sY = pY < 1 ? -1 : 1;
|
5611 |
+
}
|
5612 |
+
|
5613 |
+
return {
|
5614 |
+
spinX: sX,
|
5615 |
+
spinY: sY,
|
5616 |
+
pixelX: pX,
|
5617 |
+
pixelY: pY
|
5618 |
+
};
|
5619 |
+
},
|
5620 |
+
handleMouseEnter: function handleMouseEnter() {
|
5621 |
+
var swiper = this;
|
5622 |
+
swiper.mouseEntered = true;
|
5623 |
+
},
|
5624 |
+
handleMouseLeave: function handleMouseLeave() {
|
5625 |
+
var swiper = this;
|
5626 |
+
swiper.mouseEntered = false;
|
5627 |
+
},
|
5628 |
+
handle: function handle(event) {
|
5629 |
+
var e = event;
|
5630 |
+
var swiper = this;
|
5631 |
+
var params = swiper.params.mousewheel;
|
5632 |
+
|
5633 |
+
if (swiper.params.cssMode) {
|
5634 |
+
e.preventDefault();
|
5635 |
+
}
|
5636 |
+
|
5637 |
+
var target = swiper.$el;
|
5638 |
+
|
5639 |
+
if (swiper.params.mousewheel.eventsTarget !== 'container') {
|
5640 |
+
target = $(swiper.params.mousewheel.eventsTarget);
|
5641 |
+
}
|
5642 |
+
|
5643 |
+
if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;
|
5644 |
+
if (e.originalEvent) e = e.originalEvent; // jquery fix
|
5645 |
+
|
5646 |
+
var delta = 0;
|
5647 |
+
var rtlFactor = swiper.rtlTranslate ? -1 : 1;
|
5648 |
+
var data = Mousewheel.normalize(e);
|
5649 |
+
|
5650 |
+
if (params.forceToAxis) {
|
5651 |
+
if (swiper.isHorizontal()) {
|
5652 |
+
if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;
|
5653 |
+
} else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;
|
5654 |
+
} else {
|
5655 |
+
delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;
|
5656 |
+
}
|
5657 |
+
|
5658 |
+
if (delta === 0) return true;
|
5659 |
+
if (params.invert) delta = -delta;
|
5660 |
+
|
5661 |
+
if (!swiper.params.freeMode) {
|
5662 |
+
// Register the new event in a variable which stores the relevant data
|
5663 |
+
var newEvent = {
|
5664 |
+
time: now(),
|
5665 |
+
delta: Math.abs(delta),
|
5666 |
+
direction: Math.sign(delta),
|
5667 |
+
raw: event
|
5668 |
+
}; // Keep the most recent events
|
5669 |
+
|
5670 |
+
var recentWheelEvents = swiper.mousewheel.recentWheelEvents;
|
5671 |
+
|
5672 |
+
if (recentWheelEvents.length >= 2) {
|
5673 |
+
recentWheelEvents.shift(); // only store the last N events
|
5674 |
+
}
|
5675 |
+
|
5676 |
+
var prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
|
5677 |
+
recentWheelEvents.push(newEvent); // If there is at least one previous recorded event:
|
5678 |
+
// If direction has changed or
|
5679 |
+
// if the scroll is quicker than the previous one:
|
5680 |
+
// Animate the slider.
|
5681 |
+
// Else (this is the first time the wheel is moved):
|
5682 |
+
// Animate the slider.
|
5683 |
+
|
5684 |
+
if (prevEvent) {
|
5685 |
+
if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {
|
5686 |
+
swiper.mousewheel.animateSlider(newEvent);
|
5687 |
+
}
|
5688 |
+
} else {
|
5689 |
+
swiper.mousewheel.animateSlider(newEvent);
|
5690 |
+
} // If it's time to release the scroll:
|
5691 |
+
// Return now so you don't hit the preventDefault.
|
5692 |
+
|
5693 |
+
|
5694 |
+
if (swiper.mousewheel.releaseScroll(newEvent)) {
|
5695 |
+
return true;
|
5696 |
+
}
|
5697 |
+
} else {
|
5698 |
+
// Freemode or scrollContainer:
|
5699 |
+
// If we recently snapped after a momentum scroll, then ignore wheel events
|
5700 |
+
// to give time for the deceleration to finish. Stop ignoring after 500 msecs
|
5701 |
+
// or if it's a new scroll (larger delta or inverse sign as last event before
|
5702 |
+
// an end-of-momentum snap).
|
5703 |
+
var _newEvent = {
|
5704 |
+
time: now(),
|
5705 |
+
delta: Math.abs(delta),
|
5706 |
+
direction: Math.sign(delta)
|
5707 |
+
};
|
5708 |
+
var lastEventBeforeSnap = swiper.mousewheel.lastEventBeforeSnap;
|
5709 |
+
var ignoreWheelEvents = lastEventBeforeSnap && _newEvent.time < lastEventBeforeSnap.time + 500 && _newEvent.delta <= lastEventBeforeSnap.delta && _newEvent.direction === lastEventBeforeSnap.direction;
|
5710 |
+
|
5711 |
+
if (!ignoreWheelEvents) {
|
5712 |
+
swiper.mousewheel.lastEventBeforeSnap = undefined;
|
5713 |
+
|
5714 |
+
if (swiper.params.loop) {
|
5715 |
+
swiper.loopFix();
|
5716 |
+
}
|
5717 |
+
|
5718 |
+
var position = swiper.getTranslate() + delta * params.sensitivity;
|
5719 |
+
var wasBeginning = swiper.isBeginning;
|
5720 |
+
var wasEnd = swiper.isEnd;
|
5721 |
+
if (position >= swiper.minTranslate()) position = swiper.minTranslate();
|
5722 |
+
if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();
|
5723 |
+
swiper.setTransition(0);
|
5724 |
+
swiper.setTranslate(position);
|
5725 |
+
swiper.updateProgress();
|
5726 |
+
swiper.updateActiveIndex();
|
5727 |
+
swiper.updateSlidesClasses();
|
5728 |
+
|
5729 |
+
if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {
|
5730 |
+
swiper.updateSlidesClasses();
|
5731 |
+
}
|
5732 |
+
|
5733 |
+
if (swiper.params.freeModeSticky) {
|
5734 |
+
// When wheel scrolling starts with sticky (aka snap) enabled, then detect
|
5735 |
+
// the end of a momentum scroll by storing recent (N=15?) wheel events.
|
5736 |
+
// 1. do all N events have decreasing or same (absolute value) delta?
|
5737 |
+
// 2. did all N events arrive in the last M (M=500?) msecs?
|
5738 |
+
// 3. does the earliest event have an (absolute value) delta that's
|
5739 |
+
// at least P (P=1?) larger than the most recent event's delta?
|
5740 |
+
// 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?
|
5741 |
+
// If 1-4 are "yes" then we're near the end of a momentum scroll deceleration.
|
5742 |
+
// Snap immediately and ignore remaining wheel events in this scroll.
|
5743 |
+
// See comment above for "remaining wheel events in this scroll" determination.
|
5744 |
+
// If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.
|
5745 |
+
clearTimeout(swiper.mousewheel.timeout);
|
5746 |
+
swiper.mousewheel.timeout = undefined;
|
5747 |
+
var _recentWheelEvents = swiper.mousewheel.recentWheelEvents;
|
5748 |
+
|
5749 |
+
if (_recentWheelEvents.length >= 15) {
|
5750 |
+
_recentWheelEvents.shift(); // only store the last N events
|
5751 |
+
|
5752 |
+
}
|
5753 |
+
|
5754 |
+
var _prevEvent = _recentWheelEvents.length ? _recentWheelEvents[_recentWheelEvents.length - 1] : undefined;
|
5755 |
+
|
5756 |
+
var firstEvent = _recentWheelEvents[0];
|
5757 |
+
|
5758 |
+
_recentWheelEvents.push(_newEvent);
|
5759 |
+
|
5760 |
+
if (_prevEvent && (_newEvent.delta > _prevEvent.delta || _newEvent.direction !== _prevEvent.direction)) {
|
5761 |
+
// Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.
|
5762 |
+
_recentWheelEvents.splice(0);
|
5763 |
+
} else if (_recentWheelEvents.length >= 15 && _newEvent.time - firstEvent.time < 500 && firstEvent.delta - _newEvent.delta >= 1 && _newEvent.delta <= 6) {
|
5764 |
+
// We're at the end of the deceleration of a momentum scroll, so there's no need
|
5765 |
+
// to wait for more events. Snap ASAP on the next tick.
|
5766 |
+
// Also, because there's some remaining momentum we'll bias the snap in the
|
5767 |
+
// direction of the ongoing scroll because it's better UX for the scroll to snap
|
5768 |
+
// in the same direction as the scroll instead of reversing to snap. Therefore,
|
5769 |
+
// if it's already scrolled more than 20% in the current direction, keep going.
|
5770 |
+
var snapToThreshold = delta > 0 ? 0.8 : 0.2;
|
5771 |
+
swiper.mousewheel.lastEventBeforeSnap = _newEvent;
|
5772 |
+
|
5773 |
+
_recentWheelEvents.splice(0);
|
5774 |
+
|
5775 |
+
swiper.mousewheel.timeout = nextTick(function () {
|
5776 |
+
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
|
5777 |
+
}, 0); // no delay; move on next tick
|
5778 |
+
}
|
5779 |
+
|
5780 |
+
if (!swiper.mousewheel.timeout) {
|
5781 |
+
// if we get here, then we haven't detected the end of a momentum scroll, so
|
5782 |
+
// we'll consider a scroll "complete" when there haven't been any wheel events
|
5783 |
+
// for 500ms.
|
5784 |
+
swiper.mousewheel.timeout = nextTick(function () {
|
5785 |
+
var snapToThreshold = 0.5;
|
5786 |
+
swiper.mousewheel.lastEventBeforeSnap = _newEvent;
|
5787 |
+
|
5788 |
+
_recentWheelEvents.splice(0);
|
5789 |
+
|
5790 |
+
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
|
5791 |
+
}, 500);
|
5792 |
+
}
|
5793 |
+
} // Emit event
|
5794 |
+
|
5795 |
+
|
5796 |
+
if (!ignoreWheelEvents) swiper.emit('scroll', e); // Stop autoplay
|
5797 |
+
|
5798 |
+
if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions
|
5799 |
+
|
5800 |
+
if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;
|
5801 |
+
}
|
5802 |
+
}
|
5803 |
+
|
5804 |
+
if (e.preventDefault) e.preventDefault();else e.returnValue = false;
|
5805 |
+
return false;
|
5806 |
+
},
|
5807 |
+
animateSlider: function animateSlider(newEvent) {
|
5808 |
+
var swiper = this;
|
5809 |
+
var window = getWindow();
|
5810 |
+
|
5811 |
+
if (this.params.mousewheel.thresholdDelta && newEvent.delta < this.params.mousewheel.thresholdDelta) {
|
5812 |
+
// Prevent if delta of wheel scroll delta is below configured threshold
|
5813 |
+
return false;
|
5814 |
+
}
|
5815 |
+
|
5816 |
+
if (this.params.mousewheel.thresholdTime && now() - swiper.mousewheel.lastScrollTime < this.params.mousewheel.thresholdTime) {
|
5817 |
+
// Prevent if time between scrolls is below configured threshold
|
5818 |
+
return false;
|
5819 |
+
} // If the movement is NOT big enough and
|
5820 |
+
// if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):
|
5821 |
+
// Don't go any further (avoid insignificant scroll movement).
|
5822 |
+
|
5823 |
+
|
5824 |
+
if (newEvent.delta >= 6 && now() - swiper.mousewheel.lastScrollTime < 60) {
|
5825 |
+
// Return false as a default
|
5826 |
+
return true;
|
5827 |
+
} // If user is scrolling towards the end:
|
5828 |
+
// If the slider hasn't hit the latest slide or
|
5829 |
+
// if the slider is a loop and
|
5830 |
+
// if the slider isn't moving right now:
|
5831 |
+
// Go to next slide and
|
5832 |
+
// emit a scroll event.
|
5833 |
+
// Else (the user is scrolling towards the beginning) and
|
5834 |
+
// if the slider hasn't hit the first slide or
|
5835 |
+
// if the slider is a loop and
|
5836 |
+
// if the slider isn't moving right now:
|
5837 |
+
// Go to prev slide and
|
5838 |
+
// emit a scroll event.
|
5839 |
+
|
5840 |
+
|
5841 |
+
if (newEvent.direction < 0) {
|
5842 |
+
if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
|
5843 |
+
swiper.slideNext();
|
5844 |
+
swiper.emit('scroll', newEvent.raw);
|
5845 |
+
}
|
5846 |
+
} else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {
|
5847 |
+
swiper.slidePrev();
|
5848 |
+
swiper.emit('scroll', newEvent.raw);
|
5849 |
+
} // If you got here is because an animation has been triggered so store the current time
|
5850 |
+
|
5851 |
+
|
5852 |
+
swiper.mousewheel.lastScrollTime = new window.Date().getTime(); // Return false as a default
|
5853 |
+
|
5854 |
+
return false;
|
5855 |
+
},
|
5856 |
+
releaseScroll: function releaseScroll(newEvent) {
|
5857 |
+
var swiper = this;
|
5858 |
+
var params = swiper.params.mousewheel;
|
5859 |
+
|
5860 |
+
if (newEvent.direction < 0) {
|
5861 |
+
if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {
|
5862 |
+
// Return true to animate scroll on edges
|
5863 |
+
return true;
|
5864 |
+
}
|
5865 |
+
} else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {
|
5866 |
+
// Return true to animate scroll on edges
|
5867 |
+
return true;
|
5868 |
+
}
|
5869 |
+
|
5870 |
+
return false;
|
5871 |
+
},
|
5872 |
+
enable: function enable() {
|
5873 |
+
var swiper = this;
|
5874 |
+
var event = Mousewheel.event();
|
5875 |
+
|
5876 |
+
if (swiper.params.cssMode) {
|
5877 |
+
swiper.wrapperEl.removeEventListener(event, swiper.mousewheel.handle);
|
5878 |
+
return true;
|
5879 |
+
}
|
5880 |
+
|
5881 |
+
if (!event) return false;
|
5882 |
+
if (swiper.mousewheel.enabled) return false;
|
5883 |
+
var target = swiper.$el;
|
5884 |
+
|
5885 |
+
if (swiper.params.mousewheel.eventsTarget !== 'container') {
|
5886 |
+
target = $(swiper.params.mousewheel.eventsTarget);
|
5887 |
+
}
|
5888 |
+
|
5889 |
+
target.on('mouseenter', swiper.mousewheel.handleMouseEnter);
|
5890 |
+
target.on('mouseleave', swiper.mousewheel.handleMouseLeave);
|
5891 |
+
target.on(event, swiper.mousewheel.handle);
|
5892 |
+
swiper.mousewheel.enabled = true;
|
5893 |
+
return true;
|
5894 |
+
},
|
5895 |
+
disable: function disable() {
|
5896 |
+
var swiper = this;
|
5897 |
+
var event = Mousewheel.event();
|
5898 |
+
|
5899 |
+
if (swiper.params.cssMode) {
|
5900 |
+
swiper.wrapperEl.addEventListener(event, swiper.mousewheel.handle);
|
5901 |
+
return true;
|
5902 |
+
}
|
5903 |
+
|
5904 |
+
if (!event) return false;
|
5905 |
+
if (!swiper.mousewheel.enabled) return false;
|
5906 |
+
var target = swiper.$el;
|
5907 |
+
|
5908 |
+
if (swiper.params.mousewheel.eventsTarget !== 'container') {
|
5909 |
+
target = $(swiper.params.mousewheel.eventsTarget);
|
5910 |
+
}
|
5911 |
+
|
5912 |
+
target.off(event, swiper.mousewheel.handle);
|
5913 |
+
swiper.mousewheel.enabled = false;
|
5914 |
+
return true;
|
5915 |
+
}
|
5916 |
+
};
|
5917 |
+
var Mousewheel$1 = {
|
5918 |
+
name: 'mousewheel',
|
5919 |
+
params: {
|
5920 |
+
mousewheel: {
|
5921 |
+
enabled: false,
|
5922 |
+
releaseOnEdges: false,
|
5923 |
+
invert: false,
|
5924 |
+
forceToAxis: false,
|
5925 |
+
sensitivity: 1,
|
5926 |
+
eventsTarget: 'container',
|
5927 |
+
thresholdDelta: null,
|
5928 |
+
thresholdTime: null
|
5929 |
+
}
|
5930 |
+
},
|
5931 |
+
create: function create() {
|
5932 |
+
var swiper = this;
|
5933 |
+
bindModuleMethods(swiper, {
|
5934 |
+
mousewheel: {
|
5935 |
+
enabled: false,
|
5936 |
+
lastScrollTime: now(),
|
5937 |
+
lastEventBeforeSnap: undefined,
|
5938 |
+
recentWheelEvents: [],
|
5939 |
+
enable: Mousewheel.enable,
|
5940 |
+
disable: Mousewheel.disable,
|
5941 |
+
handle: Mousewheel.handle,
|
5942 |
+
handleMouseEnter: Mousewheel.handleMouseEnter,
|
5943 |
+
handleMouseLeave: Mousewheel.handleMouseLeave,
|
5944 |
+
animateSlider: Mousewheel.animateSlider,
|
5945 |
+
releaseScroll: Mousewheel.releaseScroll
|
5946 |
+
}
|
5947 |
+
});
|
5948 |
+
},
|
5949 |
+
on: {
|
5950 |
+
init: function init(swiper) {
|
5951 |
+
if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {
|
5952 |
+
swiper.mousewheel.disable();
|
5953 |
+
}
|
5954 |
+
|
5955 |
+
if (swiper.params.mousewheel.enabled) swiper.mousewheel.enable();
|
5956 |
+
},
|
5957 |
+
destroy: function destroy(swiper) {
|
5958 |
+
if (swiper.params.cssMode) {
|
5959 |
+
swiper.mousewheel.enable();
|
5960 |
+
}
|
5961 |
+
|
5962 |
+
if (swiper.mousewheel.enabled) swiper.mousewheel.disable();
|
5963 |
+
}
|
5964 |
+
}
|
5965 |
+
};
|
5966 |
+
|
5967 |
+
var Navigation = {
|
5968 |
+
update: function update() {
|
5969 |
+
// Update Navigation Buttons
|
5970 |
+
var swiper = this;
|
5971 |
+
var params = swiper.params.navigation;
|
5972 |
+
if (swiper.params.loop) return;
|
5973 |
+
var _swiper$navigation = swiper.navigation,
|
5974 |
+
$nextEl = _swiper$navigation.$nextEl,
|
5975 |
+
$prevEl = _swiper$navigation.$prevEl;
|
5976 |
+
|
5977 |
+
if ($prevEl && $prevEl.length > 0) {
|
5978 |
+
if (swiper.isBeginning) {
|
5979 |
+
$prevEl.addClass(params.disabledClass);
|
5980 |
+
} else {
|
5981 |
+
$prevEl.removeClass(params.disabledClass);
|
5982 |
+
}
|
5983 |
+
|
5984 |
+
$prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
|
5985 |
+
}
|
5986 |
+
|
5987 |
+
if ($nextEl && $nextEl.length > 0) {
|
5988 |
+
if (swiper.isEnd) {
|
5989 |
+
$nextEl.addClass(params.disabledClass);
|
5990 |
+
} else {
|
5991 |
+
$nextEl.removeClass(params.disabledClass);
|
5992 |
+
}
|
5993 |
+
|
5994 |
+
$nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
|
5995 |
+
}
|
5996 |
+
},
|
5997 |
+
onPrevClick: function onPrevClick(e) {
|
5998 |
+
var swiper = this;
|
5999 |
+
e.preventDefault();
|
6000 |
+
if (swiper.isBeginning && !swiper.params.loop) return;
|
6001 |
+
swiper.slidePrev();
|
6002 |
+
},
|
6003 |
+
onNextClick: function onNextClick(e) {
|
6004 |
+
var swiper = this;
|
6005 |
+
e.preventDefault();
|
6006 |
+
if (swiper.isEnd && !swiper.params.loop) return;
|
6007 |
+
swiper.slideNext();
|
6008 |
+
},
|
6009 |
+
init: function init() {
|
6010 |
+
var swiper = this;
|
6011 |
+
var params = swiper.params.navigation;
|
6012 |
+
if (!(params.nextEl || params.prevEl)) return;
|
6013 |
+
var $nextEl;
|
6014 |
+
var $prevEl;
|
6015 |
+
|
6016 |
+
if (params.nextEl) {
|
6017 |
+
$nextEl = $(params.nextEl);
|
6018 |
+
|
6019 |
+
if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {
|
6020 |
+
$nextEl = swiper.$el.find(params.nextEl);
|
6021 |
+
}
|
6022 |
+
}
|
6023 |
+
|
6024 |
+
if (params.prevEl) {
|
6025 |
+
$prevEl = $(params.prevEl);
|
6026 |
+
|
6027 |
+
if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {
|
6028 |
+
$prevEl = swiper.$el.find(params.prevEl);
|
6029 |
+
}
|
6030 |
+
}
|
6031 |
+
|
6032 |
+
if ($nextEl && $nextEl.length > 0) {
|
6033 |
+
$nextEl.on('click', swiper.navigation.onNextClick);
|
6034 |
+
}
|
6035 |
+
|
6036 |
+
if ($prevEl && $prevEl.length > 0) {
|
6037 |
+
$prevEl.on('click', swiper.navigation.onPrevClick);
|
6038 |
+
}
|
6039 |
+
|
6040 |
+
extend$1(swiper.navigation, {
|
6041 |
+
$nextEl: $nextEl,
|
6042 |
+
nextEl: $nextEl && $nextEl[0],
|
6043 |
+
$prevEl: $prevEl,
|
6044 |
+
prevEl: $prevEl && $prevEl[0]
|
6045 |
+
});
|
6046 |
+
},
|
6047 |
+
destroy: function destroy() {
|
6048 |
+
var swiper = this;
|
6049 |
+
var _swiper$navigation2 = swiper.navigation,
|
6050 |
+
$nextEl = _swiper$navigation2.$nextEl,
|
6051 |
+
$prevEl = _swiper$navigation2.$prevEl;
|
6052 |
+
|
6053 |
+
if ($nextEl && $nextEl.length) {
|
6054 |
+
$nextEl.off('click', swiper.navigation.onNextClick);
|
6055 |
+
$nextEl.removeClass(swiper.params.navigation.disabledClass);
|
6056 |
+
}
|
6057 |
+
|
6058 |
+
if ($prevEl && $prevEl.length) {
|
6059 |
+
$prevEl.off('click', swiper.navigation.onPrevClick);
|
6060 |
+
$prevEl.removeClass(swiper.params.navigation.disabledClass);
|
6061 |
+
}
|
6062 |
+
}
|
6063 |
+
};
|
6064 |
+
var Navigation$1 = {
|
6065 |
+
name: 'navigation',
|
6066 |
+
params: {
|
6067 |
+
navigation: {
|
6068 |
+
nextEl: null,
|
6069 |
+
prevEl: null,
|
6070 |
+
hideOnClick: false,
|
6071 |
+
disabledClass: 'swiper-button-disabled',
|
6072 |
+
hiddenClass: 'swiper-button-hidden',
|
6073 |
+
lockClass: 'swiper-button-lock'
|
6074 |
+
}
|
6075 |
+
},
|
6076 |
+
create: function create() {
|
6077 |
+
var swiper = this;
|
6078 |
+
bindModuleMethods(swiper, {
|
6079 |
+
navigation: _extends({}, Navigation)
|
6080 |
+
});
|
6081 |
+
},
|
6082 |
+
on: {
|
6083 |
+
init: function init(swiper) {
|
6084 |
+
swiper.navigation.init();
|
6085 |
+
swiper.navigation.update();
|
6086 |
+
},
|
6087 |
+
toEdge: function toEdge(swiper) {
|
6088 |
+
swiper.navigation.update();
|
6089 |
+
},
|
6090 |
+
fromEdge: function fromEdge(swiper) {
|
6091 |
+
swiper.navigation.update();
|
6092 |
+
},
|
6093 |
+
destroy: function destroy(swiper) {
|
6094 |
+
swiper.navigation.destroy();
|
6095 |
+
},
|
6096 |
+
click: function click(swiper, e) {
|
6097 |
+
var _swiper$navigation3 = swiper.navigation,
|
6098 |
+
$nextEl = _swiper$navigation3.$nextEl,
|
6099 |
+
$prevEl = _swiper$navigation3.$prevEl;
|
6100 |
+
|
6101 |
+
if (swiper.params.navigation.hideOnClick && !$(e.target).is($prevEl) && !$(e.target).is($nextEl)) {
|
6102 |
+
var isHidden;
|
6103 |
+
|
6104 |
+
if ($nextEl) {
|
6105 |
+
isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);
|
6106 |
+
} else if ($prevEl) {
|
6107 |
+
isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);
|
6108 |
+
}
|
6109 |
+
|
6110 |
+
if (isHidden === true) {
|
6111 |
+
swiper.emit('navigationShow');
|
6112 |
+
} else {
|
6113 |
+
swiper.emit('navigationHide');
|
6114 |
+
}
|
6115 |
+
|
6116 |
+
if ($nextEl) {
|
6117 |
+
$nextEl.toggleClass(swiper.params.navigation.hiddenClass);
|
6118 |
+
}
|
6119 |
+
|
6120 |
+
if ($prevEl) {
|
6121 |
+
$prevEl.toggleClass(swiper.params.navigation.hiddenClass);
|
6122 |
+
}
|
6123 |
+
}
|
6124 |
+
}
|
6125 |
+
}
|
6126 |
+
};
|
6127 |
+
|
6128 |
+
var Pagination = {
|
6129 |
+
update: function update() {
|
6130 |
+
// Render || Update Pagination bullets/items
|
6131 |
+
var swiper = this;
|
6132 |
+
var rtl = swiper.rtl;
|
6133 |
+
var params = swiper.params.pagination;
|
6134 |
+
if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;
|
6135 |
+
var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
|
6136 |
+
var $el = swiper.pagination.$el; // Current/Total
|
6137 |
+
|
6138 |
+
var current;
|
6139 |
+
var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
|
6140 |
+
|
6141 |
+
if (swiper.params.loop) {
|
6142 |
+
current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);
|
6143 |
+
|
6144 |
+
if (current > slidesLength - 1 - swiper.loopedSlides * 2) {
|
6145 |
+
current -= slidesLength - swiper.loopedSlides * 2;
|
6146 |
+
}
|
6147 |
+
|
6148 |
+
if (current > total - 1) current -= total;
|
6149 |
+
if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;
|
6150 |
+
} else if (typeof swiper.snapIndex !== 'undefined') {
|
6151 |
+
current = swiper.snapIndex;
|
6152 |
+
} else {
|
6153 |
+
current = swiper.activeIndex || 0;
|
6154 |
+
} // Types
|
6155 |
+
|
6156 |
+
|
6157 |
+
if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {
|
6158 |
+
var bullets = swiper.pagination.bullets;
|
6159 |
+
var firstIndex;
|
6160 |
+
var lastIndex;
|
6161 |
+
var midIndex;
|
6162 |
+
|
6163 |
+
if (params.dynamicBullets) {
|
6164 |
+
swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);
|
6165 |
+
$el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + "px");
|
6166 |
+
|
6167 |
+
if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {
|
6168 |
+
swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;
|
6169 |
+
|
6170 |
+
if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {
|
6171 |
+
swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;
|
6172 |
+
} else if (swiper.pagination.dynamicBulletIndex < 0) {
|
6173 |
+
swiper.pagination.dynamicBulletIndex = 0;
|
6174 |
+
}
|
6175 |
+
}
|
6176 |
+
|
6177 |
+
firstIndex = current - swiper.pagination.dynamicBulletIndex;
|
6178 |
+
lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
|
6179 |
+
midIndex = (lastIndex + firstIndex) / 2;
|
6180 |
+
}
|
6181 |
+
|
6182 |
+
bullets.removeClass(params.bulletActiveClass + " " + params.bulletActiveClass + "-next " + params.bulletActiveClass + "-next-next " + params.bulletActiveClass + "-prev " + params.bulletActiveClass + "-prev-prev " + params.bulletActiveClass + "-main");
|
6183 |
+
|
6184 |
+
if ($el.length > 1) {
|
6185 |
+
bullets.each(function (bullet) {
|
6186 |
+
var $bullet = $(bullet);
|
6187 |
+
var bulletIndex = $bullet.index();
|
6188 |
+
|
6189 |
+
if (bulletIndex === current) {
|
6190 |
+
$bullet.addClass(params.bulletActiveClass);
|
6191 |
+
}
|
6192 |
+
|
6193 |
+
if (params.dynamicBullets) {
|
6194 |
+
if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
|
6195 |
+
$bullet.addClass(params.bulletActiveClass + "-main");
|
6196 |
+
}
|
6197 |
+
|
6198 |
+
if (bulletIndex === firstIndex) {
|
6199 |
+
$bullet.prev().addClass(params.bulletActiveClass + "-prev").prev().addClass(params.bulletActiveClass + "-prev-prev");
|
6200 |
+
}
|
6201 |
+
|
6202 |
+
if (bulletIndex === lastIndex) {
|
6203 |
+
$bullet.next().addClass(params.bulletActiveClass + "-next").next().addClass(params.bulletActiveClass + "-next-next");
|
6204 |
+
}
|
6205 |
+
}
|
6206 |
+
});
|
6207 |
+
} else {
|
6208 |
+
var $bullet = bullets.eq(current);
|
6209 |
+
var bulletIndex = $bullet.index();
|
6210 |
+
$bullet.addClass(params.bulletActiveClass);
|
6211 |
+
|
6212 |
+
if (params.dynamicBullets) {
|
6213 |
+
var $firstDisplayedBullet = bullets.eq(firstIndex);
|
6214 |
+
var $lastDisplayedBullet = bullets.eq(lastIndex);
|
6215 |
+
|
6216 |
+
for (var i = firstIndex; i <= lastIndex; i += 1) {
|
6217 |
+
bullets.eq(i).addClass(params.bulletActiveClass + "-main");
|
6218 |
+
}
|
6219 |
+
|
6220 |
+
if (swiper.params.loop) {
|
6221 |
+
if (bulletIndex >= bullets.length - params.dynamicMainBullets) {
|
6222 |
+
for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {
|
6223 |
+
bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + "-main");
|
6224 |
+
}
|
6225 |
+
|
6226 |
+
bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + "-prev");
|
6227 |
+
} else {
|
6228 |
+
$firstDisplayedBullet.prev().addClass(params.bulletActiveClass + "-prev").prev().addClass(params.bulletActiveClass + "-prev-prev");
|
6229 |
+
$lastDisplayedBullet.next().addClass(params.bulletActiveClass + "-next").next().addClass(params.bulletActiveClass + "-next-next");
|
6230 |
+
}
|
6231 |
+
} else {
|
6232 |
+
$firstDisplayedBullet.prev().addClass(params.bulletActiveClass + "-prev").prev().addClass(params.bulletActiveClass + "-prev-prev");
|
6233 |
+
$lastDisplayedBullet.next().addClass(params.bulletActiveClass + "-next").next().addClass(params.bulletActiveClass + "-next-next");
|
6234 |
+
}
|
6235 |
+
}
|
6236 |
+
}
|
6237 |
+
|
6238 |
+
if (params.dynamicBullets) {
|
6239 |
+
var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);
|
6240 |
+
var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;
|
6241 |
+
var offsetProp = rtl ? 'right' : 'left';
|
6242 |
+
bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + "px");
|
6243 |
+
}
|
6244 |
+
}
|
6245 |
+
|
6246 |
+
if (params.type === 'fraction') {
|
6247 |
+
$el.find("." + params.currentClass).text(params.formatFractionCurrent(current + 1));
|
6248 |
+
$el.find("." + params.totalClass).text(params.formatFractionTotal(total));
|
6249 |
+
}
|
6250 |
+
|
6251 |
+
if (params.type === 'progressbar') {
|
6252 |
+
var progressbarDirection;
|
6253 |
+
|
6254 |
+
if (params.progressbarOpposite) {
|
6255 |
+
progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';
|
6256 |
+
} else {
|
6257 |
+
progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';
|
6258 |
+
}
|
6259 |
+
|
6260 |
+
var scale = (current + 1) / total;
|
6261 |
+
var scaleX = 1;
|
6262 |
+
var scaleY = 1;
|
6263 |
+
|
6264 |
+
if (progressbarDirection === 'horizontal') {
|
6265 |
+
scaleX = scale;
|
6266 |
+
} else {
|
6267 |
+
scaleY = scale;
|
6268 |
+
}
|
6269 |
+
|
6270 |
+
$el.find("." + params.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + scaleX + ") scaleY(" + scaleY + ")").transition(swiper.params.speed);
|
6271 |
+
}
|
6272 |
+
|
6273 |
+
if (params.type === 'custom' && params.renderCustom) {
|
6274 |
+
$el.html(params.renderCustom(swiper, current + 1, total));
|
6275 |
+
swiper.emit('paginationRender', $el[0]);
|
6276 |
+
} else {
|
6277 |
+
swiper.emit('paginationUpdate', $el[0]);
|
6278 |
+
}
|
6279 |
+
|
6280 |
+
$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
|
6281 |
+
},
|
6282 |
+
render: function render() {
|
6283 |
+
// Render Container
|
6284 |
+
var swiper = this;
|
6285 |
+
var params = swiper.params.pagination;
|
6286 |
+
if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;
|
6287 |
+
var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
|
6288 |
+
var $el = swiper.pagination.$el;
|
6289 |
+
var paginationHTML = '';
|
6290 |
+
|
6291 |
+
if (params.type === 'bullets') {
|
6292 |
+
var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
|
6293 |
+
|
6294 |
+
for (var i = 0; i < numberOfBullets; i += 1) {
|
6295 |
+
if (params.renderBullet) {
|
6296 |
+
paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);
|
6297 |
+
} else {
|
6298 |
+
paginationHTML += "<" + params.bulletElement + " class=\"" + params.bulletClass + "\"></" + params.bulletElement + ">";
|
6299 |
+
}
|
6300 |
+
}
|
6301 |
+
|
6302 |
+
$el.html(paginationHTML);
|
6303 |
+
swiper.pagination.bullets = $el.find("." + params.bulletClass);
|
6304 |
+
}
|
6305 |
+
|
6306 |
+
if (params.type === 'fraction') {
|
6307 |
+
if (params.renderFraction) {
|
6308 |
+
paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);
|
6309 |
+
} else {
|
6310 |
+
paginationHTML = "<span class=\"" + params.currentClass + "\"></span>" + ' / ' + ("<span class=\"" + params.totalClass + "\"></span>");
|
6311 |
+
}
|
6312 |
+
|
6313 |
+
$el.html(paginationHTML);
|
6314 |
+
}
|
6315 |
+
|
6316 |
+
if (params.type === 'progressbar') {
|
6317 |
+
if (params.renderProgressbar) {
|
6318 |
+
paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);
|
6319 |
+
} else {
|
6320 |
+
paginationHTML = "<span class=\"" + params.progressbarFillClass + "\"></span>";
|
6321 |
+
}
|
6322 |
+
|
6323 |
+
$el.html(paginationHTML);
|
6324 |
+
}
|
6325 |
+
|
6326 |
+
if (params.type !== 'custom') {
|
6327 |
+
swiper.emit('paginationRender', swiper.pagination.$el[0]);
|
6328 |
+
}
|
6329 |
+
},
|
6330 |
+
init: function init() {
|
6331 |
+
var swiper = this;
|
6332 |
+
var params = swiper.params.pagination;
|
6333 |
+
if (!params.el) return;
|
6334 |
+
var $el = $(params.el);
|
6335 |
+
if ($el.length === 0) return;
|
6336 |
+
|
6337 |
+
if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {
|
6338 |
+
$el = swiper.$el.find(params.el);
|
6339 |
+
}
|
6340 |
+
|
6341 |
+
if (params.type === 'bullets' && params.clickable) {
|
6342 |
+
$el.addClass(params.clickableClass);
|
6343 |
+
}
|
6344 |
+
|
6345 |
+
$el.addClass(params.modifierClass + params.type);
|
6346 |
+
|
6347 |
+
if (params.type === 'bullets' && params.dynamicBullets) {
|
6348 |
+
$el.addClass("" + params.modifierClass + params.type + "-dynamic");
|
6349 |
+
swiper.pagination.dynamicBulletIndex = 0;
|
6350 |
+
|
6351 |
+
if (params.dynamicMainBullets < 1) {
|
6352 |
+
params.dynamicMainBullets = 1;
|
6353 |
+
}
|
6354 |
+
}
|
6355 |
+
|
6356 |
+
if (params.type === 'progressbar' && params.progressbarOpposite) {
|
6357 |
+
$el.addClass(params.progressbarOppositeClass);
|
6358 |
+
}
|
6359 |
+
|
6360 |
+
if (params.clickable) {
|
6361 |
+
$el.on('click', "." + params.bulletClass, function onClick(e) {
|
6362 |
+
e.preventDefault();
|
6363 |
+
var index = $(this).index() * swiper.params.slidesPerGroup;
|
6364 |
+
if (swiper.params.loop) index += swiper.loopedSlides;
|
6365 |
+
swiper.slideTo(index);
|
6366 |
+
});
|
6367 |
+
}
|
6368 |
+
|
6369 |
+
extend$1(swiper.pagination, {
|
6370 |
+
$el: $el,
|
6371 |
+
el: $el[0]
|
6372 |
+
});
|
6373 |
+
},
|
6374 |
+
destroy: function destroy() {
|
6375 |
+
var swiper = this;
|
6376 |
+
var params = swiper.params.pagination;
|
6377 |
+
if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;
|
6378 |
+
var $el = swiper.pagination.$el;
|
6379 |
+
$el.removeClass(params.hiddenClass);
|
6380 |
+
$el.removeClass(params.modifierClass + params.type);
|
6381 |
+
if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);
|
6382 |
+
|
6383 |
+
if (params.clickable) {
|
6384 |
+
$el.off('click', "." + params.bulletClass);
|
6385 |
+
}
|
6386 |
+
}
|
6387 |
+
};
|
6388 |
+
var Pagination$1 = {
|
6389 |
+
name: 'pagination',
|
6390 |
+
params: {
|
6391 |
+
pagination: {
|
6392 |
+
el: null,
|
6393 |
+
bulletElement: 'span',
|
6394 |
+
clickable: false,
|
6395 |
+
hideOnClick: false,
|
6396 |
+
renderBullet: null,
|
6397 |
+
renderProgressbar: null,
|
6398 |
+
renderFraction: null,
|
6399 |
+
renderCustom: null,
|
6400 |
+
progressbarOpposite: false,
|
6401 |
+
type: 'bullets',
|
6402 |
+
// 'bullets' or 'progressbar' or 'fraction' or 'custom'
|
6403 |
+
dynamicBullets: false,
|
6404 |
+
dynamicMainBullets: 1,
|
6405 |
+
formatFractionCurrent: function formatFractionCurrent(number) {
|
6406 |
+
return number;
|
6407 |
+
},
|
6408 |
+
formatFractionTotal: function formatFractionTotal(number) {
|
6409 |
+
return number;
|
6410 |
+
},
|
6411 |
+
bulletClass: 'swiper-pagination-bullet',
|
6412 |
+
bulletActiveClass: 'swiper-pagination-bullet-active',
|
6413 |
+
modifierClass: 'swiper-pagination-',
|
6414 |
+
// NEW
|
6415 |
+
currentClass: 'swiper-pagination-current',
|
6416 |
+
totalClass: 'swiper-pagination-total',
|
6417 |
+
hiddenClass: 'swiper-pagination-hidden',
|
6418 |
+
progressbarFillClass: 'swiper-pagination-progressbar-fill',
|
6419 |
+
progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',
|
6420 |
+
clickableClass: 'swiper-pagination-clickable',
|
6421 |
+
// NEW
|
6422 |
+
lockClass: 'swiper-pagination-lock'
|
6423 |
+
}
|
6424 |
+
},
|
6425 |
+
create: function create() {
|
6426 |
+
var swiper = this;
|
6427 |
+
bindModuleMethods(swiper, {
|
6428 |
+
pagination: _extends({
|
6429 |
+
dynamicBulletIndex: 0
|
6430 |
+
}, Pagination)
|
6431 |
+
});
|
6432 |
+
},
|
6433 |
+
on: {
|
6434 |
+
init: function init(swiper) {
|
6435 |
+
swiper.pagination.init();
|
6436 |
+
swiper.pagination.render();
|
6437 |
+
swiper.pagination.update();
|
6438 |
+
},
|
6439 |
+
activeIndexChange: function activeIndexChange(swiper) {
|
6440 |
+
if (swiper.params.loop) {
|
6441 |
+
swiper.pagination.update();
|
6442 |
+
} else if (typeof swiper.snapIndex === 'undefined') {
|
6443 |
+
swiper.pagination.update();
|
6444 |
+
}
|
6445 |
+
},
|
6446 |
+
snapIndexChange: function snapIndexChange(swiper) {
|
6447 |
+
if (!swiper.params.loop) {
|
6448 |
+
swiper.pagination.update();
|
6449 |
+
}
|
6450 |
+
},
|
6451 |
+
slidesLengthChange: function slidesLengthChange(swiper) {
|
6452 |
+
if (swiper.params.loop) {
|
6453 |
+
swiper.pagination.render();
|
6454 |
+
swiper.pagination.update();
|
6455 |
+
}
|
6456 |
+
},
|
6457 |
+
snapGridLengthChange: function snapGridLengthChange(swiper) {
|
6458 |
+
if (!swiper.params.loop) {
|
6459 |
+
swiper.pagination.render();
|
6460 |
+
swiper.pagination.update();
|
6461 |
+
}
|
6462 |
+
},
|
6463 |
+
destroy: function destroy(swiper) {
|
6464 |
+
swiper.pagination.destroy();
|
6465 |
+
},
|
6466 |
+
click: function click(swiper, e) {
|
6467 |
+
if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(e.target).hasClass(swiper.params.pagination.bulletClass)) {
|
6468 |
+
var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);
|
6469 |
+
|
6470 |
+
if (isHidden === true) {
|
6471 |
+
swiper.emit('paginationShow');
|
6472 |
+
} else {
|
6473 |
+
swiper.emit('paginationHide');
|
6474 |
+
}
|
6475 |
+
|
6476 |
+
swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);
|
6477 |
+
}
|
6478 |
+
}
|
6479 |
+
}
|
6480 |
+
};
|
6481 |
+
|
6482 |
+
var Scrollbar = {
|
6483 |
+
setTranslate: function setTranslate() {
|
6484 |
+
var swiper = this;
|
6485 |
+
if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
|
6486 |
+
var scrollbar = swiper.scrollbar,
|
6487 |
+
rtl = swiper.rtlTranslate,
|
6488 |
+
progress = swiper.progress;
|
6489 |
+
var dragSize = scrollbar.dragSize,
|
6490 |
+
trackSize = scrollbar.trackSize,
|
6491 |
+
$dragEl = scrollbar.$dragEl,
|
6492 |
+
$el = scrollbar.$el;
|
6493 |
+
var params = swiper.params.scrollbar;
|
6494 |
+
var newSize = dragSize;
|
6495 |
+
var newPos = (trackSize - dragSize) * progress;
|
6496 |
+
|
6497 |
+
if (rtl) {
|
6498 |
+
newPos = -newPos;
|
6499 |
+
|
6500 |
+
if (newPos > 0) {
|
6501 |
+
newSize = dragSize - newPos;
|
6502 |
+
newPos = 0;
|
6503 |
+
} else if (-newPos + dragSize > trackSize) {
|
6504 |
+
newSize = trackSize + newPos;
|
6505 |
+
}
|
6506 |
+
} else if (newPos < 0) {
|
6507 |
+
newSize = dragSize + newPos;
|
6508 |
+
newPos = 0;
|
6509 |
+
} else if (newPos + dragSize > trackSize) {
|
6510 |
+
newSize = trackSize - newPos;
|
6511 |
+
}
|
6512 |
+
|
6513 |
+
if (swiper.isHorizontal()) {
|
6514 |
+
$dragEl.transform("translate3d(" + newPos + "px, 0, 0)");
|
6515 |
+
$dragEl[0].style.width = newSize + "px";
|
6516 |
+
} else {
|
6517 |
+
$dragEl.transform("translate3d(0px, " + newPos + "px, 0)");
|
6518 |
+
$dragEl[0].style.height = newSize + "px";
|
6519 |
+
}
|
6520 |
+
|
6521 |
+
if (params.hide) {
|
6522 |
+
clearTimeout(swiper.scrollbar.timeout);
|
6523 |
+
$el[0].style.opacity = 1;
|
6524 |
+
swiper.scrollbar.timeout = setTimeout(function () {
|
6525 |
+
$el[0].style.opacity = 0;
|
6526 |
+
$el.transition(400);
|
6527 |
+
}, 1000);
|
6528 |
+
}
|
6529 |
+
},
|
6530 |
+
setTransition: function setTransition(duration) {
|
6531 |
+
var swiper = this;
|
6532 |
+
if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
|
6533 |
+
swiper.scrollbar.$dragEl.transition(duration);
|
6534 |
+
},
|
6535 |
+
updateSize: function updateSize() {
|
6536 |
+
var swiper = this;
|
6537 |
+
if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
|
6538 |
+
var scrollbar = swiper.scrollbar;
|
6539 |
+
var $dragEl = scrollbar.$dragEl,
|
6540 |
+
$el = scrollbar.$el;
|
6541 |
+
$dragEl[0].style.width = '';
|
6542 |
+
$dragEl[0].style.height = '';
|
6543 |
+
var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;
|
6544 |
+
var divider = swiper.size / swiper.virtualSize;
|
6545 |
+
var moveDivider = divider * (trackSize / swiper.size);
|
6546 |
+
var dragSize;
|
6547 |
+
|
6548 |
+
if (swiper.params.scrollbar.dragSize === 'auto') {
|
6549 |
+
dragSize = trackSize * divider;
|
6550 |
+
} else {
|
6551 |
+
dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);
|
6552 |
+
}
|
6553 |
+
|
6554 |
+
if (swiper.isHorizontal()) {
|
6555 |
+
$dragEl[0].style.width = dragSize + "px";
|
6556 |
+
} else {
|
6557 |
+
$dragEl[0].style.height = dragSize + "px";
|
6558 |
+
}
|
6559 |
+
|
6560 |
+
if (divider >= 1) {
|
6561 |
+
$el[0].style.display = 'none';
|
6562 |
+
} else {
|
6563 |
+
$el[0].style.display = '';
|
6564 |
+
}
|
6565 |
+
|
6566 |
+
if (swiper.params.scrollbar.hide) {
|
6567 |
+
$el[0].style.opacity = 0;
|
6568 |
+
}
|
6569 |
+
|
6570 |
+
extend$1(scrollbar, {
|
6571 |
+
trackSize: trackSize,
|
6572 |
+
divider: divider,
|
6573 |
+
moveDivider: moveDivider,
|
6574 |
+
dragSize: dragSize
|
6575 |
+
});
|
6576 |
+
scrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);
|
6577 |
+
},
|
6578 |
+
getPointerPosition: function getPointerPosition(e) {
|
6579 |
+
var swiper = this;
|
6580 |
+
|
6581 |
+
if (swiper.isHorizontal()) {
|
6582 |
+
return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;
|
6583 |
+
}
|
6584 |
+
|
6585 |
+
return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;
|
6586 |
+
},
|
6587 |
+
setDragPosition: function setDragPosition(e) {
|
6588 |
+
var swiper = this;
|
6589 |
+
var scrollbar = swiper.scrollbar,
|
6590 |
+
rtl = swiper.rtlTranslate;
|
6591 |
+
var $el = scrollbar.$el,
|
6592 |
+
dragSize = scrollbar.dragSize,
|
6593 |
+
trackSize = scrollbar.trackSize,
|
6594 |
+
dragStartPos = scrollbar.dragStartPos;
|
6595 |
+
var positionRatio;
|
6596 |
+
positionRatio = (scrollbar.getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);
|
6597 |
+
positionRatio = Math.max(Math.min(positionRatio, 1), 0);
|
6598 |
+
|
6599 |
+
if (rtl) {
|
6600 |
+
positionRatio = 1 - positionRatio;
|
6601 |
+
}
|
6602 |
+
|
6603 |
+
var position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;
|
6604 |
+
swiper.updateProgress(position);
|
6605 |
+
swiper.setTranslate(position);
|
6606 |
+
swiper.updateActiveIndex();
|
6607 |
+
swiper.updateSlidesClasses();
|
6608 |
+
},
|
6609 |
+
onDragStart: function onDragStart(e) {
|
6610 |
+
var swiper = this;
|
6611 |
+
var params = swiper.params.scrollbar;
|
6612 |
+
var scrollbar = swiper.scrollbar,
|
6613 |
+
$wrapperEl = swiper.$wrapperEl;
|
6614 |
+
var $el = scrollbar.$el,
|
6615 |
+
$dragEl = scrollbar.$dragEl;
|
6616 |
+
swiper.scrollbar.isTouched = true;
|
6617 |
+
swiper.scrollbar.dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;
|
6618 |
+
e.preventDefault();
|
6619 |
+
e.stopPropagation();
|
6620 |
+
$wrapperEl.transition(100);
|
6621 |
+
$dragEl.transition(100);
|
6622 |
+
scrollbar.setDragPosition(e);
|
6623 |
+
clearTimeout(swiper.scrollbar.dragTimeout);
|
6624 |
+
$el.transition(0);
|
6625 |
+
|
6626 |
+
if (params.hide) {
|
6627 |
+
$el.css('opacity', 1);
|
6628 |
+
}
|
6629 |
+
|
6630 |
+
if (swiper.params.cssMode) {
|
6631 |
+
swiper.$wrapperEl.css('scroll-snap-type', 'none');
|
6632 |
+
}
|
6633 |
+
|
6634 |
+
swiper.emit('scrollbarDragStart', e);
|
6635 |
+
},
|
6636 |
+
onDragMove: function onDragMove(e) {
|
6637 |
+
var swiper = this;
|
6638 |
+
var scrollbar = swiper.scrollbar,
|
6639 |
+
$wrapperEl = swiper.$wrapperEl;
|
6640 |
+
var $el = scrollbar.$el,
|
6641 |
+
$dragEl = scrollbar.$dragEl;
|
6642 |
+
if (!swiper.scrollbar.isTouched) return;
|
6643 |
+
if (e.preventDefault) e.preventDefault();else e.returnValue = false;
|
6644 |
+
scrollbar.setDragPosition(e);
|
6645 |
+
$wrapperEl.transition(0);
|
6646 |
+
$el.transition(0);
|
6647 |
+
$dragEl.transition(0);
|
6648 |
+
swiper.emit('scrollbarDragMove', e);
|
6649 |
+
},
|
6650 |
+
onDragEnd: function onDragEnd(e) {
|
6651 |
+
var swiper = this;
|
6652 |
+
var params = swiper.params.scrollbar;
|
6653 |
+
var scrollbar = swiper.scrollbar,
|
6654 |
+
$wrapperEl = swiper.$wrapperEl;
|
6655 |
+
var $el = scrollbar.$el;
|
6656 |
+
if (!swiper.scrollbar.isTouched) return;
|
6657 |
+
swiper.scrollbar.isTouched = false;
|
6658 |
+
|
6659 |
+
if (swiper.params.cssMode) {
|
6660 |
+
swiper.$wrapperEl.css('scroll-snap-type', '');
|
6661 |
+
$wrapperEl.transition('');
|
6662 |
+
}
|
6663 |
+
|
6664 |
+
if (params.hide) {
|
6665 |
+
clearTimeout(swiper.scrollbar.dragTimeout);
|
6666 |
+
swiper.scrollbar.dragTimeout = nextTick(function () {
|
6667 |
+
$el.css('opacity', 0);
|
6668 |
+
$el.transition(400);
|
6669 |
+
}, 1000);
|
6670 |
+
}
|
6671 |
+
|
6672 |
+
swiper.emit('scrollbarDragEnd', e);
|
6673 |
+
|
6674 |
+
if (params.snapOnRelease) {
|
6675 |
+
swiper.slideToClosest();
|
6676 |
+
}
|
6677 |
+
},
|
6678 |
+
enableDraggable: function enableDraggable() {
|
6679 |
+
var swiper = this;
|
6680 |
+
if (!swiper.params.scrollbar.el) return;
|
6681 |
+
var document = getDocument();
|
6682 |
+
var scrollbar = swiper.scrollbar,
|
6683 |
+
touchEventsTouch = swiper.touchEventsTouch,
|
6684 |
+
touchEventsDesktop = swiper.touchEventsDesktop,
|
6685 |
+
params = swiper.params,
|
6686 |
+
support = swiper.support;
|
6687 |
+
var $el = scrollbar.$el;
|
6688 |
+
var target = $el[0];
|
6689 |
+
var activeListener = support.passiveListener && params.passiveListeners ? {
|
6690 |
+
passive: false,
|
6691 |
+
capture: false
|
6692 |
+
} : false;
|
6693 |
+
var passiveListener = support.passiveListener && params.passiveListeners ? {
|
6694 |
+
passive: true,
|
6695 |
+
capture: false
|
6696 |
+
} : false;
|
6697 |
+
|
6698 |
+
if (!support.touch) {
|
6699 |
+
target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
|
6700 |
+
document.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
|
6701 |
+
document.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
|
6702 |
+
} else {
|
6703 |
+
target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);
|
6704 |
+
target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);
|
6705 |
+
target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);
|
6706 |
+
}
|
6707 |
+
},
|
6708 |
+
disableDraggable: function disableDraggable() {
|
6709 |
+
var swiper = this;
|
6710 |
+
if (!swiper.params.scrollbar.el) return;
|
6711 |
+
var document = getDocument();
|
6712 |
+
var scrollbar = swiper.scrollbar,
|
6713 |
+
touchEventsTouch = swiper.touchEventsTouch,
|
6714 |
+
touchEventsDesktop = swiper.touchEventsDesktop,
|
6715 |
+
params = swiper.params,
|
6716 |
+
support = swiper.support;
|
6717 |
+
var $el = scrollbar.$el;
|
6718 |
+
var target = $el[0];
|
6719 |
+
var activeListener = support.passiveListener && params.passiveListeners ? {
|
6720 |
+
passive: false,
|
6721 |
+
capture: false
|
6722 |
+
} : false;
|
6723 |
+
var passiveListener = support.passiveListener && params.passiveListeners ? {
|
6724 |
+
passive: true,
|
6725 |
+
capture: false
|
6726 |
+
} : false;
|
6727 |
+
|
6728 |
+
if (!support.touch) {
|
6729 |
+
target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
|
6730 |
+
document.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
|
6731 |
+
document.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
|
6732 |
+
} else {
|
6733 |
+
target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);
|
6734 |
+
target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);
|
6735 |
+
target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);
|
6736 |
+
}
|
6737 |
+
},
|
6738 |
+
init: function init() {
|
6739 |
+
var swiper = this;
|
6740 |
+
if (!swiper.params.scrollbar.el) return;
|
6741 |
+
var scrollbar = swiper.scrollbar,
|
6742 |
+
$swiperEl = swiper.$el;
|
6743 |
+
var params = swiper.params.scrollbar;
|
6744 |
+
var $el = $(params.el);
|
6745 |
+
|
6746 |
+
if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {
|
6747 |
+
$el = $swiperEl.find(params.el);
|
6748 |
+
}
|
6749 |
+
|
6750 |
+
var $dragEl = $el.find("." + swiper.params.scrollbar.dragClass);
|
6751 |
+
|
6752 |
+
if ($dragEl.length === 0) {
|
6753 |
+
$dragEl = $("<div class=\"" + swiper.params.scrollbar.dragClass + "\"></div>");
|
6754 |
+
$el.append($dragEl);
|
6755 |
+
}
|
6756 |
+
|
6757 |
+
extend$1(scrollbar, {
|
6758 |
+
$el: $el,
|
6759 |
+
el: $el[0],
|
6760 |
+
$dragEl: $dragEl,
|
6761 |
+
dragEl: $dragEl[0]
|
6762 |
+
});
|
6763 |
+
|
6764 |
+
if (params.draggable) {
|
6765 |
+
scrollbar.enableDraggable();
|
6766 |
+
}
|
6767 |
+
},
|
6768 |
+
destroy: function destroy() {
|
6769 |
+
var swiper = this;
|
6770 |
+
swiper.scrollbar.disableDraggable();
|
6771 |
+
}
|
6772 |
+
};
|
6773 |
+
var Scrollbar$1 = {
|
6774 |
+
name: 'scrollbar',
|
6775 |
+
params: {
|
6776 |
+
scrollbar: {
|
6777 |
+
el: null,
|
6778 |
+
dragSize: 'auto',
|
6779 |
+
hide: false,
|
6780 |
+
draggable: false,
|
6781 |
+
snapOnRelease: true,
|
6782 |
+
lockClass: 'swiper-scrollbar-lock',
|
6783 |
+
dragClass: 'swiper-scrollbar-drag'
|
6784 |
+
}
|
6785 |
+
},
|
6786 |
+
create: function create() {
|
6787 |
+
var swiper = this;
|
6788 |
+
bindModuleMethods(swiper, {
|
6789 |
+
scrollbar: _extends({
|
6790 |
+
isTouched: false,
|
6791 |
+
timeout: null,
|
6792 |
+
dragTimeout: null
|
6793 |
+
}, Scrollbar)
|
6794 |
+
});
|
6795 |
+
},
|
6796 |
+
on: {
|
6797 |
+
init: function init(swiper) {
|
6798 |
+
swiper.scrollbar.init();
|
6799 |
+
swiper.scrollbar.updateSize();
|
6800 |
+
swiper.scrollbar.setTranslate();
|
6801 |
+
},
|
6802 |
+
update: function update(swiper) {
|
6803 |
+
swiper.scrollbar.updateSize();
|
6804 |
+
},
|
6805 |
+
resize: function resize(swiper) {
|
6806 |
+
swiper.scrollbar.updateSize();
|
6807 |
+
},
|
6808 |
+
observerUpdate: function observerUpdate(swiper) {
|
6809 |
+
swiper.scrollbar.updateSize();
|
6810 |
+
},
|
6811 |
+
setTranslate: function setTranslate(swiper) {
|
6812 |
+
swiper.scrollbar.setTranslate();
|
6813 |
+
},
|
6814 |
+
setTransition: function setTransition(swiper, duration) {
|
6815 |
+
swiper.scrollbar.setTransition(duration);
|
6816 |
+
},
|
6817 |
+
destroy: function destroy(swiper) {
|
6818 |
+
swiper.scrollbar.destroy();
|
6819 |
+
}
|
6820 |
+
}
|
6821 |
+
};
|
6822 |
+
|
6823 |
+
var Parallax = {
|
6824 |
+
setTransform: function setTransform(el, progress) {
|
6825 |
+
var swiper = this;
|
6826 |
+
var rtl = swiper.rtl;
|
6827 |
+
var $el = $(el);
|
6828 |
+
var rtlFactor = rtl ? -1 : 1;
|
6829 |
+
var p = $el.attr('data-swiper-parallax') || '0';
|
6830 |
+
var x = $el.attr('data-swiper-parallax-x');
|
6831 |
+
var y = $el.attr('data-swiper-parallax-y');
|
6832 |
+
var scale = $el.attr('data-swiper-parallax-scale');
|
6833 |
+
var opacity = $el.attr('data-swiper-parallax-opacity');
|
6834 |
+
|
6835 |
+
if (x || y) {
|
6836 |
+
x = x || '0';
|
6837 |
+
y = y || '0';
|
6838 |
+
} else if (swiper.isHorizontal()) {
|
6839 |
+
x = p;
|
6840 |
+
y = '0';
|
6841 |
+
} else {
|
6842 |
+
y = p;
|
6843 |
+
x = '0';
|
6844 |
+
}
|
6845 |
+
|
6846 |
+
if (x.indexOf('%') >= 0) {
|
6847 |
+
x = parseInt(x, 10) * progress * rtlFactor + "%";
|
6848 |
+
} else {
|
6849 |
+
x = x * progress * rtlFactor + "px";
|
6850 |
+
}
|
6851 |
+
|
6852 |
+
if (y.indexOf('%') >= 0) {
|
6853 |
+
y = parseInt(y, 10) * progress + "%";
|
6854 |
+
} else {
|
6855 |
+
y = y * progress + "px";
|
6856 |
+
}
|
6857 |
+
|
6858 |
+
if (typeof opacity !== 'undefined' && opacity !== null) {
|
6859 |
+
var currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));
|
6860 |
+
$el[0].style.opacity = currentOpacity;
|
6861 |
+
}
|
6862 |
+
|
6863 |
+
if (typeof scale === 'undefined' || scale === null) {
|
6864 |
+
$el.transform("translate3d(" + x + ", " + y + ", 0px)");
|
6865 |
+
} else {
|
6866 |
+
var currentScale = scale - (scale - 1) * (1 - Math.abs(progress));
|
6867 |
+
$el.transform("translate3d(" + x + ", " + y + ", 0px) scale(" + currentScale + ")");
|
6868 |
+
}
|
6869 |
+
},
|
6870 |
+
setTranslate: function setTranslate() {
|
6871 |
+
var swiper = this;
|
6872 |
+
var $el = swiper.$el,
|
6873 |
+
slides = swiper.slides,
|
6874 |
+
progress = swiper.progress,
|
6875 |
+
snapGrid = swiper.snapGrid;
|
6876 |
+
$el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {
|
6877 |
+
swiper.parallax.setTransform(el, progress);
|
6878 |
+
});
|
6879 |
+
slides.each(function (slideEl, slideIndex) {
|
6880 |
+
var slideProgress = slideEl.progress;
|
6881 |
+
|
6882 |
+
if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {
|
6883 |
+
slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);
|
6884 |
+
}
|
6885 |
+
|
6886 |
+
slideProgress = Math.min(Math.max(slideProgress, -1), 1);
|
6887 |
+
$(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {
|
6888 |
+
swiper.parallax.setTransform(el, slideProgress);
|
6889 |
+
});
|
6890 |
+
});
|
6891 |
+
},
|
6892 |
+
setTransition: function setTransition(duration) {
|
6893 |
+
if (duration === void 0) {
|
6894 |
+
duration = this.params.speed;
|
6895 |
+
}
|
6896 |
+
|
6897 |
+
var swiper = this;
|
6898 |
+
var $el = swiper.$el;
|
6899 |
+
$el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (parallaxEl) {
|
6900 |
+
var $parallaxEl = $(parallaxEl);
|
6901 |
+
var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;
|
6902 |
+
if (duration === 0) parallaxDuration = 0;
|
6903 |
+
$parallaxEl.transition(parallaxDuration);
|
6904 |
+
});
|
6905 |
+
}
|
6906 |
+
};
|
6907 |
+
var Parallax$1 = {
|
6908 |
+
name: 'parallax',
|
6909 |
+
params: {
|
6910 |
+
parallax: {
|
6911 |
+
enabled: false
|
6912 |
+
}
|
6913 |
+
},
|
6914 |
+
create: function create() {
|
6915 |
+
var swiper = this;
|
6916 |
+
bindModuleMethods(swiper, {
|
6917 |
+
parallax: _extends({}, Parallax)
|
6918 |
+
});
|
6919 |
+
},
|
6920 |
+
on: {
|
6921 |
+
beforeInit: function beforeInit(swiper) {
|
6922 |
+
if (!swiper.params.parallax.enabled) return;
|
6923 |
+
swiper.params.watchSlidesProgress = true;
|
6924 |
+
swiper.originalParams.watchSlidesProgress = true;
|
6925 |
+
},
|
6926 |
+
init: function init(swiper) {
|
6927 |
+
if (!swiper.params.parallax.enabled) return;
|
6928 |
+
swiper.parallax.setTranslate();
|
6929 |
+
},
|
6930 |
+
setTranslate: function setTranslate(swiper) {
|
6931 |
+
if (!swiper.params.parallax.enabled) return;
|
6932 |
+
swiper.parallax.setTranslate();
|
6933 |
+
},
|
6934 |
+
setTransition: function setTransition(swiper, duration) {
|
6935 |
+
if (!swiper.params.parallax.enabled) return;
|
6936 |
+
swiper.parallax.setTransition(duration);
|
6937 |
+
}
|
6938 |
+
}
|
6939 |
+
};
|
6940 |
+
|
6941 |
+
var Zoom = {
|
6942 |
+
// Calc Scale From Multi-touches
|
6943 |
+
getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {
|
6944 |
+
if (e.targetTouches.length < 2) return 1;
|
6945 |
+
var x1 = e.targetTouches[0].pageX;
|
6946 |
+
var y1 = e.targetTouches[0].pageY;
|
6947 |
+
var x2 = e.targetTouches[1].pageX;
|
6948 |
+
var y2 = e.targetTouches[1].pageY;
|
6949 |
+
var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
|
6950 |
+
return distance;
|
6951 |
+
},
|
6952 |
+
// Events
|
6953 |
+
onGestureStart: function onGestureStart(e) {
|
6954 |
+
var swiper = this;
|
6955 |
+
var support = swiper.support;
|
6956 |
+
var params = swiper.params.zoom;
|
6957 |
+
var zoom = swiper.zoom;
|
6958 |
+
var gesture = zoom.gesture;
|
6959 |
+
zoom.fakeGestureTouched = false;
|
6960 |
+
zoom.fakeGestureMoved = false;
|
6961 |
+
|
6962 |
+
if (!support.gestures) {
|
6963 |
+
if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {
|
6964 |
+
return;
|
6965 |
+
}
|
6966 |
+
|
6967 |
+
zoom.fakeGestureTouched = true;
|
6968 |
+
gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);
|
6969 |
+
}
|
6970 |
+
|
6971 |
+
if (!gesture.$slideEl || !gesture.$slideEl.length) {
|
6972 |
+
gesture.$slideEl = $(e.target).closest("." + swiper.params.slideClass);
|
6973 |
+
if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
|
6974 |
+
gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
|
6975 |
+
gesture.$imageWrapEl = gesture.$imageEl.parent("." + params.containerClass);
|
6976 |
+
gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
|
6977 |
+
|
6978 |
+
if (gesture.$imageWrapEl.length === 0) {
|
6979 |
+
gesture.$imageEl = undefined;
|
6980 |
+
return;
|
6981 |
+
}
|
6982 |
+
}
|
6983 |
+
|
6984 |
+
if (gesture.$imageEl) {
|
6985 |
+
gesture.$imageEl.transition(0);
|
6986 |
+
}
|
6987 |
+
|
6988 |
+
swiper.zoom.isScaling = true;
|
6989 |
+
},
|
6990 |
+
onGestureChange: function onGestureChange(e) {
|
6991 |
+
var swiper = this;
|
6992 |
+
var support = swiper.support;
|
6993 |
+
var params = swiper.params.zoom;
|
6994 |
+
var zoom = swiper.zoom;
|
6995 |
+
var gesture = zoom.gesture;
|
6996 |
+
|
6997 |
+
if (!support.gestures) {
|
6998 |
+
if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {
|
6999 |
+
return;
|
7000 |
+
}
|
7001 |
+
|
7002 |
+
zoom.fakeGestureMoved = true;
|
7003 |
+
gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);
|
7004 |
+
}
|
7005 |
+
|
7006 |
+
if (!gesture.$imageEl || gesture.$imageEl.length === 0) {
|
7007 |
+
if (e.type === 'gesturechange') zoom.onGestureStart(e);
|
7008 |
+
return;
|
7009 |
+
}
|
7010 |
+
|
7011 |
+
if (support.gestures) {
|
7012 |
+
zoom.scale = e.scale * zoom.currentScale;
|
7013 |
+
} else {
|
7014 |
+
zoom.scale = gesture.scaleMove / gesture.scaleStart * zoom.currentScale;
|
7015 |
+
}
|
7016 |
+
|
7017 |
+
if (zoom.scale > gesture.maxRatio) {
|
7018 |
+
zoom.scale = gesture.maxRatio - 1 + Math.pow(zoom.scale - gesture.maxRatio + 1, 0.5);
|
7019 |
+
}
|
7020 |
+
|
7021 |
+
if (zoom.scale < params.minRatio) {
|
7022 |
+
zoom.scale = params.minRatio + 1 - Math.pow(params.minRatio - zoom.scale + 1, 0.5);
|
7023 |
+
}
|
7024 |
+
|
7025 |
+
gesture.$imageEl.transform("translate3d(0,0,0) scale(" + zoom.scale + ")");
|
7026 |
+
},
|
7027 |
+
onGestureEnd: function onGestureEnd(e) {
|
7028 |
+
var swiper = this;
|
7029 |
+
var device = swiper.device;
|
7030 |
+
var support = swiper.support;
|
7031 |
+
var params = swiper.params.zoom;
|
7032 |
+
var zoom = swiper.zoom;
|
7033 |
+
var gesture = zoom.gesture;
|
7034 |
+
|
7035 |
+
if (!support.gestures) {
|
7036 |
+
if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {
|
7037 |
+
return;
|
7038 |
+
}
|
7039 |
+
|
7040 |
+
if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) {
|
7041 |
+
return;
|
7042 |
+
}
|
7043 |
+
|
7044 |
+
zoom.fakeGestureTouched = false;
|
7045 |
+
zoom.fakeGestureMoved = false;
|
7046 |
+
}
|
7047 |
+
|
7048 |
+
if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
|
7049 |
+
zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
|
7050 |
+
gesture.$imageEl.transition(swiper.params.speed).transform("translate3d(0,0,0) scale(" + zoom.scale + ")");
|
7051 |
+
zoom.currentScale = zoom.scale;
|
7052 |
+
zoom.isScaling = false;
|
7053 |
+
if (zoom.scale === 1) gesture.$slideEl = undefined;
|
7054 |
+
},
|
7055 |
+
onTouchStart: function onTouchStart(e) {
|
7056 |
+
var swiper = this;
|
7057 |
+
var device = swiper.device;
|
7058 |
+
var zoom = swiper.zoom;
|
7059 |
+
var gesture = zoom.gesture,
|
7060 |
+
image = zoom.image;
|
7061 |
+
if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
|
7062 |
+
if (image.isTouched) return;
|
7063 |
+
if (device.android && e.cancelable) e.preventDefault();
|
7064 |
+
image.isTouched = true;
|
7065 |
+
image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
|
7066 |
+
image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
|
7067 |
+
},
|
7068 |
+
onTouchMove: function onTouchMove(e) {
|
7069 |
+
var swiper = this;
|
7070 |
+
var zoom = swiper.zoom;
|
7071 |
+
var gesture = zoom.gesture,
|
7072 |
+
image = zoom.image,
|
7073 |
+
velocity = zoom.velocity;
|
7074 |
+
if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
|
7075 |
+
swiper.allowClick = false;
|
7076 |
+
if (!image.isTouched || !gesture.$slideEl) return;
|
7077 |
+
|
7078 |
+
if (!image.isMoved) {
|
7079 |
+
image.width = gesture.$imageEl[0].offsetWidth;
|
7080 |
+
image.height = gesture.$imageEl[0].offsetHeight;
|
7081 |
+
image.startX = getTranslate(gesture.$imageWrapEl[0], 'x') || 0;
|
7082 |
+
image.startY = getTranslate(gesture.$imageWrapEl[0], 'y') || 0;
|
7083 |
+
gesture.slideWidth = gesture.$slideEl[0].offsetWidth;
|
7084 |
+
gesture.slideHeight = gesture.$slideEl[0].offsetHeight;
|
7085 |
+
gesture.$imageWrapEl.transition(0);
|
7086 |
+
|
7087 |
+
if (swiper.rtl) {
|
7088 |
+
image.startX = -image.startX;
|
7089 |
+
image.startY = -image.startY;
|
7090 |
+
}
|
7091 |
+
} // Define if we need image drag
|
7092 |
+
|
7093 |
+
|
7094 |
+
var scaledWidth = image.width * zoom.scale;
|
7095 |
+
var scaledHeight = image.height * zoom.scale;
|
7096 |
+
if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;
|
7097 |
+
image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
|
7098 |
+
image.maxX = -image.minX;
|
7099 |
+
image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
|
7100 |
+
image.maxY = -image.minY;
|
7101 |
+
image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;
|
7102 |
+
image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;
|
7103 |
+
|
7104 |
+
if (!image.isMoved && !zoom.isScaling) {
|
7105 |
+
if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {
|
7106 |
+
image.isTouched = false;
|
7107 |
+
return;
|
7108 |
+
}
|
7109 |
+
|
7110 |
+
if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {
|
7111 |
+
image.isTouched = false;
|
7112 |
+
return;
|
7113 |
+
}
|
7114 |
+
}
|
7115 |
+
|
7116 |
+
if (e.cancelable) {
|
7117 |
+
e.preventDefault();
|
7118 |
+
}
|
7119 |
+
|
7120 |
+
e.stopPropagation();
|
7121 |
+
image.isMoved = true;
|
7122 |
+
image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;
|
7123 |
+
image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;
|
7124 |
+
|
7125 |
+
if (image.currentX < image.minX) {
|
7126 |
+
image.currentX = image.minX + 1 - Math.pow(image.minX - image.currentX + 1, 0.8);
|
7127 |
+
}
|
7128 |
+
|
7129 |
+
if (image.currentX > image.maxX) {
|
7130 |
+
image.currentX = image.maxX - 1 + Math.pow(image.currentX - image.maxX + 1, 0.8);
|
7131 |
+
}
|
7132 |
+
|
7133 |
+
if (image.currentY < image.minY) {
|
7134 |
+
image.currentY = image.minY + 1 - Math.pow(image.minY - image.currentY + 1, 0.8);
|
7135 |
+
}
|
7136 |
+
|
7137 |
+
if (image.currentY > image.maxY) {
|
7138 |
+
image.currentY = image.maxY - 1 + Math.pow(image.currentY - image.maxY + 1, 0.8);
|
7139 |
+
} // Velocity
|
7140 |
+
|
7141 |
+
|
7142 |
+
if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;
|
7143 |
+
if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;
|
7144 |
+
if (!velocity.prevTime) velocity.prevTime = Date.now();
|
7145 |
+
velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
|
7146 |
+
velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
|
7147 |
+
if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;
|
7148 |
+
if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;
|
7149 |
+
velocity.prevPositionX = image.touchesCurrent.x;
|
7150 |
+
velocity.prevPositionY = image.touchesCurrent.y;
|
7151 |
+
velocity.prevTime = Date.now();
|
7152 |
+
gesture.$imageWrapEl.transform("translate3d(" + image.currentX + "px, " + image.currentY + "px,0)");
|
7153 |
+
},
|
7154 |
+
onTouchEnd: function onTouchEnd() {
|
7155 |
+
var swiper = this;
|
7156 |
+
var zoom = swiper.zoom;
|
7157 |
+
var gesture = zoom.gesture,
|
7158 |
+
image = zoom.image,
|
7159 |
+
velocity = zoom.velocity;
|
7160 |
+
if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
|
7161 |
+
|
7162 |
+
if (!image.isTouched || !image.isMoved) {
|
7163 |
+
image.isTouched = false;
|
7164 |
+
image.isMoved = false;
|
7165 |
+
return;
|
7166 |
+
}
|
7167 |
+
|
7168 |
+
image.isTouched = false;
|
7169 |
+
image.isMoved = false;
|
7170 |
+
var momentumDurationX = 300;
|
7171 |
+
var momentumDurationY = 300;
|
7172 |
+
var momentumDistanceX = velocity.x * momentumDurationX;
|
7173 |
+
var newPositionX = image.currentX + momentumDistanceX;
|
7174 |
+
var momentumDistanceY = velocity.y * momentumDurationY;
|
7175 |
+
var newPositionY = image.currentY + momentumDistanceY; // Fix duration
|
7176 |
+
|
7177 |
+
if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);
|
7178 |
+
if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);
|
7179 |
+
var momentumDuration = Math.max(momentumDurationX, momentumDurationY);
|
7180 |
+
image.currentX = newPositionX;
|
7181 |
+
image.currentY = newPositionY; // Define if we need image drag
|
7182 |
+
|
7183 |
+
var scaledWidth = image.width * zoom.scale;
|
7184 |
+
var scaledHeight = image.height * zoom.scale;
|
7185 |
+
image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
|
7186 |
+
image.maxX = -image.minX;
|
7187 |
+
image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
|
7188 |
+
image.maxY = -image.minY;
|
7189 |
+
image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);
|
7190 |
+
image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);
|
7191 |
+
gesture.$imageWrapEl.transition(momentumDuration).transform("translate3d(" + image.currentX + "px, " + image.currentY + "px,0)");
|
7192 |
+
},
|
7193 |
+
onTransitionEnd: function onTransitionEnd() {
|
7194 |
+
var swiper = this;
|
7195 |
+
var zoom = swiper.zoom;
|
7196 |
+
var gesture = zoom.gesture;
|
7197 |
+
|
7198 |
+
if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {
|
7199 |
+
if (gesture.$imageEl) {
|
7200 |
+
gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');
|
7201 |
+
}
|
7202 |
+
|
7203 |
+
if (gesture.$imageWrapEl) {
|
7204 |
+
gesture.$imageWrapEl.transform('translate3d(0,0,0)');
|
7205 |
+
}
|
7206 |
+
|
7207 |
+
zoom.scale = 1;
|
7208 |
+
zoom.currentScale = 1;
|
7209 |
+
gesture.$slideEl = undefined;
|
7210 |
+
gesture.$imageEl = undefined;
|
7211 |
+
gesture.$imageWrapEl = undefined;
|
7212 |
+
}
|
7213 |
+
},
|
7214 |
+
// Toggle Zoom
|
7215 |
+
toggle: function toggle(e) {
|
7216 |
+
var swiper = this;
|
7217 |
+
var zoom = swiper.zoom;
|
7218 |
+
|
7219 |
+
if (zoom.scale && zoom.scale !== 1) {
|
7220 |
+
// Zoom Out
|
7221 |
+
zoom.out();
|
7222 |
+
} else {
|
7223 |
+
// Zoom In
|
7224 |
+
zoom.in(e);
|
7225 |
+
}
|
7226 |
+
},
|
7227 |
+
in: function _in(e) {
|
7228 |
+
var swiper = this;
|
7229 |
+
var zoom = swiper.zoom;
|
7230 |
+
var params = swiper.params.zoom;
|
7231 |
+
var gesture = zoom.gesture,
|
7232 |
+
image = zoom.image;
|
7233 |
+
|
7234 |
+
if (!gesture.$slideEl) {
|
7235 |
+
if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
|
7236 |
+
gesture.$slideEl = swiper.$wrapperEl.children("." + swiper.params.slideActiveClass);
|
7237 |
+
} else {
|
7238 |
+
gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
|
7239 |
+
}
|
7240 |
+
|
7241 |
+
gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
|
7242 |
+
gesture.$imageWrapEl = gesture.$imageEl.parent("." + params.containerClass);
|
7243 |
+
}
|
7244 |
+
|
7245 |
+
if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
|
7246 |
+
gesture.$slideEl.addClass("" + params.zoomedSlideClass);
|
7247 |
+
var touchX;
|
7248 |
+
var touchY;
|
7249 |
+
var offsetX;
|
7250 |
+
var offsetY;
|
7251 |
+
var diffX;
|
7252 |
+
var diffY;
|
7253 |
+
var translateX;
|
7254 |
+
var translateY;
|
7255 |
+
var imageWidth;
|
7256 |
+
var imageHeight;
|
7257 |
+
var scaledWidth;
|
7258 |
+
var scaledHeight;
|
7259 |
+
var translateMinX;
|
7260 |
+
var translateMinY;
|
7261 |
+
var translateMaxX;
|
7262 |
+
var translateMaxY;
|
7263 |
+
var slideWidth;
|
7264 |
+
var slideHeight;
|
7265 |
+
|
7266 |
+
if (typeof image.touchesStart.x === 'undefined' && e) {
|
7267 |
+
touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;
|
7268 |
+
touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;
|
7269 |
+
} else {
|
7270 |
+
touchX = image.touchesStart.x;
|
7271 |
+
touchY = image.touchesStart.y;
|
7272 |
+
}
|
7273 |
+
|
7274 |
+
zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
|
7275 |
+
zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
|
7276 |
+
|
7277 |
+
if (e) {
|
7278 |
+
slideWidth = gesture.$slideEl[0].offsetWidth;
|
7279 |
+
slideHeight = gesture.$slideEl[0].offsetHeight;
|
7280 |
+
offsetX = gesture.$slideEl.offset().left;
|
7281 |
+
offsetY = gesture.$slideEl.offset().top;
|
7282 |
+
diffX = offsetX + slideWidth / 2 - touchX;
|
7283 |
+
diffY = offsetY + slideHeight / 2 - touchY;
|
7284 |
+
imageWidth = gesture.$imageEl[0].offsetWidth;
|
7285 |
+
imageHeight = gesture.$imageEl[0].offsetHeight;
|
7286 |
+
scaledWidth = imageWidth * zoom.scale;
|
7287 |
+
scaledHeight = imageHeight * zoom.scale;
|
7288 |
+
translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);
|
7289 |
+
translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);
|
7290 |
+
translateMaxX = -translateMinX;
|
7291 |
+
translateMaxY = -translateMinY;
|
7292 |
+
translateX = diffX * zoom.scale;
|
7293 |
+
translateY = diffY * zoom.scale;
|
7294 |
+
|
7295 |
+
if (translateX < translateMinX) {
|
7296 |
+
translateX = translateMinX;
|
7297 |
+
}
|
7298 |
+
|
7299 |
+
if (translateX > translateMaxX) {
|
7300 |
+
translateX = translateMaxX;
|
7301 |
+
}
|
7302 |
+
|
7303 |
+
if (translateY < translateMinY) {
|
7304 |
+
translateY = translateMinY;
|
7305 |
+
}
|
7306 |
+
|
7307 |
+
if (translateY > translateMaxY) {
|
7308 |
+
translateY = translateMaxY;
|
7309 |
+
}
|
7310 |
+
} else {
|
7311 |
+
translateX = 0;
|
7312 |
+
translateY = 0;
|
7313 |
+
}
|
7314 |
+
|
7315 |
+
gesture.$imageWrapEl.transition(300).transform("translate3d(" + translateX + "px, " + translateY + "px,0)");
|
7316 |
+
gesture.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + zoom.scale + ")");
|
7317 |
+
},
|
7318 |
+
out: function out() {
|
7319 |
+
var swiper = this;
|
7320 |
+
var zoom = swiper.zoom;
|
7321 |
+
var params = swiper.params.zoom;
|
7322 |
+
var gesture = zoom.gesture;
|
7323 |
+
|
7324 |
+
if (!gesture.$slideEl) {
|
7325 |
+
if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
|
7326 |
+
gesture.$slideEl = swiper.$wrapperEl.children("." + swiper.params.slideActiveClass);
|
7327 |
+
} else {
|
7328 |
+
gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
|
7329 |
+
}
|
7330 |
+
|
7331 |
+
gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
|
7332 |
+
gesture.$imageWrapEl = gesture.$imageEl.parent("." + params.containerClass);
|
7333 |
+
}
|
7334 |
+
|
7335 |
+
if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
|
7336 |
+
zoom.scale = 1;
|
7337 |
+
zoom.currentScale = 1;
|
7338 |
+
gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');
|
7339 |
+
gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');
|
7340 |
+
gesture.$slideEl.removeClass("" + params.zoomedSlideClass);
|
7341 |
+
gesture.$slideEl = undefined;
|
7342 |
+
},
|
7343 |
+
toggleGestures: function toggleGestures(method) {
|
7344 |
+
var swiper = this;
|
7345 |
+
var zoom = swiper.zoom;
|
7346 |
+
var selector = zoom.slideSelector,
|
7347 |
+
passive = zoom.passiveListener;
|
7348 |
+
swiper.$wrapperEl[method]('gesturestart', selector, zoom.onGestureStart, passive);
|
7349 |
+
swiper.$wrapperEl[method]('gesturechange', selector, zoom.onGestureChange, passive);
|
7350 |
+
swiper.$wrapperEl[method]('gestureend', selector, zoom.onGestureEnd, passive);
|
7351 |
+
},
|
7352 |
+
enableGestures: function enableGestures() {
|
7353 |
+
if (this.zoom.gesturesEnabled) return;
|
7354 |
+
this.zoom.gesturesEnabled = true;
|
7355 |
+
this.zoom.toggleGestures('on');
|
7356 |
+
},
|
7357 |
+
disableGestures: function disableGestures() {
|
7358 |
+
if (!this.zoom.gesturesEnabled) return;
|
7359 |
+
this.zoom.gesturesEnabled = false;
|
7360 |
+
this.zoom.toggleGestures('off');
|
7361 |
+
},
|
7362 |
+
// Attach/Detach Events
|
7363 |
+
enable: function enable() {
|
7364 |
+
var swiper = this;
|
7365 |
+
var support = swiper.support;
|
7366 |
+
var zoom = swiper.zoom;
|
7367 |
+
if (zoom.enabled) return;
|
7368 |
+
zoom.enabled = true;
|
7369 |
+
var passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {
|
7370 |
+
passive: true,
|
7371 |
+
capture: false
|
7372 |
+
} : false;
|
7373 |
+
var activeListenerWithCapture = support.passiveListener ? {
|
7374 |
+
passive: false,
|
7375 |
+
capture: true
|
7376 |
+
} : true;
|
7377 |
+
var slideSelector = "." + swiper.params.slideClass;
|
7378 |
+
swiper.zoom.passiveListener = passiveListener;
|
7379 |
+
swiper.zoom.slideSelector = slideSelector; // Scale image
|
7380 |
+
|
7381 |
+
if (support.gestures) {
|
7382 |
+
swiper.$wrapperEl.on(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);
|
7383 |
+
swiper.$wrapperEl.on(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);
|
7384 |
+
} else if (swiper.touchEvents.start === 'touchstart') {
|
7385 |
+
swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);
|
7386 |
+
swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);
|
7387 |
+
swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);
|
7388 |
+
|
7389 |
+
if (swiper.touchEvents.cancel) {
|
7390 |
+
swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);
|
7391 |
+
}
|
7392 |
+
} // Move image
|
7393 |
+
|
7394 |
+
|
7395 |
+
swiper.$wrapperEl.on(swiper.touchEvents.move, "." + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);
|
7396 |
+
},
|
7397 |
+
disable: function disable() {
|
7398 |
+
var swiper = this;
|
7399 |
+
var zoom = swiper.zoom;
|
7400 |
+
if (!zoom.enabled) return;
|
7401 |
+
var support = swiper.support;
|
7402 |
+
swiper.zoom.enabled = false;
|
7403 |
+
var passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {
|
7404 |
+
passive: true,
|
7405 |
+
capture: false
|
7406 |
+
} : false;
|
7407 |
+
var activeListenerWithCapture = support.passiveListener ? {
|
7408 |
+
passive: false,
|
7409 |
+
capture: true
|
7410 |
+
} : true;
|
7411 |
+
var slideSelector = "." + swiper.params.slideClass; // Scale image
|
7412 |
+
|
7413 |
+
if (support.gestures) {
|
7414 |
+
swiper.$wrapperEl.off(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);
|
7415 |
+
swiper.$wrapperEl.off(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);
|
7416 |
+
} else if (swiper.touchEvents.start === 'touchstart') {
|
7417 |
+
swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);
|
7418 |
+
swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);
|
7419 |
+
swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);
|
7420 |
+
|
7421 |
+
if (swiper.touchEvents.cancel) {
|
7422 |
+
swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);
|
7423 |
+
}
|
7424 |
+
} // Move image
|
7425 |
+
|
7426 |
+
|
7427 |
+
swiper.$wrapperEl.off(swiper.touchEvents.move, "." + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);
|
7428 |
+
}
|
7429 |
+
};
|
7430 |
+
var Zoom$1 = {
|
7431 |
+
name: 'zoom',
|
7432 |
+
params: {
|
7433 |
+
zoom: {
|
7434 |
+
enabled: false,
|
7435 |
+
maxRatio: 3,
|
7436 |
+
minRatio: 1,
|
7437 |
+
toggle: true,
|
7438 |
+
containerClass: 'swiper-zoom-container',
|
7439 |
+
zoomedSlideClass: 'swiper-slide-zoomed'
|
7440 |
+
}
|
7441 |
+
},
|
7442 |
+
create: function create() {
|
7443 |
+
var swiper = this;
|
7444 |
+
bindModuleMethods(swiper, {
|
7445 |
+
zoom: _extends({
|
7446 |
+
enabled: false,
|
7447 |
+
scale: 1,
|
7448 |
+
currentScale: 1,
|
7449 |
+
isScaling: false,
|
7450 |
+
gesture: {
|
7451 |
+
$slideEl: undefined,
|
7452 |
+
slideWidth: undefined,
|
7453 |
+
slideHeight: undefined,
|
7454 |
+
$imageEl: undefined,
|
7455 |
+
$imageWrapEl: undefined,
|
7456 |
+
maxRatio: 3
|
7457 |
+
},
|
7458 |
+
image: {
|
7459 |
+
isTouched: undefined,
|
7460 |
+
isMoved: undefined,
|
7461 |
+
currentX: undefined,
|
7462 |
+
currentY: undefined,
|
7463 |
+
minX: undefined,
|
7464 |
+
minY: undefined,
|
7465 |
+
maxX: undefined,
|
7466 |
+
maxY: undefined,
|
7467 |
+
width: undefined,
|
7468 |
+
height: undefined,
|
7469 |
+
startX: undefined,
|
7470 |
+
startY: undefined,
|
7471 |
+
touchesStart: {},
|
7472 |
+
touchesCurrent: {}
|
7473 |
+
},
|
7474 |
+
velocity: {
|
7475 |
+
x: undefined,
|
7476 |
+
y: undefined,
|
7477 |
+
prevPositionX: undefined,
|
7478 |
+
prevPositionY: undefined,
|
7479 |
+
prevTime: undefined
|
7480 |
+
}
|
7481 |
+
}, Zoom)
|
7482 |
+
});
|
7483 |
+
var scale = 1;
|
7484 |
+
Object.defineProperty(swiper.zoom, 'scale', {
|
7485 |
+
get: function get() {
|
7486 |
+
return scale;
|
7487 |
+
},
|
7488 |
+
set: function set(value) {
|
7489 |
+
if (scale !== value) {
|
7490 |
+
var imageEl = swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0] : undefined;
|
7491 |
+
var slideEl = swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0] : undefined;
|
7492 |
+
swiper.emit('zoomChange', value, imageEl, slideEl);
|
7493 |
+
}
|
7494 |
+
|
7495 |
+
scale = value;
|
7496 |
+
}
|
7497 |
+
});
|
7498 |
+
},
|
7499 |
+
on: {
|
7500 |
+
init: function init(swiper) {
|
7501 |
+
if (swiper.params.zoom.enabled) {
|
7502 |
+
swiper.zoom.enable();
|
7503 |
+
}
|
7504 |
+
},
|
7505 |
+
destroy: function destroy(swiper) {
|
7506 |
+
swiper.zoom.disable();
|
7507 |
+
},
|
7508 |
+
touchStart: function touchStart(swiper, e) {
|
7509 |
+
if (!swiper.zoom.enabled) return;
|
7510 |
+
swiper.zoom.onTouchStart(e);
|
7511 |
+
},
|
7512 |
+
touchEnd: function touchEnd(swiper, e) {
|
7513 |
+
if (!swiper.zoom.enabled) return;
|
7514 |
+
swiper.zoom.onTouchEnd(e);
|
7515 |
+
},
|
7516 |
+
doubleTap: function doubleTap(swiper, e) {
|
7517 |
+
if (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {
|
7518 |
+
swiper.zoom.toggle(e);
|
7519 |
+
}
|
7520 |
+
},
|
7521 |
+
transitionEnd: function transitionEnd(swiper) {
|
7522 |
+
if (swiper.zoom.enabled && swiper.params.zoom.enabled) {
|
7523 |
+
swiper.zoom.onTransitionEnd();
|
7524 |
+
}
|
7525 |
+
},
|
7526 |
+
slideChange: function slideChange(swiper) {
|
7527 |
+
if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {
|
7528 |
+
swiper.zoom.onTransitionEnd();
|
7529 |
+
}
|
7530 |
+
}
|
7531 |
+
}
|
7532 |
+
};
|
7533 |
+
|
7534 |
+
var Lazy = {
|
7535 |
+
loadInSlide: function loadInSlide(index, loadInDuplicate) {
|
7536 |
+
if (loadInDuplicate === void 0) {
|
7537 |
+
loadInDuplicate = true;
|
7538 |
+
}
|
7539 |
+
|
7540 |
+
var swiper = this;
|
7541 |
+
var params = swiper.params.lazy;
|
7542 |
+
if (typeof index === 'undefined') return;
|
7543 |
+
if (swiper.slides.length === 0) return;
|
7544 |
+
var isVirtual = swiper.virtual && swiper.params.virtual.enabled;
|
7545 |
+
var $slideEl = isVirtual ? swiper.$wrapperEl.children("." + swiper.params.slideClass + "[data-swiper-slide-index=\"" + index + "\"]") : swiper.slides.eq(index);
|
7546 |
+
var $images = $slideEl.find("." + params.elementClass + ":not(." + params.loadedClass + "):not(." + params.loadingClass + ")");
|
7547 |
+
|
7548 |
+
if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {
|
7549 |
+
$images.push($slideEl[0]);
|
7550 |
+
}
|
7551 |
+
|
7552 |
+
if ($images.length === 0) return;
|
7553 |
+
$images.each(function (imageEl) {
|
7554 |
+
var $imageEl = $(imageEl);
|
7555 |
+
$imageEl.addClass(params.loadingClass);
|
7556 |
+
var background = $imageEl.attr('data-background');
|
7557 |
+
var src = $imageEl.attr('data-src');
|
7558 |
+
var srcset = $imageEl.attr('data-srcset');
|
7559 |
+
var sizes = $imageEl.attr('data-sizes');
|
7560 |
+
var $pictureEl = $imageEl.parent('picture');
|
7561 |
+
swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, function () {
|
7562 |
+
if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;
|
7563 |
+
|
7564 |
+
if (background) {
|
7565 |
+
$imageEl.css('background-image', "url(\"" + background + "\")");
|
7566 |
+
$imageEl.removeAttr('data-background');
|
7567 |
+
} else {
|
7568 |
+
if (srcset) {
|
7569 |
+
$imageEl.attr('srcset', srcset);
|
7570 |
+
$imageEl.removeAttr('data-srcset');
|
7571 |
+
}
|
7572 |
+
|
7573 |
+
if (sizes) {
|
7574 |
+
$imageEl.attr('sizes', sizes);
|
7575 |
+
$imageEl.removeAttr('data-sizes');
|
7576 |
+
}
|
7577 |
+
|
7578 |
+
if ($pictureEl.length) {
|
7579 |
+
$pictureEl.children('source').each(function (sourceEl) {
|
7580 |
+
var $source = $(sourceEl);
|
7581 |
+
|
7582 |
+
if ($source.attr('data-srcset')) {
|
7583 |
+
$source.attr('srcset', $source.attr('data-srcset'));
|
7584 |
+
$source.removeAttr('data-srcset');
|
7585 |
+
}
|
7586 |
+
});
|
7587 |
+
}
|
7588 |
+
|
7589 |
+
if (src) {
|
7590 |
+
$imageEl.attr('src', src);
|
7591 |
+
$imageEl.removeAttr('data-src');
|
7592 |
+
}
|
7593 |
+
}
|
7594 |
+
|
7595 |
+
$imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);
|
7596 |
+
$slideEl.find("." + params.preloaderClass).remove();
|
7597 |
+
|
7598 |
+
if (swiper.params.loop && loadInDuplicate) {
|
7599 |
+
var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');
|
7600 |
+
|
7601 |
+
if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {
|
7602 |
+
var originalSlide = swiper.$wrapperEl.children("[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]:not(." + swiper.params.slideDuplicateClass + ")");
|
7603 |
+
swiper.lazy.loadInSlide(originalSlide.index(), false);
|
7604 |
+
} else {
|
7605 |
+
var duplicatedSlide = swiper.$wrapperEl.children("." + swiper.params.slideDuplicateClass + "[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]");
|
7606 |
+
swiper.lazy.loadInSlide(duplicatedSlide.index(), false);
|
7607 |
+
}
|
7608 |
+
}
|
7609 |
+
|
7610 |
+
swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);
|
7611 |
+
|
7612 |
+
if (swiper.params.autoHeight) {
|
7613 |
+
swiper.updateAutoHeight();
|
7614 |
+
}
|
7615 |
+
});
|
7616 |
+
swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);
|
7617 |
+
});
|
7618 |
+
},
|
7619 |
+
load: function load() {
|
7620 |
+
var swiper = this;
|
7621 |
+
var $wrapperEl = swiper.$wrapperEl,
|
7622 |
+
swiperParams = swiper.params,
|
7623 |
+
slides = swiper.slides,
|
7624 |
+
activeIndex = swiper.activeIndex;
|
7625 |
+
var isVirtual = swiper.virtual && swiperParams.virtual.enabled;
|
7626 |
+
var params = swiperParams.lazy;
|
7627 |
+
var slidesPerView = swiperParams.slidesPerView;
|
7628 |
+
|
7629 |
+
if (slidesPerView === 'auto') {
|
7630 |
+
slidesPerView = 0;
|
7631 |
+
}
|
7632 |
+
|
7633 |
+
function slideExist(index) {
|
7634 |
+
if (isVirtual) {
|
7635 |
+
if ($wrapperEl.children("." + swiperParams.slideClass + "[data-swiper-slide-index=\"" + index + "\"]").length) {
|
7636 |
+
return true;
|
7637 |
+
}
|
7638 |
+
} else if (slides[index]) return true;
|
7639 |
+
|
7640 |
+
return false;
|
7641 |
+
}
|
7642 |
+
|
7643 |
+
function slideIndex(slideEl) {
|
7644 |
+
if (isVirtual) {
|
7645 |
+
return $(slideEl).attr('data-swiper-slide-index');
|
7646 |
+
}
|
7647 |
+
|
7648 |
+
return $(slideEl).index();
|
7649 |
+
}
|
7650 |
+
|
7651 |
+
if (!swiper.lazy.initialImageLoaded) swiper.lazy.initialImageLoaded = true;
|
7652 |
+
|
7653 |
+
if (swiper.params.watchSlidesVisibility) {
|
7654 |
+
$wrapperEl.children("." + swiperParams.slideVisibleClass).each(function (slideEl) {
|
7655 |
+
var index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();
|
7656 |
+
swiper.lazy.loadInSlide(index);
|
7657 |
+
});
|
7658 |
+
} else if (slidesPerView > 1) {
|
7659 |
+
for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {
|
7660 |
+
if (slideExist(i)) swiper.lazy.loadInSlide(i);
|
7661 |
+
}
|
7662 |
+
} else {
|
7663 |
+
swiper.lazy.loadInSlide(activeIndex);
|
7664 |
+
}
|
7665 |
+
|
7666 |
+
if (params.loadPrevNext) {
|
7667 |
+
if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {
|
7668 |
+
var amount = params.loadPrevNextAmount;
|
7669 |
+
var spv = slidesPerView;
|
7670 |
+
var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);
|
7671 |
+
var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides
|
7672 |
+
|
7673 |
+
for (var _i = activeIndex + slidesPerView; _i < maxIndex; _i += 1) {
|
7674 |
+
if (slideExist(_i)) swiper.lazy.loadInSlide(_i);
|
7675 |
+
} // Prev Slides
|
7676 |
+
|
7677 |
+
|
7678 |
+
for (var _i2 = minIndex; _i2 < activeIndex; _i2 += 1) {
|
7679 |
+
if (slideExist(_i2)) swiper.lazy.loadInSlide(_i2);
|
7680 |
+
}
|
7681 |
+
} else {
|
7682 |
+
var nextSlide = $wrapperEl.children("." + swiperParams.slideNextClass);
|
7683 |
+
if (nextSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(nextSlide));
|
7684 |
+
var prevSlide = $wrapperEl.children("." + swiperParams.slidePrevClass);
|
7685 |
+
if (prevSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(prevSlide));
|
7686 |
+
}
|
7687 |
+
}
|
7688 |
+
}
|
7689 |
+
};
|
7690 |
+
var Lazy$1 = {
|
7691 |
+
name: 'lazy',
|
7692 |
+
params: {
|
7693 |
+
lazy: {
|
7694 |
+
enabled: false,
|
7695 |
+
loadPrevNext: false,
|
7696 |
+
loadPrevNextAmount: 1,
|
7697 |
+
loadOnTransitionStart: false,
|
7698 |
+
elementClass: 'swiper-lazy',
|
7699 |
+
loadingClass: 'swiper-lazy-loading',
|
7700 |
+
loadedClass: 'swiper-lazy-loaded',
|
7701 |
+
preloaderClass: 'swiper-lazy-preloader'
|
7702 |
+
}
|
7703 |
+
},
|
7704 |
+
create: function create() {
|
7705 |
+
var swiper = this;
|
7706 |
+
bindModuleMethods(swiper, {
|
7707 |
+
lazy: _extends({
|
7708 |
+
initialImageLoaded: false
|
7709 |
+
}, Lazy)
|
7710 |
+
});
|
7711 |
+
},
|
7712 |
+
on: {
|
7713 |
+
beforeInit: function beforeInit(swiper) {
|
7714 |
+
if (swiper.params.lazy.enabled && swiper.params.preloadImages) {
|
7715 |
+
swiper.params.preloadImages = false;
|
7716 |
+
}
|
7717 |
+
},
|
7718 |
+
init: function init(swiper) {
|
7719 |
+
if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {
|
7720 |
+
swiper.lazy.load();
|
7721 |
+
}
|
7722 |
+
},
|
7723 |
+
scroll: function scroll(swiper) {
|
7724 |
+
if (swiper.params.freeMode && !swiper.params.freeModeSticky) {
|
7725 |
+
swiper.lazy.load();
|
7726 |
+
}
|
7727 |
+
},
|
7728 |
+
resize: function resize(swiper) {
|
7729 |
+
if (swiper.params.lazy.enabled) {
|
7730 |
+
swiper.lazy.load();
|
7731 |
+
}
|
7732 |
+
},
|
7733 |
+
scrollbarDragMove: function scrollbarDragMove(swiper) {
|
7734 |
+
if (swiper.params.lazy.enabled) {
|
7735 |
+
swiper.lazy.load();
|
7736 |
+
}
|
7737 |
+
},
|
7738 |
+
transitionStart: function transitionStart(swiper) {
|
7739 |
+
if (swiper.params.lazy.enabled) {
|
7740 |
+
if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded) {
|
7741 |
+
swiper.lazy.load();
|
7742 |
+
}
|
7743 |
+
}
|
7744 |
+
},
|
7745 |
+
transitionEnd: function transitionEnd(swiper) {
|
7746 |
+
if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {
|
7747 |
+
swiper.lazy.load();
|
7748 |
+
}
|
7749 |
+
},
|
7750 |
+
slideChange: function slideChange(swiper) {
|
7751 |
+
if (swiper.params.lazy.enabled && swiper.params.cssMode) {
|
7752 |
+
swiper.lazy.load();
|
7753 |
+
}
|
7754 |
+
}
|
7755 |
+
}
|
7756 |
+
};
|
7757 |
+
|
7758 |
+
var Controller = {
|
7759 |
+
LinearSpline: function LinearSpline(x, y) {
|
7760 |
+
var binarySearch = function search() {
|
7761 |
+
var maxIndex;
|
7762 |
+
var minIndex;
|
7763 |
+
var guess;
|
7764 |
+
return function (array, val) {
|
7765 |
+
minIndex = -1;
|
7766 |
+
maxIndex = array.length;
|
7767 |
+
|
7768 |
+
while (maxIndex - minIndex > 1) {
|
7769 |
+
guess = maxIndex + minIndex >> 1;
|
7770 |
+
|
7771 |
+
if (array[guess] <= val) {
|
7772 |
+
minIndex = guess;
|
7773 |
+
} else {
|
7774 |
+
maxIndex = guess;
|
7775 |
+
}
|
7776 |
+
}
|
7777 |
+
|
7778 |
+
return maxIndex;
|
7779 |
+
};
|
7780 |
+
}();
|
7781 |
+
|
7782 |
+
this.x = x;
|
7783 |
+
this.y = y;
|
7784 |
+
this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:
|
7785 |
+
// (x1,y1) is the known point before given value,
|
7786 |
+
// (x3,y3) is the known point after given value.
|
7787 |
+
|
7788 |
+
var i1;
|
7789 |
+
var i3;
|
7790 |
+
|
7791 |
+
this.interpolate = function interpolate(x2) {
|
7792 |
+
if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):
|
7793 |
+
|
7794 |
+
i3 = binarySearch(this.x, x2);
|
7795 |
+
i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:
|
7796 |
+
// y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1
|
7797 |
+
|
7798 |
+
return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];
|
7799 |
+
};
|
7800 |
+
|
7801 |
+
return this;
|
7802 |
+
},
|
7803 |
+
// xxx: for now i will just save one spline function to to
|
7804 |
+
getInterpolateFunction: function getInterpolateFunction(c) {
|
7805 |
+
var swiper = this;
|
7806 |
+
|
7807 |
+
if (!swiper.controller.spline) {
|
7808 |
+
swiper.controller.spline = swiper.params.loop ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid) : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);
|
7809 |
+
}
|
7810 |
+
},
|
7811 |
+
setTranslate: function setTranslate(_setTranslate, byController) {
|
7812 |
+
var swiper = this;
|
7813 |
+
var controlled = swiper.controller.control;
|
7814 |
+
var multiplier;
|
7815 |
+
var controlledTranslate;
|
7816 |
+
var Swiper = swiper.constructor;
|
7817 |
+
|
7818 |
+
function setControlledTranslate(c) {
|
7819 |
+
// this will create an Interpolate function based on the snapGrids
|
7820 |
+
// x is the Grid of the scrolled scroller and y will be the controlled scroller
|
7821 |
+
// it makes sense to create this only once and recall it for the interpolation
|
7822 |
+
// the function does a lot of value caching for performance
|
7823 |
+
var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;
|
7824 |
+
|
7825 |
+
if (swiper.params.controller.by === 'slide') {
|
7826 |
+
swiper.controller.getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid
|
7827 |
+
// but it did not work out
|
7828 |
+
|
7829 |
+
controlledTranslate = -swiper.controller.spline.interpolate(-translate);
|
7830 |
+
}
|
7831 |
+
|
7832 |
+
if (!controlledTranslate || swiper.params.controller.by === 'container') {
|
7833 |
+
multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
|
7834 |
+
controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();
|
7835 |
+
}
|
7836 |
+
|
7837 |
+
if (swiper.params.controller.inverse) {
|
7838 |
+
controlledTranslate = c.maxTranslate() - controlledTranslate;
|
7839 |
+
}
|
7840 |
+
|
7841 |
+
c.updateProgress(controlledTranslate);
|
7842 |
+
c.setTranslate(controlledTranslate, swiper);
|
7843 |
+
c.updateActiveIndex();
|
7844 |
+
c.updateSlidesClasses();
|
7845 |
+
}
|
7846 |
+
|
7847 |
+
if (Array.isArray(controlled)) {
|
7848 |
+
for (var i = 0; i < controlled.length; i += 1) {
|
7849 |
+
if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
|
7850 |
+
setControlledTranslate(controlled[i]);
|
7851 |
+
}
|
7852 |
+
}
|
7853 |
+
} else if (controlled instanceof Swiper && byController !== controlled) {
|
7854 |
+
setControlledTranslate(controlled);
|
7855 |
+
}
|
7856 |
+
},
|
7857 |
+
setTransition: function setTransition(duration, byController) {
|
7858 |
+
var swiper = this;
|
7859 |
+
var Swiper = swiper.constructor;
|
7860 |
+
var controlled = swiper.controller.control;
|
7861 |
+
var i;
|
7862 |
+
|
7863 |
+
function setControlledTransition(c) {
|
7864 |
+
c.setTransition(duration, swiper);
|
7865 |
+
|
7866 |
+
if (duration !== 0) {
|
7867 |
+
c.transitionStart();
|
7868 |
+
|
7869 |
+
if (c.params.autoHeight) {
|
7870 |
+
nextTick(function () {
|
7871 |
+
c.updateAutoHeight();
|
7872 |
+
});
|
7873 |
+
}
|
7874 |
+
|
7875 |
+
c.$wrapperEl.transitionEnd(function () {
|
7876 |
+
if (!controlled) return;
|
7877 |
+
|
7878 |
+
if (c.params.loop && swiper.params.controller.by === 'slide') {
|
7879 |
+
c.loopFix();
|
7880 |
+
}
|
7881 |
+
|
7882 |
+
c.transitionEnd();
|
7883 |
+
});
|
7884 |
+
}
|
7885 |
+
}
|
7886 |
+
|
7887 |
+
if (Array.isArray(controlled)) {
|
7888 |
+
for (i = 0; i < controlled.length; i += 1) {
|
7889 |
+
if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
|
7890 |
+
setControlledTransition(controlled[i]);
|
7891 |
+
}
|
7892 |
+
}
|
7893 |
+
} else if (controlled instanceof Swiper && byController !== controlled) {
|
7894 |
+
setControlledTransition(controlled);
|
7895 |
+
}
|
7896 |
+
}
|
7897 |
+
};
|
7898 |
+
var Controller$1 = {
|
7899 |
+
name: 'controller',
|
7900 |
+
params: {
|
7901 |
+
controller: {
|
7902 |
+
control: undefined,
|
7903 |
+
inverse: false,
|
7904 |
+
by: 'slide' // or 'container'
|
7905 |
+
|
7906 |
+
}
|
7907 |
+
},
|
7908 |
+
create: function create() {
|
7909 |
+
var swiper = this;
|
7910 |
+
bindModuleMethods(swiper, {
|
7911 |
+
controller: _extends({
|
7912 |
+
control: swiper.params.controller.control
|
7913 |
+
}, Controller)
|
7914 |
+
});
|
7915 |
+
},
|
7916 |
+
on: {
|
7917 |
+
update: function update(swiper) {
|
7918 |
+
if (!swiper.controller.control) return;
|
7919 |
+
|
7920 |
+
if (swiper.controller.spline) {
|
7921 |
+
swiper.controller.spline = undefined;
|
7922 |
+
delete swiper.controller.spline;
|
7923 |
+
}
|
7924 |
+
},
|
7925 |
+
resize: function resize(swiper) {
|
7926 |
+
if (!swiper.controller.control) return;
|
7927 |
+
|
7928 |
+
if (swiper.controller.spline) {
|
7929 |
+
swiper.controller.spline = undefined;
|
7930 |
+
delete swiper.controller.spline;
|
7931 |
+
}
|
7932 |
+
},
|
7933 |
+
observerUpdate: function observerUpdate(swiper) {
|
7934 |
+
if (!swiper.controller.control) return;
|
7935 |
+
|
7936 |
+
if (swiper.controller.spline) {
|
7937 |
+
swiper.controller.spline = undefined;
|
7938 |
+
delete swiper.controller.spline;
|
7939 |
+
}
|
7940 |
+
},
|
7941 |
+
setTranslate: function setTranslate(swiper, translate, byController) {
|
7942 |
+
if (!swiper.controller.control) return;
|
7943 |
+
swiper.controller.setTranslate(translate, byController);
|
7944 |
+
},
|
7945 |
+
setTransition: function setTransition(swiper, duration, byController) {
|
7946 |
+
if (!swiper.controller.control) return;
|
7947 |
+
swiper.controller.setTransition(duration, byController);
|
7948 |
+
}
|
7949 |
+
}
|
7950 |
+
};
|
7951 |
+
|
7952 |
+
var A11y = {
|
7953 |
+
getRandomNumber: function getRandomNumber(size) {
|
7954 |
+
if (size === void 0) {
|
7955 |
+
size = 16;
|
7956 |
+
}
|
7957 |
+
|
7958 |
+
var randomChar = function randomChar() {
|
7959 |
+
return Math.round(16 * Math.random()).toString(16);
|
7960 |
+
};
|
7961 |
+
|
7962 |
+
return 'x'.repeat(size).replace(/x/g, randomChar);
|
7963 |
+
},
|
7964 |
+
makeElFocusable: function makeElFocusable($el) {
|
7965 |
+
$el.attr('tabIndex', '0');
|
7966 |
+
return $el;
|
7967 |
+
},
|
7968 |
+
makeElNotFocusable: function makeElNotFocusable($el) {
|
7969 |
+
$el.attr('tabIndex', '-1');
|
7970 |
+
return $el;
|
7971 |
+
},
|
7972 |
+
addElRole: function addElRole($el, role) {
|
7973 |
+
$el.attr('role', role);
|
7974 |
+
return $el;
|
7975 |
+
},
|
7976 |
+
addElRoleDescription: function addElRoleDescription($el, description) {
|
7977 |
+
$el.attr('aria-role-description', description);
|
7978 |
+
return $el;
|
7979 |
+
},
|
7980 |
+
addElControls: function addElControls($el, controls) {
|
7981 |
+
$el.attr('aria-controls', controls);
|
7982 |
+
return $el;
|
7983 |
+
},
|
7984 |
+
addElLabel: function addElLabel($el, label) {
|
7985 |
+
$el.attr('aria-label', label);
|
7986 |
+
return $el;
|
7987 |
+
},
|
7988 |
+
addElId: function addElId($el, id) {
|
7989 |
+
$el.attr('id', id);
|
7990 |
+
return $el;
|
7991 |
+
},
|
7992 |
+
addElLive: function addElLive($el, live) {
|
7993 |
+
$el.attr('aria-live', live);
|
7994 |
+
return $el;
|
7995 |
+
},
|
7996 |
+
disableEl: function disableEl($el) {
|
7997 |
+
$el.attr('aria-disabled', true);
|
7998 |
+
return $el;
|
7999 |
+
},
|
8000 |
+
enableEl: function enableEl($el) {
|
8001 |
+
$el.attr('aria-disabled', false);
|
8002 |
+
return $el;
|
8003 |
+
},
|
8004 |
+
onEnterKey: function onEnterKey(e) {
|
8005 |
+
var sw
|