From 61e2488f060327ce4bf0695016b75dbafde78897 Mon Sep 17 00:00:00 2001 From: Rene Date: Sun, 23 Jun 2019 22:01:50 +0200 Subject: [PATCH] version 1.7.3 --- css/OverlayScrollbars.css | 4 +- css/OverlayScrollbars.min.css | 4 +- js/OverlayScrollbars.js | 160 ++++++++++++++++------------- js/OverlayScrollbars.min.js | 6 +- js/jquery.overlayScrollbars.js | 160 ++++++++++++++++------------- js/jquery.overlayScrollbars.min.js | 6 +- package.json | 2 +- 7 files changed, 191 insertions(+), 151 deletions(-) diff --git a/css/OverlayScrollbars.css b/css/OverlayScrollbars.css index 7c7fbe6..cbe232f 100644 --- a/css/OverlayScrollbars.css +++ b/css/OverlayScrollbars.css @@ -2,13 +2,13 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.7.2 + * Version: 1.7.3 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 10.06.2019 + * Date: 23.06.2019 */ /* diff --git a/css/OverlayScrollbars.min.css b/css/OverlayScrollbars.min.css index 8821ec0..02f819f 100644 --- a/css/OverlayScrollbars.min.css +++ b/css/OverlayScrollbars.min.css @@ -2,12 +2,12 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.7.2 + * Version: 1.7.3 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 10.06.2019 + * Date: 23.06.2019 */ html.os-html,html.os-html>.os-host{display:block;overflow:hidden;box-sizing:border-box;height:100%!important;width:100%!important;min-width:100%!important;min-height:100%!important;margin:0!important;position:absolute!important}html.os-html>.os-host>.os-padding{position:absolute}body.os-dragging,body.os-dragging *{cursor:default}.os-host,.os-host-textarea{position:relative;overflow:visible!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.os-host-flexbox{overflow:hidden!important;display:-webkit-box;display:-ms-flexbox;display:flex}.os-host-flexbox>.os-size-auto-observer{height:inherit!important}.os-host-flexbox>.os-content-glue{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:0;flex-shrink:0}.os-host-flexbox>.os-size-auto-observer,.os-host-flexbox>.os-content-glue{min-height:0;min-width:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:1;flex-shrink:1;-ms-flex-preferred-size:auto;flex-basis:auto}#os-dummy-scrollbar-size{position:fixed;opacity:0;-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';visibility:hidden;overflow:scroll;height:500px;width:500px}#os-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}#os-dummy-scrollbar-size,.os-viewport{-ms-overflow-style:scrollbar!important}.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size,.os-viewport-native-scrollbars-invisible.os-viewport{scrollbar-width:none!important}.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar,.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar,.os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar-corner,.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner{display:none!important;width:0px!important;height:0px!important;visibility:hidden!important;background:transparent!important}.os-content-glue{box-sizing:inherit;max-height:100%;max-width:100%;width:100%;pointer-events:none}.os-padding{box-sizing:inherit;direction:inherit;position:absolute;overflow:visible;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:1}.os-host-overflow>.os-padding{overflow:hidden}.os-viewport{direction:inherit!important;box-sizing:inherit!important;resize:none!important;outline:none!important;position:absolute;overflow:hidden;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.os-content-arrange{position:absolute;z-index:-1;min-height:1px;min-width:1px;pointer-events:none}.os-content{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:100%;height:100%;width:100%;visibility:visible}.os-content:before,.os-content:after{content:'';display:table;width:0;height:0;line-height:0;font-size:0}.os-content>.os-textarea{box-sizing:border-box!important;direction:inherit!important;background:transparent!important;outline:0 none transparent!important;overflow:hidden!important;position:absolute!important;display:block!important;top:0!important;left:0!important;margin:0!important;border-radius:0px!important;float:none!important;-webkit-filter:none!important;filter:none!important;border:none!important;resize:none!important;-webkit-transform:none!important;transform:none!important;max-width:none!important;max-height:none!important;box-shadow:none!important;-webkit-perspective:none!important;perspective:none!important;opacity:1!important;z-index:1!important;clip:auto!important;vertical-align:baseline!important;padding:0}.os-host-rtl>.os-padding>.os-viewport>.os-content>.os-textarea{right:0!important}.os-content>.os-textarea-cover{z-index:-1;pointer-events:none}.os-content>.os-textarea[wrap='off']{white-space:pre!important;margin:0px!important}.os-text-inherit{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;font-variant:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-align:inherit;text-shadow:inherit;text-overflow:inherit;letter-spacing:inherit;word-spacing:inherit;line-height:inherit;unicode-bidi:inherit;direction:inherit;color:inherit;cursor:text}.os-resize-observer,.os-resize-observer-host{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.os-resize-observer-host{padding:inherit;border:inherit;border-color:transparent;border-style:solid;box-sizing:border-box}.os-resize-observer-host:after{content:''}.os-resize-observer-host>.os-resize-observer,.os-resize-observer-host:after{height:200%;width:200%;padding:inherit;border:inherit;margin:0;display:block;box-sizing:content-box}.os-resize-observer.observed,object.os-resize-observer{box-sizing:border-box!important}.os-size-auto-observer{box-sizing:inherit!important;height:100%;width:inherit;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;-webkit-box-flex:inherit;-ms-flex-positive:inherit;flex-grow:inherit;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:0;flex-basis:0%}.os-size-auto-observer>.os-resize-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-resize-observer-item{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:-1;opacity:0;direction:ltr!important;-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}.os-resize-observer-item-final{position:absolute;left:0;top:0;-webkit-transition:none!important;transition:none!important;-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}.os-resize-observer{-webkit-animation-duration:0.001s;animation-duration:0.001s;-webkit-animation-name:hs-resize-observer-dummy-animation;animation-name:hs-resize-observer-dummy-animation}.os-host-transition>.os-scrollbar,.os-host-transition>.os-scrollbar-corner{-webkit-transition:opacity 0.3s,visibility 0.3s,top 0.3s,right 0.3s,bottom 0.3s,left 0.3s;transition:opacity 0.3s,visibility 0.3s,top 0.3s,right 0.3s,bottom 0.3s,left 0.3s}html.os-html>.os-host>.os-scrollbar{position:absolute;z-index:999999}.os-scrollbar,.os-scrollbar-corner{position:absolute;opacity:1;-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';z-index:1}.os-scrollbar-corner{bottom:0;right:0}.os-scrollbar{pointer-events:none}.os-scrollbar-track{pointer-events:auto;position:relative;height:100%;width:100%;padding:0!important;border:none!important}.os-scrollbar-handle{pointer-events:auto;position:absolute;width:100%;height:100%}.os-scrollbar-handle-off,.os-scrollbar-track-off{pointer-events:none}.os-scrollbar.os-scrollbar-unusable,.os-scrollbar.os-scrollbar-unusable *{pointer-events:none!important}.os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-host-rtl>.os-scrollbar-horizontal{right:0}.os-host-rtl>.os-scrollbar-vertical{right:auto;left:0}.os-host-rtl>.os-scrollbar-corner{right:auto;left:0}.os-scrollbar-auto-hidden,.os-padding + .os-scrollbar-corner,.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-corner,.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal,.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-corner,.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical,.os-scrollbar-horizontal.os-scrollbar-auto-hidden + .os-scrollbar-vertical + .os-scrollbar-corner,.os-scrollbar-horizontal + .os-scrollbar-vertical.os-scrollbar-auto-hidden + .os-scrollbar-corner,.os-scrollbar-horizontal.os-scrollbar-auto-hidden + .os-scrollbar-vertical.os-scrollbar-auto-hidden + .os-scrollbar-corner{opacity:0;visibility:hidden;pointer-events:none}.os-scrollbar-corner-resize-both{cursor:nwse-resize}.os-host-rtl>.os-scrollbar-corner-resize-both{cursor:nesw-resize}.os-scrollbar-corner-resize-horizontal{cursor:ew-resize}.os-scrollbar-corner-resize-vertical{cursor:ns-resize}.os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize{cursor:default}.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical{top:0;bottom:0}.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal,.os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal{right:0;left:0}.os-scrollbar:hover,.os-scrollbar-corner.os-scrollbar-corner-resize{opacity:1!important;visibility:visible!important}.os-scrollbar-corner.os-scrollbar-corner-resize{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB3aWR0aD0iMTAiICAgaGVpZ2h0PSIxMCIgICB2ZXJzaW9uPSIxLjEiPiAgPGcgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEwNDIuMzYyMikiICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eTowLjQ5NDExNzY1O2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDcuNDI0MjE4NywxMDQyLjM2MjIgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjYgLTEuMzEwMTU2MiwxLjMxMDIgMCwwLjI5OSAwLjEwNDM0MTksMC41NzEgMC4yNzI5NDkyLDAuNzkxNSAwLjIwOTEwMjQsMC4xNDEzIDAuNDY1NjIwNiwwLjIxODQgMC43MzY5NjI5LDAuMjE4NCAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NiAxLjMxMDE1NjMsLTEuMzEwMiAwLC0wLjI3MTMgLTAuMDc3MDkzLC0wLjUyNzggLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0MSwtMC4xNjg2IC0wLjQ5MjU0NDMsLTAuMjcyOSAtMC43OTE1NTI4LC0wLjI3MjkgeiBtIDAsMy4wODQzIGMgLTAuNzIzNTc5MiwwIC0xLjMxMDE1NjIsMC41ODY2IC0xLjMxMDE1NjIsMS4zMTAyIDAsMC4yOTkgMC4xMDQzNDE5LDAuNTcxIDAuMjcyOTQ5MiwwLjc5MTUgMC4yMDkxMDI0LDAuMTQxMyAwLjQ2NTYyMDYsMC4yMTg0IDAuNzM2OTYyOSwwLjIxODQgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjYgMS4zMTAxNTYzLC0xLjMxMDIgMCwtMC4yNzEzIC0wLjA3NzA5MywtMC41Mjc4IC0wLjIxODM1OTQsLTAuNzM2OSAtMC4yMjA0OTQxLC0wLjE2ODYgLTAuNDkyNTQ0MywtMC4yNzMgLTAuNzkxNTUyOCwtMC4yNzMgeiBtIC0zLjA4NDMyNjEsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NiAtMS4zMTAxNTYzLDEuMzEwMiAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MSAwLjI3Mjk0OTIsMC43OTE1IDAuMjA5MTAyNCwwLjE0MTMgMC40NjU2MjA3LDAuMjE4NCAwLjczNjk2MjksMC4yMTg0IDAuNzIzNTc5MywwIDEuMzEwMTU2MywtMC41ODY2IDEuMzEwMTU2MywtMS4zMTAyIDAsLTAuMjcxMyAtMC4wNzcwOTMsLTAuNTI3OCAtMC4yMTgzNTk0LC0wLjczNjkgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzMgLTAuNzkxNTUyNywtMC4yNzMgeiBtIC0zLjAyOTczNjQsMy4wMjk4IEMgMC41ODY1NzY5MywxMDQ4LjQ3NjMgMCwxMDQ5LjA2MjggMCwxMDQ5Ljc4NjQgYyAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyMiwwLjc5MTYgMC4yMDkxMDIyOSwwLjE0MTIgMC40NjU2MjA2NSwwLjIxODMgMC43MzY5NjI4OCwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHogbSAzLjAyOTczNjQsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NSAtMS4zMTAxNTYzLDEuMzEwMSAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyLDAuNzkxNiAwLjIwOTEwMjQsMC4xNDEyIDAuNDY1NjIwNywwLjIxODMgMC43MzY5NjI5LDAuMjE4MyAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NSAxLjMxMDE1NjMsLTEuMzEwMSAwLC0wLjI3MTQgLTAuMDc3MDkzLC0wLjUyNzkgLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzI5IC0wLjc5MTU1MjcsLTAuMjcyOSB6IG0gMy4wODQzMjYxLDAgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjUgLTEuMzEwMTU2MiwxLjMxMDEgMCwwLjI5OSAwLjEwNDM0MTksMC41NzExIDAuMjcyOTQ5MiwwLjc5MTYgMC4yMDkxMDI0LDAuMTQxMiAwLjQ2NTYyMDYsMC4yMTgzIDAuNzM2OTYyOSwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHoiLz4gIDwvZz4gIDxnICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDguMjE1NzcxNSwwLjI3Mjk0OTIyIGMgMC4xNDEyNjY3LDAuMjA5MTAyMjkgMC4yMTgzNTk0LDAuNDY1NjIwNjUgMC4yMTgzNTk0LDAuNzM2OTYyODggMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDc2IC0wLjIwNTUxNzYsLTAuNzk3Nzk2NTkgLTAuNTE4NjAzNSwtMS4wMzcyMDY5OCB6IG0gMCwzLjA4NDMyNjE4IGMgMC4xNDEyNjY3LDAuMjA5MTAyMyAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MiAtMS4zMTAxNTYzLDEuMzEwMTU2MiAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTkzIDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAtMy4wODQzMjYyLDAgYyAwLjE0MTI2NjcsMC4yMDkxMDIzIDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYyIC0xLjMxMDE1NjMsMS4zMTAxNTYyIC0wLjI3MTM0MjIsMCAtMC41Mjc4NjA1LC0wLjA3NzA5MyAtMC43MzY5NjI5LC0wLjIxODM1OTMgMC4yMzk0MTA0LDAuMzEzMDg1OSAwLjYxMjYzNjMsMC41MTg2MDM1IDEuMDM3MjA3MSwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYyLC0wLjU4NjU3NyAxLjMxMDE1NjIsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NSwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogTSAyLjEwMTcwOSw2LjM4NzAxMTcgYyAwLjE0MTI2NjcsMC4yMDkxMDI0IDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYzIC0xLjMxMDE1NjMsMS4zMTAxNTYzIC0wLjI3MTM0MjIzLDAgLTAuNTI3ODYwNTksLTAuMDc3MDkzIC0wLjczNjk2Mjg4LC0wLjIxODM1OTQgMC4yMzk0MTAzOSwwLjMxMzA4NTkgMC42MTI2MzYyMiwwLjUxODYwMzUgMS4wMzcyMDY5OCwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAzLjAyOTczNjMsMCBjIDAuMTQxMjY2NywwLjIwOTEwMjQgMC4yMTgzNTk0LDAuNDY1NjIwNiAwLjIxODM1OTQsMC43MzY5NjI5IDAsMC43MjM1NzkzIC0wLjU4NjU3NywxLjMxMDE1NjMgLTEuMzEwMTU2MywxLjMxMDE1NjMgLTAuMjcxMzQyMiwwIC0wLjUyNzg2MDUsLTAuMDc3MDkzIC0wLjczNjk2MjksLTAuMjE4MzU5NCAwLjIzOTQxMDQsMC4zMTMwODU5IDAuNjEyNjM2MywwLjUxODYwMzUgMS4wMzcyMDcxLDAuNTE4NjAzNSAwLjcyMzU3OTMsMCAxLjMxMDE1NjIsLTAuNTg2NTc3IDEuMzEwMTU2MiwtMS4zMTAxNTYzIDAsLTAuNDI0NTcwOCAtMC4yMDU1MTc1LC0wLjc5Nzc5NjYgLTAuNTE4NjAzNSwtMS4wMzcyMDcgeiBtIDMuMDg0MzI2MiwwIGMgMC4xNDEyNjY3LDAuMjA5MTAyNCAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHoiIC8+ICA8L2c+PC9zdmc+);background-repeat:no-repeat;background-position:100% 100%;pointer-events:auto!important}.os-host-rtl>.os-scrollbar-corner.os-scrollbar-corner-resize{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.os-host-overflow{overflow:hidden!important}@-webkit-keyframes hs-resize-observer-dummy-animation{from{z-index:0}to{z-index:-1}}@keyframes hs-resize-observer-dummy-animation{from{z-index:0}to{z-index:-1}}.os-theme-none>.os-scrollbar-horizontal,.os-theme-none>.os-scrollbar-vertical,.os-theme-none>.os-scrollbar-corner{display:none!important}.os-theme-none>.os-scrollbar-corner-resize{display:block!important;min-width:10px;min-height:10px}.os-theme-dark>.os-scrollbar-horizontal,.os-theme-light>.os-scrollbar-horizontal{right:10px;height:10px}.os-theme-dark>.os-scrollbar-vertical,.os-theme-light>.os-scrollbar-vertical{bottom:10px;width:10px}.os-theme-dark.os-host-rtl>.os-scrollbar-horizontal,.os-theme-light.os-host-rtl>.os-scrollbar-horizontal{left:10px;right:0}.os-theme-dark>.os-scrollbar-corner,.os-theme-light>.os-scrollbar-corner{height:10px;width:10px}.os-theme-dark>.os-scrollbar-corner,.os-theme-light>.os-scrollbar-corner{background-color:transparent}.os-theme-dark>.os-scrollbar,.os-theme-light>.os-scrollbar{padding:2px;box-sizing:border-box;background:transparent}.os-theme-dark>.os-scrollbar.os-scrollbar-unusable,.os-theme-light>.os-scrollbar.os-scrollbar-unusable{background:transparent}.os-theme-dark>.os-scrollbar>.os-scrollbar-track,.os-theme-light>.os-scrollbar>.os-scrollbar-track{background:transparent}.os-theme-dark>.os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle{min-width:30px}.os-theme-dark>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle{min-height:30px}.os-theme-dark.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{-webkit-transition:background-color 0.3s;transition:background-color 0.3s}.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-dark>.os-scrollbar>.os-scrollbar-track,.os-theme-light>.os-scrollbar>.os-scrollbar-track{border-radius:10px}.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(0,0,0,.4)}.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(255,255,255,.4)}.os-theme-dark>.os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(0,0,0,.55)}.os-theme-light>.os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(255,255,255,.55)}.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle.active{background:rgba(0,0,0,.7)}.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle.active{background:rgba(255,255,255,.7)}.os-theme-dark>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{content:'';position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-theme-dark.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-dark.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before{display:none}.os-theme-dark>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-horizontal .os-scrollbar-handle:before{top:-6px;bottom:-2px}.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{left:-6px;right:-2px}.os-host-rtl.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-host-rtl.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{right:-6px;left:-2px} \ No newline at end of file diff --git a/js/OverlayScrollbars.js b/js/OverlayScrollbars.js index fb3e69a..8527ef3 100644 --- a/js/OverlayScrollbars.js +++ b/js/OverlayScrollbars.js @@ -2,13 +2,13 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.7.2 + * Version: 1.7.3 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 10.06.2019 + * Date: 23.06.2019 */ (function (global, factory) { @@ -1665,6 +1665,7 @@ var scrollbarDummyElement = FRAMEWORK('
'); var scrollbarDummyElement0 = scrollbarDummyElement[0]; var dummyContainerChild = FRAMEWORK(scrollbarDummyElement.children('div').eq(0)); + var getCptStyle = window.getComputedStyle; bodyElement.append(scrollbarDummyElement); scrollbarDummyElement.hide().show(); //fix IE8 bug (incorrect measuring) @@ -1689,7 +1690,7 @@ //scrollbarDummyElement.css(strOverflow, strHidden).hide().css(strOverflow, strScroll).show(); //return (scrollbarDummyElement0[LEXICON.oH] - scrollbarDummyElement0[LEXICON.cH]) === 0 && (scrollbarDummyElement0[LEXICON.oW] - scrollbarDummyElement0[LEXICON.cW]) === 0; - return scrollbarDummyElement.css('scrollbar-width') === 'none' || window.getComputedStyle(scrollbarDummyElement0, '::-webkit-scrollbar').getPropertyValue('display') === 'none'; + return scrollbarDummyElement.css('scrollbar-width') === 'none' || (getCptStyle ? getCptStyle(scrollbarDummyElement0, '::-webkit-scrollbar').getPropertyValue('display') === 'none' : false); })(), overlayScrollbarDummySize : { x: 30, y: 30 }, msie : (function() { @@ -2211,6 +2212,8 @@ //MutationObserver: var _mutationObserverHost; var _mutationObserverContent; + var _mutationObserverHostCallback; + var _mutationObserverContentCallback; var _mutationObserversConnected; //textarea: @@ -2520,67 +2523,72 @@ var sizeAuto; var action; - _mutationObserverHost = new mutationObserver(function (mutations) { - if (!_initialized || _isSleeping) - return; - + _mutationObserverHostCallback = function(mutations) { var doUpdate = false; var mutation; - FRAMEWORK.each(mutations, function () { - mutation = this; - mutationTarget = mutation.target; - mutationAttrName = mutation.attributeName; + + if (_initialized && !_isSleeping) { + FRAMEWORK.each(mutations, function () { + mutation = this; + mutationTarget = mutation.target; + mutationAttrName = mutation.attributeName; - if (mutationAttrName === LEXICON.c) - doUpdate = hostClassNamesChanged(mutation.oldValue, mutationTarget.className); - else if (mutationAttrName === LEXICON.s) - doUpdate = mutation.oldValue !== mutationTarget[LEXICON.s].cssText; - else - doUpdate = true; + if (mutationAttrName === LEXICON.c) + doUpdate = hostClassNamesChanged(mutation.oldValue, mutationTarget.className); + else if (mutationAttrName === LEXICON.s) + doUpdate = mutation.oldValue !== mutationTarget[LEXICON.s].cssText; + else + doUpdate = true; + + if (doUpdate) + return false; + }); if (doUpdate) - return false; - }); - - if (doUpdate) - _base.update(_strAuto); - }); - _mutationObserverContent = new mutationObserver(function (mutations) { - if (!_initialized || _isSleeping) - return; - + _base.update(_strAuto); + } + return doUpdate; + }; + _mutationObserverContentCallback = function (mutations) { var doUpdate = false; var mutation; - FRAMEWORK.each(mutations, function () { - mutation = this; - doUpdate = isUnknownMutation(mutation); - return !doUpdate; - }); + + if (_initialized && !_isSleeping) { + FRAMEWORK.each(mutations, function () { + mutation = this; + doUpdate = isUnknownMutation(mutation); + return !doUpdate; + }); - if (doUpdate) { - now = COMPATIBILITY.now(); - sizeAuto = (_heightAutoCache || _widthAutoCache); - action = function () { - if(!_destroyed) { - contentLastUpdate = now; + if (doUpdate) { + now = COMPATIBILITY.now(); + sizeAuto = (_heightAutoCache || _widthAutoCache); + action = function () { + if(!_destroyed) { + contentLastUpdate = now; - //if cols, rows or wrap attr was changed - if (_isTextarea) - textareaUpdate(); + //if cols, rows or wrap attr was changed + if (_isTextarea) + textareaUpdate(); - if (sizeAuto) - update(); - else - _base.update(_strAuto); - } - }; - clearTimeout(contentTimeout); - if (mutationObserverContentLag <= 0 || now - contentLastUpdate > mutationObserverContentLag || !sizeAuto) - action(); - else - contentTimeout = setTimeout(action, mutationObserverContentLag); + if (sizeAuto) + update(); + else + _base.update(_strAuto); + } + }; + clearTimeout(contentTimeout); + if (mutationObserverContentLag <= 0 || now - contentLastUpdate > mutationObserverContentLag || !sizeAuto) + action(); + else + contentTimeout = setTimeout(action, mutationObserverContentLag); + } } - }); + return doUpdate; + } + + _mutationObserverHost = new mutationObserver(_mutationObserverHostCallback); + _mutationObserverContent = new mutationObserver(_mutationObserverContentCallback); } } @@ -2601,7 +2609,7 @@ subtree: !_isTextarea, childList: !_isTextarea, characterData: !_isTextarea, - attributeFilter: _isTextarea ? ['wrap', 'cols', 'rows'] : [LEXICON.i, LEXICON.c, LEXICON.s] + attributeFilter: _isTextarea ? ['wrap', 'cols', 'rows'] : [LEXICON.i, LEXICON.c, LEXICON.s, 'open'] }); _mutationObserversConnected = true; @@ -2620,8 +2628,21 @@ } } + /** + * Disconnects the MutationObservers if they are supported. + * @returns {boolean|undefined} True if the MutationObservers needed to be synchronized, false or undefined otherwise. + */ + function synchronizeMutationObservers() { + if(_mutationObserversConnected) { + var mutHost = _mutationObserverHostCallback(_mutationObserverHost.takeRecords()); + var mutContent = _mutationObserverContentCallback(_mutationObserverContent.takeRecords()); - //==== Events of elements ====// + return mutHost || mutContent; + } + } + + + //==== Events of elements ====// /** * This method gets called every time the host element gets resized. IMPORTANT: Padding changes are detected too!! @@ -2988,7 +3009,7 @@ return sizeIsAffected; } - + //==== Update ====// /** @@ -3057,7 +3078,7 @@ * @param hostSizeChanged True if this method was called due to a host size change. * @param contentSizeChanged True if this method was called due to a content size change. * @param force True if every property shall be updated and the cache shall be ignored. - * @param preventSwallowing True if this method shall be executed event if it could be swallowed. + * @param preventSwallowing True if this method shall be executed even if it could be swallowed. */ function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) { var now = COMPATIBILITY.now(); @@ -4115,7 +4136,7 @@ dispatchCallback("onUpdated", { forced: force }); } - + //==== Options ====// /** @@ -5088,8 +5109,8 @@ function getHostElementInvertedScale() { var rect = _paddingElementNative.getBoundingClientRect(); return { - x : _supportTransform ? 1 / (MATH.round(rect.width) / _paddingElementNative[LEXICON.oW]) : 1, - y : _supportTransform ? 1 / (MATH.round(rect.height) / _paddingElementNative[LEXICON.oH]) : 1 + x : _supportTransform ? 1 / (MATH.round(rect.width) / _paddingElementNative[LEXICON.oW]) || 1 : 1, + y : _supportTransform ? 1 / (MATH.round(rect.height) / _paddingElementNative[LEXICON.oH]) || 1 : 1 }; } @@ -5398,18 +5419,18 @@ var isString = type(force) == TYPES.s; var imgElementSelector = 'img'; var imgElementLoadEvent = 'load'; - var isPlus = isString && force.slice(-1) == '+'; + if(isString) { - if (force.indexOf(_strAuto) === 0) { + if (force === _strAuto) { attrsChanged = meaningfulAttrsChanged(); contentSizeC = updateAutoContentSizeChanged(); - if (attrsChanged || contentSizeC || isPlus) - update(false, contentSizeC, false, isPlus); + if (attrsChanged || contentSizeC) + update(false, contentSizeC, false); } else if (force === 'zoom') update(true, true); } - else { + else if(!synchronizeMutationObservers() || force) { force = _isSleeping || force; _isSleeping = false; update(false, false, force, true); @@ -5421,6 +5442,7 @@ FRAMEWORK(el).off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad); }); } + }; /** @@ -5628,7 +5650,9 @@ isRTLNormalized: _normalizeRTLCache }; } - + + synchronizeMutationObservers(); + var normalizeRTL = _normalizeRTLCache; var coordinatesXAxisProps = [_strX, _strLeft, 'l']; var coordinatesYAxisProps = [_strY, _strTop, 't']; @@ -5691,8 +5715,6 @@ }; var getFinalScroll = function (isX, rawScroll) { var isString = type(rawScroll) == TYPES.s; - if(isString) - _base.update(_strAuto + '+'); var operator; var amount; var scrollInfo = isX ? _scrollHorizontalInfo : _scrollVerticalInfo; @@ -5822,8 +5844,6 @@ if (finalElement[strLength] === 0) return; - _base.update(_strAuto + '+'); - //margin can be [ boolean, number, array of 2, array of 4, object ] if (marginType == TYPES.n || marginType == TYPES.b) margin = generateMargin([margin, margin, margin, margin]); diff --git a/js/OverlayScrollbars.min.js b/js/OverlayScrollbars.min.js index 78ed0cb..4c110dc 100644 --- a/js/OverlayScrollbars.min.js +++ b/js/OverlayScrollbars.min.js @@ -2,12 +2,12 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.7.2 + * Version: 1.7.3 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 10.06.2019 + * Date: 23.06.2019 */ -!function(n,t){"function"==typeof define&&define.amd?define(function(){return t(n,n.document,undefined)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(n,n.document,undefined):t(n,n.document,undefined)}("undefined"!=typeof window?window:this,function(ht,dt,Se){"use strict";var a,e,o,pt="OverlayScrollbars",bt="object",mt="function",wt="array",gt="string",yt="boolean",xt="number",p="undefined",h="null",Ot="class",_e="style",St="id",_t="length",zt="prototype",ze="offsetHeight",Te="clientHeight",ke="scrollHeight",Ie="offsetWidth",Ce="clientWidth",Ae="scrollWidth",Tt={u:{},v:{},m:["-webkit-","-moz-","-o-","-ms-"],g:["WebKit","Moz","O","MS"],O:function(n){var t=this.v;if(t[n])return t[n];for(var r,i,e=this.m,o=this.S(n),u=dt.createElement("div")[_e],f=0,a=0;f
'),o=_[0],i=Le(_.children("div").eq(0));S.append(_),_.hide().show();var t,r,u,f,a,c,s,l,v,h=z(o),d={x:0===h.x,y:0===h.y};function z(n){return{x:n[ze]-n[Te],y:n[Ie]-n[Ce]}}Le.extend(O,{defaultOptions:n,autoUpdateLoop:!1,autoUpdateRecommended:!He.mO(),nativeScrollbarSize:h,nativeScrollbarIsOverlaid:d,nativeScrollbarStyling:(_.addClass("os-viewport-native-scrollbars-invisible"),"none"===_.css("scrollbar-width")||"none"===ht.getComputedStyle(o,"::-webkit-scrollbar").getPropertyValue("display")),overlayScrollbarDummySize:{x:30,y:30},msie:(r=ht.navigator.userAgent,u="indexOf",f="substring",a=r[u]("MSIE "),c=r[u]("Trident/"),s=r[u]("Edge/"),l=r[u]("rv:"),v=parseInt,0e&&(t.update("auto"),h[a]=new Date(o+=e)),n=Ne.max(1,Ne.min(n,e)));p=n}}else p=33};this.add=function(n){-1===Le.inArray(n,v)&&(v.push(n),h.push(He.now()),0/g,(l?"-":Ti)+Ci)[v](/px/g,Ti)[v](/%/g," * "+c*(s&&Ht.n?-1:1)/100)[v](/vw/g," * "+vi.w)[v](/vh/g," * "+vi.h),de(isNaN(t)?de(h(t),!0).toFixed():t)):t)!==Se&&!isNaN(i)&&at(i)==xt){var d=y&&s,p=a*(d&&Ht.n?-1:1),b=d&&Ht.i,m=d&&Ht.n;switch(p=b?c-p:p,r){case"+=":o=p+i;break;case"-=":o=p-i;break;case"*=":o=p*i;break;case"/=":o=p/i;break;default:o=i}o=b?c-o:o,o*=m?-1:1,o=s&&Ht.n?Ne.min(0,Ne.max(c,o)):Ne.max(0,Ne.min(c,o))}return o===a?Se:o},U=function(n,t,r,i){var e,o,u=[r,r],f=at(n);if(f==t)n=[n,n];else if(f==wt){if(2<(e=n[N])||e<1)n=u;else for(1===e&&(n[1]=r),l=0;l=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom||Xn(),(ri||ii)&&fe(!1)}}function E(n){e=or[I](),e=isNaN(e)?0:e,($t&&O&&!Ht.n||!$t)&&(e=e<0?0:e),z=et()[k],_=a(n),Q=!c(u),xe(M,Mn),xe(r.en,o),xe(r.an,o),D.on(J,h).on(K,N).on(en,$n),!L&&p||He.prvD(n),He.stpP(n)}r.en.on(Ri,function(n){H(n)&&E(n)}),r.un.on(Ri,function(n){if(H(n)){var h,d=Ne.round(vi[r.W]),p=r.un.offset()[r.j],t=n.ctrlKey,b=n.shiftKey,m=b&&t,w=!0,g=function(n){Q&&ce(O,n)},y=function(){g(),E(n)},x=function(){if(!Wt){var n=(_-p)*z,t=T.N,r=T.D,i=T.L,e=T.H,o=T.C,u=270*C,f=w?Ne.max(400,u):u,a=e*((n-i/2)/(r-i)),c=$t&&O&&(!Ht.i&&!Ht.n||Vr),s=c?t"+(n||Ti)+""}function ft(n,t){for(var r,i=t.split(X),e=0;e
'),o=_[0],i=Me(_.children("div").eq(0)),t=bt.getComputedStyle;S.append(_),_.hide().show();var r,u,f,a,c,s,l,v,h,d=z(o),p={x:0===d.x,y:0===d.y};function z(n){return{x:n[ke]-n[Ie],y:n[Ae]-n[He]}}Me.extend(O,{defaultOptions:n,autoUpdateLoop:!1,autoUpdateRecommended:!Le.mO(),nativeScrollbarSize:d,nativeScrollbarIsOverlaid:p,nativeScrollbarStyling:(_.addClass("os-viewport-native-scrollbars-invisible"),"none"===_.css("scrollbar-width")||!!t&&"none"===t(o,"::-webkit-scrollbar").getPropertyValue("display")),overlayScrollbarDummySize:{x:30,y:30},msie:(u=bt.navigator.userAgent,f="indexOf",a="substring",c=u[f]("MSIE "),s=u[f]("Trident/"),l=u[f]("Edge/"),v=u[f]("rv:"),h=parseInt,0e&&(t.update("auto"),h[a]=new Date(o+=e)),n=Re.max(1,Re.min(n,e)));p=n}}else p=33};this.add=function(n){-1===Me.inArray(n,v)&&(v.push(n),h.push(Le.now()),0/g,(l?"-":Ti)+Ci)[v](/px/g,Ti)[v](/%/g," * "+c*(s&&Ht.n?-1:1)/100)[v](/vw/g," * "+vi.w)[v](/vh/g," * "+vi.h),de(isNaN(t)?de(h(t),!0).toFixed():t)):t)!==Se&&!isNaN(i)&<(i)==_t){var d=y&&s,p=a*(d&&Ht.n?-1:1),b=d&&Ht.i,m=d&&Ht.n;switch(p=b?c-p:p,r){case"+=":e=p+i;break;case"-=":e=p-i;break;case"*=":e=p*i;break;case"/=":e=p/i;break;default:e=i}e=b?c-e:e,e*=m?-1:1,e=s&&Ht.n?Re.min(0,Re.max(c,e)):Re.max(0,Re.min(c,e))}return e===a?Se:e},U=function(n,t,r,i){var e,o,u=[r,r],f=lt(n);if(f==t)n=[n,n];else if(f==xt){if(2<(e=n[N])||e<1)n=u;else for(1===e&&(n[1]=r),l=0;l=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom||Gn(),(ri||ii)&&fe(!1)}}function E(n){e=or[I](),e=isNaN(e)?0:e,($t&&O&&!Ht.n||!$t)&&(e=e<0?0:e),z=ft()[k],_=a(n),V=!c(u),xe(M,jn),xe(r.en,o),xe(r.an,o),D.on(nn,h).on(Z,N).on(un,Jn),!L&&p||Le.prvD(n),Le.stpP(n)}r.en.on(Ri,function(n){H(n)&&E(n)}),r.un.on(Ri,function(n){if(H(n)){var h,d=Re.round(vi[r.W]),p=r.un.offset()[r.j],t=n.ctrlKey,b=n.shiftKey,m=b&&t,w=!0,g=function(n){V&&ce(O,n)},y=function(){g(),E(n)},x=function(){if(!Wt){var n=(_-p)*z,t=T.N,r=T.D,i=T.L,e=T.H,o=T.C,u=270*C,f=w?Re.max(400,u):u,a=e*((n-i/2)/(r-i)),c=$t&&O&&(!Ht.i&&!Ht.n||Vr),s=c?t"+(n||Ti)+""}function st(n,t){for(var r,i=t.split($),e=0;e
'); var scrollbarDummyElement0 = scrollbarDummyElement[0]; var dummyContainerChild = FRAMEWORK(scrollbarDummyElement.children('div').eq(0)); + var getCptStyle = window.getComputedStyle; bodyElement.append(scrollbarDummyElement); scrollbarDummyElement.hide().show(); //fix IE8 bug (incorrect measuring) @@ -612,7 +613,7 @@ //scrollbarDummyElement.css(strOverflow, strHidden).hide().css(strOverflow, strScroll).show(); //return (scrollbarDummyElement0[LEXICON.oH] - scrollbarDummyElement0[LEXICON.cH]) === 0 && (scrollbarDummyElement0[LEXICON.oW] - scrollbarDummyElement0[LEXICON.cW]) === 0; - return scrollbarDummyElement.css('scrollbar-width') === 'none' || window.getComputedStyle(scrollbarDummyElement0, '::-webkit-scrollbar').getPropertyValue('display') === 'none'; + return scrollbarDummyElement.css('scrollbar-width') === 'none' || (getCptStyle ? getCptStyle(scrollbarDummyElement0, '::-webkit-scrollbar').getPropertyValue('display') === 'none' : false); })(), overlayScrollbarDummySize : { x: 30, y: 30 }, msie : (function() { @@ -1134,6 +1135,8 @@ //MutationObserver: var _mutationObserverHost; var _mutationObserverContent; + var _mutationObserverHostCallback; + var _mutationObserverContentCallback; var _mutationObserversConnected; //textarea: @@ -1443,67 +1446,72 @@ var sizeAuto; var action; - _mutationObserverHost = new mutationObserver(function (mutations) { - if (!_initialized || _isSleeping) - return; - + _mutationObserverHostCallback = function(mutations) { var doUpdate = false; var mutation; - FRAMEWORK.each(mutations, function () { - mutation = this; - mutationTarget = mutation.target; - mutationAttrName = mutation.attributeName; + + if (_initialized && !_isSleeping) { + FRAMEWORK.each(mutations, function () { + mutation = this; + mutationTarget = mutation.target; + mutationAttrName = mutation.attributeName; - if (mutationAttrName === LEXICON.c) - doUpdate = hostClassNamesChanged(mutation.oldValue, mutationTarget.className); - else if (mutationAttrName === LEXICON.s) - doUpdate = mutation.oldValue !== mutationTarget[LEXICON.s].cssText; - else - doUpdate = true; + if (mutationAttrName === LEXICON.c) + doUpdate = hostClassNamesChanged(mutation.oldValue, mutationTarget.className); + else if (mutationAttrName === LEXICON.s) + doUpdate = mutation.oldValue !== mutationTarget[LEXICON.s].cssText; + else + doUpdate = true; + + if (doUpdate) + return false; + }); if (doUpdate) - return false; - }); - - if (doUpdate) - _base.update(_strAuto); - }); - _mutationObserverContent = new mutationObserver(function (mutations) { - if (!_initialized || _isSleeping) - return; - + _base.update(_strAuto); + } + return doUpdate; + }; + _mutationObserverContentCallback = function (mutations) { var doUpdate = false; var mutation; - FRAMEWORK.each(mutations, function () { - mutation = this; - doUpdate = isUnknownMutation(mutation); - return !doUpdate; - }); + + if (_initialized && !_isSleeping) { + FRAMEWORK.each(mutations, function () { + mutation = this; + doUpdate = isUnknownMutation(mutation); + return !doUpdate; + }); - if (doUpdate) { - now = COMPATIBILITY.now(); - sizeAuto = (_heightAutoCache || _widthAutoCache); - action = function () { - if(!_destroyed) { - contentLastUpdate = now; + if (doUpdate) { + now = COMPATIBILITY.now(); + sizeAuto = (_heightAutoCache || _widthAutoCache); + action = function () { + if(!_destroyed) { + contentLastUpdate = now; - //if cols, rows or wrap attr was changed - if (_isTextarea) - textareaUpdate(); + //if cols, rows or wrap attr was changed + if (_isTextarea) + textareaUpdate(); - if (sizeAuto) - update(); - else - _base.update(_strAuto); - } - }; - clearTimeout(contentTimeout); - if (mutationObserverContentLag <= 0 || now - contentLastUpdate > mutationObserverContentLag || !sizeAuto) - action(); - else - contentTimeout = setTimeout(action, mutationObserverContentLag); + if (sizeAuto) + update(); + else + _base.update(_strAuto); + } + }; + clearTimeout(contentTimeout); + if (mutationObserverContentLag <= 0 || now - contentLastUpdate > mutationObserverContentLag || !sizeAuto) + action(); + else + contentTimeout = setTimeout(action, mutationObserverContentLag); + } } - }); + return doUpdate; + } + + _mutationObserverHost = new mutationObserver(_mutationObserverHostCallback); + _mutationObserverContent = new mutationObserver(_mutationObserverContentCallback); } } @@ -1524,7 +1532,7 @@ subtree: !_isTextarea, childList: !_isTextarea, characterData: !_isTextarea, - attributeFilter: _isTextarea ? ['wrap', 'cols', 'rows'] : [LEXICON.i, LEXICON.c, LEXICON.s] + attributeFilter: _isTextarea ? ['wrap', 'cols', 'rows'] : [LEXICON.i, LEXICON.c, LEXICON.s, 'open'] }); _mutationObserversConnected = true; @@ -1543,8 +1551,21 @@ } } + /** + * Disconnects the MutationObservers if they are supported. + * @returns {boolean|undefined} True if the MutationObservers needed to be synchronized, false or undefined otherwise. + */ + function synchronizeMutationObservers() { + if(_mutationObserversConnected) { + var mutHost = _mutationObserverHostCallback(_mutationObserverHost.takeRecords()); + var mutContent = _mutationObserverContentCallback(_mutationObserverContent.takeRecords()); - //==== Events of elements ====// + return mutHost || mutContent; + } + } + + + //==== Events of elements ====// /** * This method gets called every time the host element gets resized. IMPORTANT: Padding changes are detected too!! @@ -1911,7 +1932,7 @@ return sizeIsAffected; } - + //==== Update ====// /** @@ -1980,7 +2001,7 @@ * @param hostSizeChanged True if this method was called due to a host size change. * @param contentSizeChanged True if this method was called due to a content size change. * @param force True if every property shall be updated and the cache shall be ignored. - * @param preventSwallowing True if this method shall be executed event if it could be swallowed. + * @param preventSwallowing True if this method shall be executed even if it could be swallowed. */ function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) { var now = COMPATIBILITY.now(); @@ -3038,7 +3059,7 @@ dispatchCallback("onUpdated", { forced: force }); } - + //==== Options ====// /** @@ -4011,8 +4032,8 @@ function getHostElementInvertedScale() { var rect = _paddingElementNative.getBoundingClientRect(); return { - x : _supportTransform ? 1 / (MATH.round(rect.width) / _paddingElementNative[LEXICON.oW]) : 1, - y : _supportTransform ? 1 / (MATH.round(rect.height) / _paddingElementNative[LEXICON.oH]) : 1 + x : _supportTransform ? 1 / (MATH.round(rect.width) / _paddingElementNative[LEXICON.oW]) || 1 : 1, + y : _supportTransform ? 1 / (MATH.round(rect.height) / _paddingElementNative[LEXICON.oH]) || 1 : 1 }; } @@ -4321,18 +4342,18 @@ var isString = type(force) == TYPES.s; var imgElementSelector = 'img'; var imgElementLoadEvent = 'load'; - var isPlus = isString && force.slice(-1) == '+'; + if(isString) { - if (force.indexOf(_strAuto) === 0) { + if (force === _strAuto) { attrsChanged = meaningfulAttrsChanged(); contentSizeC = updateAutoContentSizeChanged(); - if (attrsChanged || contentSizeC || isPlus) - update(false, contentSizeC, false, isPlus); + if (attrsChanged || contentSizeC) + update(false, contentSizeC, false); } else if (force === 'zoom') update(true, true); } - else { + else if(!synchronizeMutationObservers() || force) { force = _isSleeping || force; _isSleeping = false; update(false, false, force, true); @@ -4344,6 +4365,7 @@ FRAMEWORK(el).off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad); }); } + }; /** @@ -4551,7 +4573,9 @@ isRTLNormalized: _normalizeRTLCache }; } - + + synchronizeMutationObservers(); + var normalizeRTL = _normalizeRTLCache; var coordinatesXAxisProps = [_strX, _strLeft, 'l']; var coordinatesYAxisProps = [_strY, _strTop, 't']; @@ -4614,8 +4638,6 @@ }; var getFinalScroll = function (isX, rawScroll) { var isString = type(rawScroll) == TYPES.s; - if(isString) - _base.update(_strAuto + '+'); var operator; var amount; var scrollInfo = isX ? _scrollHorizontalInfo : _scrollVerticalInfo; @@ -4745,8 +4767,6 @@ if (finalElement[strLength] === 0) return; - _base.update(_strAuto + '+'); - //margin can be [ boolean, number, array of 2, array of 4, object ] if (marginType == TYPES.n || marginType == TYPES.b) margin = generateMargin([margin, margin, margin, margin]); diff --git a/js/jquery.overlayScrollbars.min.js b/js/jquery.overlayScrollbars.min.js index ecdc4d2..ef7fa25 100644 --- a/js/jquery.overlayScrollbars.min.js +++ b/js/jquery.overlayScrollbars.min.js @@ -2,12 +2,12 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.7.2 + * Version: 1.7.3 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 10.06.2019 + * Date: 23.06.2019 */ -!function(t,r){"function"==typeof define&&define.amd?define(["jquery"],function(n){return r(t,t.document,undefined,n)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=r(t,t.document,undefined,require("jquery")):r(t,t.document,undefined,t.jQuery)}("undefined"!=typeof window?window:this,function(dt,ht,Si,n){"use strict";var i,o,pt="OverlayScrollbars",bt="object",mt="function",wt="array",yt="string",gt="boolean",xt="number",d="null",_t="class",zi="style",St="id",zt="length",Tt="prototype",Ti="offsetHeight",ki="clientHeight",Oi="scrollHeight",Ai="offsetWidth",Ci="clientWidth",Ni="scrollWidth",kt={o:{},u:{},s:["-webkit-","-moz-","-o-","-ms-"],v:["WebKit","Moz","O","MS"],p:function(n){var t=this.u;if(t[n])return t[n];for(var r,e,i=this.s,o=this.m(n),a=ht.createElement("div")[zi],u=0,f=0;u
'),o=z[0],e=Di(z.children("div").eq(0));S.append(z),z.hide().show();var t,r,a,u,f,c,l,s,v,d=T(o),h={x:0===d.x,y:0===d.y};function T(n){return{x:n[Ti]-n[ki],y:n[Ai]-n[Ci]}}Di.extend(_,{defaultOptions:n,autoUpdateLoop:!1,autoUpdateRecommended:!Hi.mO(),nativeScrollbarSize:d,nativeScrollbarIsOverlaid:h,nativeScrollbarStyling:(z.addClass("os-viewport-native-scrollbars-invisible"),"none"===z.css("scrollbar-width")||"none"===dt.getComputedStyle(o,"::-webkit-scrollbar").getPropertyValue("display")),overlayScrollbarDummySize:{x:30,y:30},msie:(r=dt.navigator.userAgent,a="indexOf",u="substring",f=r[a]("MSIE "),c=r[a]("Trident/"),l=r[a]("Edge/"),s=r[a]("rv:"),v=parseInt,0i&&(t.update("auto"),d[f]=new Date(o+=i)),n=Li.max(1,Li.min(n,i)));p=n}}else p=33};this.add=function(n){-1===Di.inArray(n,v)&&(v.push(n),d.push(Hi.now()),0/g,(s?"-":ke)+Ce)[v](/px/g,ke)[v](/%/g," * "+c*(l&&Ht.n?-1:1)/100)[v](/vw/g," * "+ve.w)[v](/vh/g," * "+ve.h),hi(isNaN(t)?hi(d(t),!0).toFixed():t)):t)!==Si&&!isNaN(e)&&ft(e)==xt){var h=g&&l,p=f*(h&&Ht.n?-1:1),b=h&&Ht.i,m=h&&Ht.n;switch(p=b?c-p:p,r){case"+=":o=p+e;break;case"-=":o=p-e;break;case"*=":o=p*e;break;case"/=":o=p/e;break;default:o=e}o=b?c-o:o,o*=m?-1:1,o=l&&Ht.n?Li.min(0,Li.max(c,o)):Li.max(0,Li.min(c,o))}return o===f?Si:o},V=function(n,t,r,e){var i,o,a=[r,r],u=ft(n);if(u==t)n=[n,n];else if(u==wt){if(2<(i=n[L])||i<1)n=a;else for(1===i&&(n[1]=r),s=0;s=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom||Yn(),(re||ee)&&ui(!1)}}function R(n){i=or[A](),i=isNaN(i)?0:i,(Kt&&_&&!Ht.n||!Kt)&&(i=i<0?0:i),T=it()[O],z=f(n),q=!c(a),xi(W,Wn),xi(r.nn,o),xi(r.rn,o),M.on(Q,d).on(J,L).on(en,Kn),!D&&p||Hi.prvD(n),Hi.stpP(n)}r.nn.on(Ie,function(n){H(n)&&R(n)}),r.tn.on(Ie,function(n){if(H(n)){var d,h=Li.round(ve[r.D]),p=r.tn.offset()[r.I],t=n.ctrlKey,b=n.shiftKey,m=b&&t,w=!0,y=function(n){q&&ci(_,n)},g=function(){y(),R(n)},x=function(){if(!jt){var n=(z-p)*T,t=k.C,r=k.L,e=k.N,i=k.A,o=k.k,a=270*C,u=w?Li.max(400,a):a,f=i*((n-e/2)/(r-e)),c=Kt&&_&&(!Ht.i&&!Ht.n||Br),l=c?t"+(n||ke)+""}function ut(n,t){for(var r,e=t.split(Y),i=0;i
'),o=z[0],e=Wi(z.children("div").eq(0)),t=bt.getComputedStyle;S.append(z),z.hide().show();var r,a,u,f,c,l,s,v,d,h=T(o),p={x:0===h.x,y:0===h.y};function T(n){return{x:n[Oi]-n[Ai],y:n[Ni]-n[Hi]}}Wi.extend(_,{defaultOptions:n,autoUpdateLoop:!1,autoUpdateRecommended:!Di.mO(),nativeScrollbarSize:h,nativeScrollbarIsOverlaid:p,nativeScrollbarStyling:(z.addClass("os-viewport-native-scrollbars-invisible"),"none"===z.css("scrollbar-width")||!!t&&"none"===t(o,"::-webkit-scrollbar").getPropertyValue("display")),overlayScrollbarDummySize:{x:30,y:30},msie:(a=bt.navigator.userAgent,u="indexOf",f="substring",c=a[u]("MSIE "),l=a[u]("Trident/"),s=a[u]("Edge/"),v=a[u]("rv:"),d=parseInt,0i&&(t.update("auto"),d[f]=new Date(o+=i)),n=Ii.max(1,Ii.min(n,i)));p=n}}else p=33};this.add=function(n){-1===Wi.inArray(n,v)&&(v.push(n),d.push(Di.now()),0/g,(s?"-":ke)+Ce)[v](/px/g,ke)[v](/%/g," * "+c*(l&&Ht.n?-1:1)/100)[v](/vw/g," * "+ve.w)[v](/vh/g," * "+ve.h),hi(isNaN(t)?hi(d(t),!0).toFixed():t)):t)!==Si&&!isNaN(e)&&st(e)==zt){var h=g&&l,p=f*(h&&Ht.n?-1:1),b=h&&Ht.i,m=h&&Ht.n;switch(p=b?c-p:p,r){case"+=":i=p+e;break;case"-=":i=p-e;break;case"*=":i=p*e;break;case"/=":i=p/e;break;default:i=e}i=b?c-i:i,i*=m?-1:1,i=l&&Ht.n?Ii.min(0,Ii.max(c,i)):Ii.max(0,Ii.min(c,i))}return i===f?Si:i},V=function(n,t,r,e){var i,o,a=[r,r],u=st(n);if(u==t)n=[n,n];else if(u==xt){if(2<(i=n[L])||i<1)n=a;else for(1===i&&(n[1]=r),s=0;s=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom||Gn(),(re||ee)&&ui(!1)}}function R(n){i=or[A](),i=isNaN(i)?0:i,(Kt&&_&&!Ht.n||!Kt)&&(i=i<0?0:i),T=ut()[O],z=f(n),B=!c(a),xi(W,Fn),xi(r.nn,o),xi(r.rn,o),M.on(nn,d).on(Z,L).on(an,Qn),!D&&p||Di.prvD(n),Di.stpP(n)}r.nn.on(Ie,function(n){H(n)&&R(n)}),r.tn.on(Ie,function(n){if(H(n)){var d,h=Ii.round(ve[r.D]),p=r.tn.offset()[r.I],t=n.ctrlKey,b=n.shiftKey,m=b&&t,w=!0,y=function(n){B&&ci(_,n)},g=function(){y(),R(n)},x=function(){if(!jt){var n=(z-p)*T,t=k.C,r=k.L,e=k.N,i=k.A,o=k.k,a=270*C,u=w?Ii.max(400,a):a,f=i*((n-e/2)/(r-e)),c=Kt&&_&&(!Ht.i&&!Ht.n||Br),l=c?t"+(n||ke)+""}function lt(n,t){for(var r,e=t.split(K),i=0;i