/**
 * Minified by jsDelivr using Terser v5.37.0.
 * Original file: /npm/scroll-hint@1.2.9/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,l){for(var t=0;t<l.length;t++){var s=l[t];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(l,t,s){return t&&e(l.prototype,t),s&&e(l,s),l}}(),_es6ObjectAssign=require("es6-object-assign"),_util=require("./util");function _classCallCheck(e,l){if(!(e instanceof l))throw new TypeError("Cannot call a class as a function")}var defaults={suggestClass:"is-active",scrollableClass:"is-scrollable",scrollableRightClass:"is-right-scrollable",scrollableLeftClass:"is-left-scrollable",scrollHintClass:"scroll-hint",scrollHintShadowWrapClass:"scroll-hint-shadow-wrap",scrollHintIconClass:"scroll-hint-icon",scrollHintIconAppendClass:"",scrollHintIconWrapClass:"scroll-hint-icon-wrap",scrollHintText:"scroll-hint-text",scrollHintBorderWidth:10,remainingTime:-1,enableOverflowScrolling:!0,applyToParents:!1,suggestiveShadow:!1,offset:0,i18n:{scrollable:"scrollable"}},ScrollHint=function(){function e(l,t){var s=this;_classCallCheck(this,e),this.opt=(0,_es6ObjectAssign.assign)({},defaults,t),this.items=[];var a=void 0;a=l instanceof HTMLElement?[l]:"string"==typeof l?document.querySelectorAll(l):l;var o=this.opt.applyToParents;[].forEach.call(a,(function(e){o&&(e=e.parentElement),e.style.position="relative",e.style.overflow="auto",s.opt.enableOverflowScrolling&&("overflowScrolling"in e.style?e.style.overflowScrolling="touch":"webkitOverflowScrolling"in e.style&&(e.style.webkitOverflowScrolling="touch"));var l={element:e,scrolledIn:!1,interacted:!1};if(document.addEventListener("scroll",(function(t){t.target===e&&(l.interacted=!0,s.updateItem(l))}),!0),(0,_util.addClass)(e,s.opt.scrollHintClass),s.items.push(l),(0,_util.append)(e,'<div class="'+s.opt.scrollHintIconWrapClass+'" data-target="scrollable-icon">\n        <span class="'+s.opt.scrollHintIconClass+(s.opt.scrollHintIconAppendClass?" "+s.opt.scrollHintIconAppendClass:"")+'">\n          <div class="'+s.opt.scrollHintText+'">'+s.opt.i18n.scrollable+"</div>\n        </span>\n      </div>"),s.opt.suggestiveShadow){var t=document.createElement("div");t.classList.add(s.opt.scrollHintShadowWrapClass),e.parentNode.insertBefore(t,e),t.appendChild(e)}})),window.addEventListener("scroll",(function(){s.updateItems()})),window.addEventListener("resize",(function(){s.updateItems()})),this.updateItems()}return _createClass(e,[{key:"isScrollable",value:function(e){var l=this.opt.offset,t=e.element;return t.offsetWidth+l<t.scrollWidth}},{key:"checkScrollableDir",value:function(e){var l=this.opt,t=l.scrollHintBorderWidth,s=l.scrollableRightClass,a=l.scrollableLeftClass,o=e.element,i=o.children[0].scrollWidth,r=o.offsetWidth,n=o.scrollLeft;r+n<i-t?(0,_util.addClass)(o,s):(0,_util.removeClass)(o,s),r<i&&n>t?(0,_util.addClass)(o,a):(0,_util.removeClass)(o,a)}},{key:"needSuggest",value:function(e){var l=e.scrolledIn;return!e.interacted&&l&&this.isScrollable(e)}},{key:"updateItems",value:function(){var e=this;[].forEach.call(this.items,(function(l){e.updateItem(l)}))}},{key:"updateStatus",value:function(e){var l=this,t=e.element;if(!e.scrolledIn){var s=t.querySelector('[data-target="scrollable-icon"] > span');(0,_util.getOffset)(s).top<(0,_util.getScrollTop)()+window.innerHeight&&(e.scrolledIn=!0,-1!==this.opt.remainingTime&&setTimeout((function(){e.interacted=!0,l.updateItem(e)}),this.opt.remainingTime))}}},{key:"updateItem",value:function(e){var l=this.opt,t=e.element,s=t.querySelector('[data-target="scrollable-icon"]');this.updateStatus(e),this.isScrollable(e)?(0,_util.addClass)(t,l.scrollableClass):(0,_util.removeClass)(t,l.scrollableClass),this.needSuggest(e)?(0,_util.addClass)(s,l.suggestClass):(0,_util.removeClass)(s,l.suggestClass),l.suggestiveShadow&&this.checkScrollableDir(e)}}]),e}();exports.default=ScrollHint,module.exports=exports.default;
//# sourceMappingURL=/sm/506601f4401316c7f05630954325ce5fd1b50905bbe9f709c9d1b22d33957ef8.map