{"version":3,"sources":["raw-js/kendo.scrollview.js"],"names":["global","factory","exports","module","require","define","amd","globalThis","self","kendo","_globals","Scrollview","this","$","undefined$1","window","ui","Transition","effects","Pane","keys","PaneDimensions","Widget","DataBoundWidget","DataSource","data","math","Math","abs","ceil","round","max","min","floor","CHANGE","CLICK","REFRESH","CURRENT_PAGE_CLASS","VIRTUAL_PAGE_CLASS","FUNCTION","ITEM_CHANGE","NS","KEYDOWN","FOCUS","FOCUSOUT","FOCUSED","TABINDEX","className","name","ScrollViewDataReader","Observable","extend","init","dataSource","that","pendingRequestArray","initialFetch","useRanges","options","serverPaging","fn","call","bind","_change","trigger","offset","page","callback","view","range","pageSize","scrollTo","pageCount","total","prevPage","prevPrefetch","currentPage","nextPage","nextPrefetch","push","getViewData","index","length","destroy","unbind","Pager","Class","scrollView","element","navigationWrapElement","append","_navigationContainer","_changeProxy","_refreshProxy","_refresh","on","_click","_navigatable","items","children","_focus","_focused","_setCurrent","find","_blur","_current","removeClass","removeAttr","_keyDown","e","handled","next","current","key","keyCode","LEFT","prev","RIGHT","SPACEBAR","ENTER","preventDefault","stopPropagation","id","guid","attr","addClass","pageable","tabindex","messages","pagerLabel","role","itemsWrapper","_ariaTemplate","template","ARIATemplate","navigatable","pageHTML","idx","html","eq","_toggleNavigation","isDefaultPrevented","innerNavigationContainer","scrollViewWidth","width","containerOffset","pageWidth","outerWidth","itemOffset","position","left","scrollLeft","translate","animate","newPage","currentTarget","off","remove","ScrollViewPager","TRANSITION_END","DRAG_START","DRAG_END","ElasticPane","movable","transition","userEvents","dimensions","dimension","pane","container","parent","Movable","axis","onEnd","UserEvents","fastTap","start","x","velocity","y","capture","cancel","allowSelection","end","elastic","duration","size","getSize","height","getTotal","updateDimension","update","refresh","enabled","moveTo","moveAxis","transitionTo","ease","instant","location","tansition","ScrollViewElasticPane","ScrollViewContent","_getPages","contentHeight","enablePager","pagerOverlay","forceEnabled","easeOutExpo","paneMoved","swipeType","bounce","snap","approx","easeOutBack","minSnap","maxSnap","updatePage","forcePageUpdate","resizeTo","pageElements","containerHeight","css","_paged","roleSelector","VirtualScrollViewContent","_templates","pages","_initPages","setDataSource","create","_dataReader","_pendingPageRefresh","_pendingWidgetRefresh","_viewShow","setTimeout","_resetPages","dataReader","_pageProxy","_onPage","_resetProxy","_onReset","reset","emptyTemplate","templateProxy","emptyTemplateProxy","i","Page","setWidth","_repositionPages","silent","pagerScroll","thresholdPassed","isEndReached","delta","Array","_cancelMove","_moveBackward","_moveForward","shift","setPageContent","unshift","pop","_resetMovable","threshold","item","content","top","theContent","VirtualPage","ScrollView","stripWhitespace","scrollViewWrap","wrapInner","_initNavigation","pager","inner","first","transitionEnd","_transitionEnd","dragStart","_dragStart","dragEnd","_dragEnd","change","_defaultPrevented","_content","viewInit","viewShow","velocityThreshold","bounceVelocityThreshold","enableNavigationButtons","autoBind","previousButtonLabel","nextButtonLabel","events","ariaLiveEl","eventData","emptyDataSource","fetch","_updateAria","prevArrow","nextArrow","navigationContainer","itemsWrapperId","icon","hide","target","click","show","plugin","jQuery","kendo$1","__meta__","category","description","depends","default","Object","defineProperty","value"],"mappings":"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","file":"kendo.scrollview.min.js","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('kendo.fx.js'), require('kendo.data.js'), require('kendo.draganddrop.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['exports', 'kendo.fx', 'kendo.data', 'kendo.draganddrop', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.kendo = global.kendo || {}, global.kendo._globals = global.kendo._globals || {}, global.kendo._globals.Scrollview = {})));\n})(this, (function (exports) {\n const __meta__ = {\n id: \"scrollview\",\n name: \"ScrollView\",\n category: \"web\",\n description: \"The Kendo ScrollView widget is used to scroll content wider than the device screen.\",\n depends: [ \"fx\", \"data\", \"draganddrop\", \"icons\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n Transition = kendo.effects.Transition,\n Pane = kendo.ui.Pane,\n keys = kendo.keys,\n PaneDimensions = kendo.ui.PaneDimensions,\n Widget = ui.DataBoundWidget,\n DataSource = kendo.data.DataSource,\n\n // Math\n math = Math,\n abs = math.abs,\n ceil = math.ceil,\n round = math.round,\n max = math.max,\n min = math.min,\n floor = math.floor,\n\n CHANGE = \"change\",\n CLICK = \"click\",\n CHANGING = \"changing\",\n REFRESH = \"refresh\",\n CURRENT_PAGE_CLASS = \"primary\",\n VIRTUAL_PAGE_CLASS = \"scrollview-page\",\n FUNCTION = \"function\",\n ITEM_CHANGE = \"itemChange\",\n CLEANUP = \"cleanup\",\n NS = \".ScrollView\",\n DOT = \".\",\n KEYDOWN = \"keydown\",\n FOCUS = \"focus\",\n FOCUSOUT = \"focusout\",\n FOCUSED = \"k-focus\",\n TABINDEX = \"tabindex\",\n\n VIRTUAL_PAGE_COUNT = 3,\n LEFT_PAGE = -1,\n CETER_PAGE = 0,\n RIGHT_PAGE = 1,\n\n LEFT_SWIPE = -1,\n NUDGE = 0,\n RIGHT_SWIPE = 1;\n\n function className(name) {\n return \"k-\" + name;\n }\n\n var ScrollViewDataReader = kendo.Observable.extend({\n init: function(dataSource) {\n var that = this;\n this.dataSource = dataSource;\n this.pendingRequestArray = [];\n this.initialFetch = false;\n this.useRanges = dataSource.options.serverPaging;\n\n kendo.Observable.fn.init.call(this);\n\n dataSource.bind(\"change\", function() {\n that._change();\n });\n },\n\n _change: function() {\n this.trigger(\"reset\", { offset: this.offset });\n },\n\n page: function(page, callback) {\n var that = this;\n\n if (!this.useRanges) {\n this.dataSource.page(page + 1);\n if (callback) {\n callback(that.dataSource.view());\n } else {\n that.trigger(\"page\", { page: page });\n }\n }\n if (this.useRanges) {\n this.dataSource.range(page * this.dataSource.pageSize(), this.dataSource.pageSize(), function() {\n if (callback) {\n callback(that.dataSource.view());\n } else {\n that.trigger(\"page\", { page: page });\n }\n });\n }\n },\n\n scrollTo: function(page) {\n var pageCount = Math.ceil(this.dataSource.total() / this.dataSource.pageSize() || 1);\n var prevPage = page - 1;\n var prevPrefetch = prevPage - 1;\n var currentPage = page;\n var nextPage = pageCount > 0 && page + 1 >= pageCount ? - 1 : page + 1;\n var nextPrefetch = pageCount > 0 && nextPage + 1 >= pageCount ? - 1 : nextPage + 1;\n\n if (nextPage >= 0) {\n this.pendingRequestArray.push(nextPage);\n }\n\n if (prevPage >= 0) {\n this.pendingRequestArray.push(prevPage);\n }\n\n if (prevPrefetch >= 0) {\n this.pendingRequestArray.push(prevPrefetch);\n }\n\n if (nextPrefetch >= 0) {\n this.pendingRequestArray.push(nextPrefetch);\n }\n\n this.page(currentPage);\n },\n\n getViewData: function() {\n var view = this.dataSource.view();\n var data;\n if (this.dataSource.options.pageSize > 1) {\n data = [];\n for (var index = 0; index < view.length; index++) {\n data.push(view[index]);\n }\n }\n else {\n data = view[0];\n }\n return data;\n },\n destroy: function() {\n var that = this;\n\n that.dataSource.unbind();\n that.dataSource = null;\n }\n });\n\n kendo.ui.ScrollViewDataReader = ScrollViewDataReader;\n\n var Pager = kendo.Class.extend({\n init: function(scrollView) {\n var that = this,\n element = $(\"
\"),\n navigationWrapElement = $(\"
\");\n\n navigationWrapElement.append(element);\n scrollView._navigationContainer.append(navigationWrapElement);\n\n this._changeProxy = that._change.bind(that);\n this._refreshProxy = that._refresh.bind(that);\n scrollView.bind(CHANGE, this._changeProxy);\n scrollView.bind(REFRESH, this._refreshProxy);\n element.on(CLICK + NS, \".k-link\", this._click.bind(scrollView));\n\n $.extend(that, { element: element, scrollView: scrollView });\n\n that._navigatable();\n },\n\n items: function() {\n return this.element.children();\n },\n\n _focus: function() {\n var that = this;\n that._focused = true;\n that._setCurrent(that.element.find(DOT + className(CURRENT_PAGE_CLASS)));\n },\n\n _blur: function() {\n var that = this;\n\n that._focused = false;\n\n if (that._current) {\n that._current.removeClass(FOCUSED);\n that._current.removeAttr(\"id\");\n that.element.removeAttr(\"aria-activedescendant\");\n }\n },\n\n _keyDown: function(e) {\n var that = this;\n var handled;\n var next;\n var current = that._current;\n\n var key = e.keyCode;\n\n if (key == keys.LEFT) {\n handled = true;\n next = current.prev(\".k-link\");\n\n if (next.length) {\n that._setCurrent(next);\n }\n }\n\n if (key == keys.RIGHT) {\n handled = true;\n next = current.next(\".k-link\");\n\n if (next.length) {\n that._setCurrent(next);\n }\n }\n\n if (e.keyCode == keys.SPACEBAR || e.keyCode == keys.ENTER) {\n handled = true;\n that._current.trigger(\"click\");\n }\n\n if (handled) {\n e.preventDefault();\n // prevent changing of items in scrollview\n e.stopPropagation();\n }\n },\n\n _setCurrent: function(current) {\n if (!this._focused) {\n return;\n }\n var that = this;\n var id = kendo.guid();\n var next = $(current);\n\n if (that._current) {\n $(that._current)\n .removeClass(FOCUSED)\n .removeAttr(\"id\");\n\n that.element.removeAttr(\"aria-activedescendant\");\n }\n\n next\n .attr(\"id\", id)\n .addClass(FOCUSED);\n\n that.element.attr(\"aria-activedescendant\", id);\n\n that._current = next;\n },\n\n _navigatable: function() {\n var that = this;\n var pageable = that.scrollView.options.pageable || {};\n var defaultAriaTemplate = ({ index }) => `Item ${index + 1}`;\n\n that.element.attr({\n tabindex: 0,\n \"aria-label\": that.scrollView.options.messages.pagerLabel,\n role: \"group\"\n });\n\n if (that.scrollView.itemsWrapper) {\n that.element.attr(\"aria-controls\", that.scrollView.itemsWrapper.attr(\"id\"));\n }\n\n that._ariaTemplate = kendo.template(pageable.ARIATemplate || defaultAriaTemplate);\n\n if (!that.scrollView.options.navigatable) {\n return;\n }\n\n that.element.on(KEYDOWN + NS, that, that._keyDown.bind(that));\n that.element.on(FOCUS + NS, that._focus.bind(that));\n that.element.on(FOCUSOUT + NS, that._blur.bind(that));\n },\n\n _refresh: function(e) {\n var pageHTML = \"\";\n var current;\n\n for (var idx = 0; idx < e.pageCount; idx ++) {\n pageHTML += '';\n }\n\n this.element.html(pageHTML);\n current = this.items().eq(e.page);\n current.addClass(className(CURRENT_PAGE_CLASS));\n\n current.attr(\"aria-pressed\", true);\n\n this.scrollView._toggleNavigation({ currentPage: e.page });\n },\n\n _change: function(e) {\n if (e.isDefaultPrevented()) {\n return;\n }\n\n var innerNavigationContainer = this.scrollView._navigationContainer.find(\".k-scrollview-nav\");\n var scrollViewWidth = this.scrollView.element.width();\n var containerOffset = (scrollViewWidth - innerNavigationContainer.width()) / 2;\n var pageWidth = innerNavigationContainer.find(\".k-link\").eq(0).outerWidth(true) / 2;\n var items = this.items();\n var current;\n\n items.removeClass(className(CURRENT_PAGE_CLASS));\n\n current = items.eq(e.nextPage).addClass(className(CURRENT_PAGE_CLASS));\n items.attr(\"aria-pressed\", false);\n this._setCurrent(current);\n current.attr(\"aria-pressed\", true);\n\n var itemOffset = this.items().eq(e.nextPage).length > 0 ? this.items().eq(e.nextPage).position().left : 0;\n\n if (itemOffset > scrollViewWidth / 2 || itemOffset < kendo.scrollLeft(innerNavigationContainer) + scrollViewWidth / 2) {\n var translate = 0;\n\n if (itemOffset > scrollViewWidth / 2) {\n translate = kendo.scrollLeft(innerNavigationContainer) + itemOffset - scrollViewWidth / 2;\n }\n else {\n translate = kendo.scrollLeft(innerNavigationContainer) - (scrollViewWidth / 2 - itemOffset);\n }\n\n translate += (containerOffset + pageWidth);\n\n innerNavigationContainer.animate({ \"scrollLeft\": translate }, 300);\n }\n\n this.scrollView._toggleNavigation({ currentPage: e.currentPage, nextPage: e.nextPage });\n },\n\n _click: function(e) {\n var newPage = $(e.currentTarget).index();\n\n this.scrollTo(newPage);\n },\n\n destroy: function() {\n this.scrollView.unbind(CHANGE, this._changeProxy);\n this.scrollView.unbind(REFRESH, this._refreshProxy);\n this.element.off(NS);\n this.element.remove();\n }\n });\n\n kendo.ui.ScrollViewPager = Pager;\n\n var TRANSITION_END = \"transitionEnd\",\n DRAG_START = \"dragStart\",\n DRAG_END = \"dragEnd\";\n\n var ElasticPane = kendo.Observable.extend({\n init: function(element, options) {\n var that = this;\n\n kendo.Observable.fn.init.call(this);\n\n this.element = element;\n this.container = element.parent();\n\n var movable,\n transition,\n userEvents,\n dimensions,\n dimension,\n pane;\n\n movable = new kendo.ui.Movable(that.element);\n\n transition = new Transition({\n axis: \"x\",\n movable: movable,\n onEnd: function() {\n that.trigger(TRANSITION_END);\n }\n });\n\n userEvents = new kendo.UserEvents(element, {\n fastTap: true,\n start: function(e) {\n if (abs(e.x.velocity) * 2 >= abs(e.y.velocity)) {\n userEvents.capture();\n } else {\n userEvents.cancel();\n }\n\n that.trigger(DRAG_START, e);\n transition.cancel();\n },\n allowSelection: true,\n end: function(e) {\n that.trigger(DRAG_END, e);\n }\n });\n\n dimensions = new PaneDimensions({\n element: that.element,\n container: that.container\n });\n\n dimension = dimensions.x;\n\n dimension.bind(CHANGE, function() {\n that.trigger(CHANGE);\n });\n\n pane = new Pane({\n dimensions: dimensions,\n userEvents: userEvents,\n movable: movable,\n elastic: true\n });\n\n $.extend(that, {\n duration: options && options.duration || 1,\n movable: movable,\n transition: transition,\n userEvents: userEvents,\n dimensions: dimensions,\n dimension: dimension,\n pane: pane\n });\n\n this.bind([TRANSITION_END, DRAG_START, DRAG_END, CHANGE], options);\n },\n\n size: function() {\n return { width: this.dimensions.x.getSize(), height: this.dimensions.y.getSize() };\n },\n\n total: function() {\n return this.dimension.getTotal();\n },\n\n offset: function() {\n return -this.movable.x;\n },\n\n updateDimension: function() {\n this.dimension.update(true);\n },\n\n refresh: function() {\n this.dimensions.refresh();\n this.dimensions.y.enabled = false;\n },\n\n moveTo: function(offset) {\n this.movable.moveAxis(\"x\", -offset);\n },\n\n transitionTo: function(offset, ease, instant) {\n if (instant) {\n this.moveTo(-offset);\n } else {\n this.transition.moveTo({ location: offset, duration: this.duration, ease: ease });\n }\n },\n destroy: function() {\n var that = this;\n\n that.userEvents.destroy();\n that.unbind();\n that.movable = that.tansition = that.dimensions = that.dimension = that.pane = null;\n that.element.remove();\n }\n });\n\n kendo.ui.ScrollViewElasticPane = ElasticPane;\n\n var ScrollViewContent = kendo.Observable.extend({\n init: function(element, pane, options) {\n var that = this;\n\n kendo.Observable.fn.init.call(this);\n that.element = element;\n that.pane = pane;\n that._getPages();\n this.page = 0;\n this.pageSize = options.pageSize || 1;\n this.contentHeight = options.contentHeight;\n this.enablePager = options.enablePager;\n this.pagerOverlay = options.pagerOverlay;\n\n that.pane.dimension.forceEnabled();\n },\n\n scrollTo: function(page, instant) {\n var that = this;\n\n if (page == that.page && !instant) {\n return;\n }\n\n if (!that.trigger(\"resize\", { currentPage: this.page, nextPage: page, data: undefined$1 })) {\n that.page = page;\n that.pane.transitionTo(- page * that.pane.size().width, Transition.easeOutExpo, instant);\n }\n },\n\n paneMoved: function(swipeType, bounce, callback, /*internal*/ instant) {\n var that = this,\n pane = that.pane,\n width = pane.size().width * that.pageSize,\n approx = round,\n ease = bounce ? Transition.easeOutBack : Transition.easeOutExpo,\n snap,\n nextPage;\n\n if (swipeType === LEFT_SWIPE) {\n approx = ceil;\n } else if (swipeType === RIGHT_SWIPE) {\n approx = floor;\n }\n\n nextPage = approx(pane.offset() / width);\n\n if (nextPage < 0 || nextPage >= that.pageCount) {\n var tansition = nextPage < 0 ? 0 : (- this.page * this.pane.size().width);\n return this.pane.transitionTo(tansition, ease, instant);\n }\n\n snap = max(that.minSnap, min(-nextPage * width, that.maxSnap));\n\n if (nextPage != that.page) {\n if (callback && callback({ currentPage: that.page, nextPage: nextPage })) {\n snap = -that.page * pane.size().width;\n }\n }\n\n pane.transitionTo(snap, ease, instant);\n },\n\n updatePage: function() {\n var pane = this.pane,\n page = round(pane.offset() / pane.size().width);\n\n if (page != this.page) {\n this.page = page;\n return true;\n }\n\n return false;\n },\n\n forcePageUpdate: function() {\n return this.updatePage();\n },\n\n resizeTo: function(size) {\n var pane = this.pane,\n width = size.width;\n\n this.pageElements.width(width);\n\n if (this.contentHeight === \"100%\") {\n var containerHeight = this.element.parent().height();\n\n this.element.css(\"height\", containerHeight);\n this.pageElements.css(\"height\", containerHeight);\n }\n\n // re-read pane dimension after the pageElements have been resized.\n pane.updateDimension();\n\n if (!this._paged) {\n this.page = floor(pane.offset() / width);\n }\n\n this.scrollTo(this.page, true, true);\n\n this.pageCount = this.pageElements.length;\n this.minSnap = - (this.pageCount - 1) * width;\n this.maxSnap = 0;\n },\n\n _getPages: function() {\n this.pageElements = this.element.find(kendo.roleSelector(\"page\"));\n this._paged = this.pageElements.length > 0;\n },\n\n destroy: function() {\n var that = this;\n\n that.pane = null;\n that.element.remove();\n }\n });\n\n kendo.ui.ScrollViewContent = ScrollViewContent;\n\n var VirtualScrollViewContent = kendo.Observable.extend({\n init: function(element, pane, options) {\n var that = this;\n\n kendo.Observable.fn.init.call(this);\n\n that.element = element;\n that.pane = pane;\n that.options = options;\n that._templates();\n that.page = options.page || 0;\n that.pages = [];\n that._initPages();\n that.resizeTo(that.pane.size());\n\n that.pane.dimension.forceEnabled();\n },\n\n setDataSource: function(dataSource) {\n this.dataSource = DataSource.create(dataSource);\n this._dataReader();\n this._pendingPageRefresh = false;\n this._pendingWidgetRefresh = false;\n },\n\n _viewShow: function() {\n var that = this;\n if (that._pendingWidgetRefresh) {\n setTimeout(function() {\n that._resetPages();\n }, 0);\n that._pendingWidgetRefresh = false;\n }\n },\n\n _dataReader: function() {\n this.dataReader = new ScrollViewDataReader(this.dataSource);\n\n this._pageProxy = this._onPage.bind(this);\n this._resetProxy = this._onReset.bind(this);\n\n this.dataReader.bind({\n \"page\": this._pageProxy,\n \"reset\": this._resetProxy\n });\n },\n\n _templates: function() {\n var template = this.options.template,\n emptyTemplate = this.options.emptyTemplate,\n templateProxy = {},\n emptyTemplateProxy = {};\n\n if (typeof template === FUNCTION) {\n templateProxy.template = template;\n template = (data) => templateProxy.template(data);\n }\n\n this.template = kendo.template(template).bind(templateProxy);\n\n if (typeof emptyTemplate === FUNCTION) {\n emptyTemplateProxy.emptyTemplate = emptyTemplate;\n emptyTemplate = (data) => emptyTemplateProxy.emptyTemplate(data);\n }\n\n this.emptyTemplate = kendo.template(emptyTemplate).bind(emptyTemplateProxy);\n },\n\n _initPages: function() {\n var pages = this.pages,\n element = this.element,\n page;\n\n for (var i = 0; i < VIRTUAL_PAGE_COUNT; i++) {\n page = new Page(element);\n pages.push(page);\n }\n\n this.pane.updateDimension();\n },\n\n resizeTo: function(size) {\n var pages = this.pages,\n pane = this.pane;\n\n for (var i = 0; i < pages.length; i++) {\n pages[i].setWidth(size.width);\n }\n\n if (this.options.contentHeight === \"auto\") {\n this.element.css(\"height\", this.pages[1].element.height());\n }\n\n else if (this.options.contentHeight === \"100%\") {\n var containerHeight = this.element.parent().height();\n\n this.element.css(\"height\", containerHeight);\n pages[0].element.css(\"height\", containerHeight);\n pages[1].element.css(\"height\", containerHeight);\n pages[2].element.css(\"height\", containerHeight);\n }\n else if (this.options.contentHeight) {\n pages[0].element.css(\"height\", this.options.contentHeight);\n pages[1].element.css(\"height\", this.options.contentHeight);\n pages[2].element.css(\"height\", this.options.contentHeight);\n }\n\n pane.updateDimension();\n\n this._repositionPages();\n\n this.width = size.width;\n },\n\n scrollTo: function(page, instant, silent) {\n var that = this;\n var dataReader = that.dataReader;\n\n if (page == that.page && !instant) {\n return;\n }\n\n dataReader.page(page, function(data) {\n if (silent) {\n dataReader.scrollTo(page);\n return;\n }\n if (!that.trigger(\"resize\", { currentPage: that.page, nextPage: page, data: data })) {\n if (!instant) {\n dataReader.pagerScroll = page > that.page ? - 1 : 1;\n that.page = page + dataReader.pagerScroll;\n } else {\n that.page = page;\n }\n dataReader.scrollTo(page);\n }\n });\n },\n paneMoved: function(swipeType, bounce, callback, /*internal*/ instant) {\n var that = this,\n pane = that.pane,\n width = pane.size().width,\n offset = pane.offset(),\n thresholdPassed = Math.abs(offset) >= width / 3,\n ease = bounce ? kendo.effects.Transition.easeOutBack : kendo.effects.Transition. easeOutExpo,\n isEndReached = that.page + 2 > that.pageCount,\n nextPage,\n delta = 0,\n data,\n element;\n\n if (swipeType === RIGHT_SWIPE) {\n if (that.page !== 0) {\n delta = -1; //backward\n }\n } else if (swipeType === LEFT_SWIPE && !isEndReached) {\n delta = 1; //forward\n } else if (offset > 0 && (thresholdPassed && !isEndReached)) {\n delta = 1; //forward\n } else if (offset < 0 && thresholdPassed) {\n if (that.page !== 0) {\n delta = -1; //backward\n }\n }\n\n nextPage = that.page;\n if (delta) {\n nextPage = (delta > 0) ? nextPage + 1 : nextPage - 1;\n\n if (that instanceof kendo.ui.VirtualScrollViewContent) {\n that.dataReader.page(nextPage);\n data = that.dataReader.getViewData();\n }\n else {\n data = undefined$1;\n }\n\n if (!(data instanceof Array)) {\n data = [data];\n }\n element = that.pages ? that.pages[1].element : undefined$1;\n\n }\n\n if (callback && that.page != nextPage && callback({ currentPage: that.page, nextPage: nextPage, element: element, data: data })) {\n delta = 0;\n }\n\n if (delta === 0) {\n that._cancelMove(ease, instant);\n } else if (delta === -1) {\n that._moveBackward(instant);\n } else if (delta === 1) {\n that._moveForward(instant);\n }\n },\n\n updatePage: function() {\n var pages = this.pages;\n\n if (this.pane.offset() === 0) {\n return false;\n }\n\n if (this.pane.offset() > 0) {\n pages.push(this.pages.shift());//forward\n this.page++;\n if (this.page + 2 < this.pageCount) {\n this.dataReader.pendingRequestArray.push(this.page + 2);\n }\n if (this.page + 1 < this.pageCount) {\n this.dataReader.page(this.page + 1);\n }\n\n if (this.page + 1 == this.pageCount) {\n this.setPageContent(this.pages[2], null);\n }\n\n } else {\n pages.unshift(this.pages.pop()); //back\n this.page--;\n if (this.page - 2 >= 0) {\n this.dataReader.pendingRequestArray.push(this.page - 2);\n }\n if (this.page - 1 >= 0) {\n this.dataReader.page(this.page - 1);\n }\n }\n\n this._repositionPages();\n\n this._resetMovable();\n\n return true;\n },\n\n forcePageUpdate: function() {\n var offset = this.pane.offset(),\n threshold = this.pane.size().width * 3 / 4;\n\n if (abs(offset) > threshold) {\n return this.updatePage();\n }\n\n return false;\n },\n\n _resetMovable: function() {\n this.pane.moveTo(0);\n },\n\n _moveForward: function(instant) {\n this.pane.transitionTo(-this.width, kendo.effects.Transition.easeOutExpo, instant);\n },\n\n _moveBackward: function(instant) {\n this.pane.transitionTo(this.width, kendo.effects.Transition.easeOutExpo, instant);\n },\n\n _cancelMove: function(ease, /*internal*/ instant) {\n this.pane.transitionTo(0, ease, instant);\n },\n\n _resetPages: function() {\n this.page = this.options.page || 0;\n this._repositionPages();\n\n this.trigger(\"reset\");\n },\n\n _onPage: function(e) {\n if (e.page >= this.pageCount) {\n this.setPageContent(this.pages[2], null);\n }\n if (this.page == e.page) {\n if (!this.dataReader.pagerScroll || this.dataReader.pagerScroll === 0 && this.dataReader.initialFetch) {\n this.setPageContent(this.pages[1], this.dataReader.getViewData());\n }\n else {\n if (this.dataReader.pagerScroll < 0) {\n this._moveForward();\n }\n else {\n this._moveBackward();\n }\n\n this.dataReader.pagerScroll = 0;\n this.setPageContent(this.pages[1], this.dataReader.getViewData());\n }\n }\n else if (this.page + 1 == e.page) {\n this.setPageContent(this.pages[2], this.dataReader.getViewData());\n }\n else if (this.page - 1 == e.page) {\n this.setPageContent(this.pages[0], this.dataReader.getViewData());\n }\n\n if (this.dataReader.pendingRequestArray.length > 0 && this.dataReader.initialFetch) {\n var item = this.dataReader.pendingRequestArray.shift();\n this.dataReader.page(item);\n }\n },\n\n _onReset: function() {\n this.pageCount = ceil(this.dataSource.total() / this.dataSource.pageSize());\n },\n\n _repositionPages: function() {\n var pages = this.pages;\n\n pages[0].position(LEFT_PAGE);\n pages[1].position(CETER_PAGE);\n pages[2].position(RIGHT_PAGE);\n },\n\n setPageContent: function(page, data) {\n var template = this.template,\n emptyTemplate = this.emptyTemplate;\n\n if (data !== null && data !== undefined$1) {\n page.content(template(data));\n } else {\n page.content(emptyTemplate({}));\n }\n },\n\n destroy: function() {\n var that = this;\n var pages = that.pages;\n\n that.dataReader.unbind();\n that.dataSource.unbind();\n that.dataReader = that.dataSource = that.pane = null;\n\n for (var index = 0; index < pages.length; index++) {\n pages[index].destroy();\n }\n\n that.element.remove();\n }\n });\n\n kendo.ui.VirtualScrollViewContent = VirtualScrollViewContent;\n\n var Page = kendo.Class.extend({\n init: function(container) {\n this.element = $(\"
  • \");\n this.element.css({\n position: \"absolute\",\n top: \"0\",\n left: \"0\"\n });\n\n this.width = container.width();\n this.element.width(this.width);\n container.append(this.element);\n },\n\n content: function(theContent) {\n this.element.html(theContent);\n },\n\n position: function(position) { //position can be -1, 0, 1\n this.element.css(\"transform\", \"translate3d(\" + this.width * position + \"px, 0, 0)\");\n },\n\n setWidth: function(width) {\n this.width = width;\n this.element.width(width);\n },\n\n destroy: function() {\n var that = this;\n\n that.element.remove();\n that.element = null;\n }\n });\n\n kendo.ui.VirtualPage = Page;\n\n var ScrollView = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n options = that.options;\n element = that.element;\n\n kendo.stripWhitespace(element[0]);\n var scrollViewWrap = $(`<${element.children().length === 0 ? 'ul' : 'div'} class=\"k-scrollview-wrap\" />`);\n\n element.wrapInner(scrollViewWrap);\n\n that.itemsWrapper = element.find(\".k-scrollview-wrap\");\n\n element.addClass(className(\"scrollview\"));\n\n that._initNavigation();\n\n if (this.options.pageable || this.options.enablePager) {\n this.pager = new Pager(this);\n\n if (this.options.pagerOverlay === \"dark\") {\n element.addClass(className(\"scrollview-dark\"));\n } else if (this.options.pagerOverlay === \"light\") {\n element.addClass(className(\"scrollview-light\"));\n }\n } else {\n this._changeProxy = that._toggleNavigation.bind(that);\n this.bind(CHANGE, this._changeProxy);\n }\n\n that.inner = element.children().first();\n that.page = 0;\n\n that.inner.css(\"height\", options.contentHeight);\n\n that.pane = new ElasticPane(that.inner, {\n duration: this.options.duration,\n transitionEnd: this._transitionEnd.bind(this),\n dragStart: this._dragStart.bind(this),\n dragEnd: this._dragEnd.bind(this),\n change: this[REFRESH].bind(this)\n });\n\n that.bind(\"resize\", function() {\n that.pane.refresh();\n });\n\n that.page = options.page;\n\n var empty = this.inner.children().length === 0;\n\n var content = empty ? new VirtualScrollViewContent(that.inner, that.pane, options) : new ScrollViewContent(that.inner, that.pane, options);\n\n content.page = that.page;\n\n content.bind(\"reset\", function() {\n this._pendingPageRefresh = false;\n that.trigger(REFRESH, { pageCount: content.pageCount, page: content.page });\n that._toggleNavigation({ currentPage: content.page, nextPage: content.page });\n });\n\n content.bind(\"resize\", function(e) {\n var currentPage = content.page;\n var nextPage = e.nextPage;\n\n if (currentPage != nextPage) {\n e._defaultPrevented = that.trigger(CHANGE, { currentPage: content.page, nextPage: e.nextPage, data: e.data });\n }\n that._toggleNavigation({ currentPage: content.page, nextPage: e.nextPage });\n });\n\n content.bind(ITEM_CHANGE, function(e) {\n that.trigger(ITEM_CHANGE, e);\n });\n\n that._content = content;\n that.setDataSource(options.dataSource);\n that.viewInit();\n that.viewShow();\n\n that._navigatable();\n\n },\n\n options: {\n name: \"ScrollView\",\n ARIATemplate: ({ index, total }) => `Item ${index} of ${total}`,\n page: 0,\n duration: 400,\n velocityThreshold: 0.8,\n contentHeight: \"auto\",\n pageSize: 1,\n bounceVelocityThreshold: 1.6,\n enablePager: true,\n enableNavigationButtons: true,\n pagerOverlay: \"none\",\n navigatable: false,\n autoBind: true,\n pageable: false,\n template: () => \"\",\n emptyTemplate: () => \"\",\n messages: {\n previousButtonLabel: \"Previous\",\n nextButtonLabel: \"Next\",\n pagerLabel: \"ScrollView pager\"\n }\n },\n\n events: [\n CHANGING,\n CHANGE,\n REFRESH\n ],\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n this._content.destroy();\n this.pane.destroy();\n\n if (this.pager) {\n this.pager.destroy();\n }\n\n this._navigationContainer.off(NS);\n this._navigationContainer = null;\n this.itemsWrapper.off(NS);\n this.itemsWrapper = null;\n\n this.ariaLiveEl = this._current = null;\n\n this.inner = null;\n kendo.destroy(this.element);\n },\n\n viewInit: function() {\n if (this.options.autoBind) {\n this._content.scrollTo(this._content.page, true, true);\n }\n },\n\n viewShow: function() {\n this.pane.refresh();\n },\n\n refresh: function() {\n var content = this._content;\n var options = this.options;\n\n content.resizeTo(this.pane.size());\n this.page = content.page;\n\n if (content instanceof ScrollViewContent || content.dataReader.initialFetch) {\n if (options.enablePager) {\n this.trigger(REFRESH, { pageCount: content.pageCount, page: content.page });\n }\n else {\n this.trigger(CHANGE, { pageCount: content.pageCount, currentPage: content.page });\n }\n }\n },\n\n content: function(html) {\n this.element.children().first().html(html);\n this._content._getPages();\n this.pane.refresh();\n },\n\n scrollTo: function(page, instant, silent) {\n this._content.scrollTo(page, instant, silent);\n },\n\n prev: function() {\n var that = this,\n prevPage = that._content.page - 1;\n\n if (that._content instanceof VirtualScrollViewContent) {\n that._content.paneMoved(RIGHT_SWIPE, undefined$1, function(eventData) {\n return that.trigger(CHANGE, eventData);\n });\n } else if (prevPage > -1) {\n that.scrollTo(prevPage);\n }\n },\n\n next: function() {\n var that = this,\n nextPage = that._content.page + 1;\n\n if (that._content instanceof VirtualScrollViewContent) {\n that._content.paneMoved(LEFT_SWIPE, undefined$1, function(eventData) {\n return that.trigger(CHANGE, eventData);\n });\n } else if (nextPage < that._content.pageCount) {\n that.scrollTo(nextPage);\n }\n },\n\n setDataSource: function(dataSource) {\n var that = this;\n if (!(this._content instanceof VirtualScrollViewContent)) {\n return;\n }\n // the scrollview should have a ready datasource for MVVM to function properly. But an empty datasource should not empty the element\n var emptyDataSource = !dataSource;\n if (dataSource instanceof DataSource) {\n dataSource.options.pageSize = dataSource.options.pageSize || 1;\n this.dataSource = dataSource = new DataSource(dataSource.options);\n }\n else {\n this.dataSource = DataSource.create(dataSource);\n }\n\n this._content.setDataSource(this.dataSource);\n\n if (this.options.autoBind && !emptyDataSource) {\n this.dataSource.fetch(function() {\n that._content.dataReader.initialFetch = true;\n that.scrollTo(that._content.page, true, true);\n that._content.trigger(\"reset\");\n });\n }\n },\n\n items: function() {\n return this.element.find(\".k-\" + VIRTUAL_PAGE_CLASS);\n },\n\n _updateAria: function() {\n var content = this._content;\n\n this.ariaLiveEl.html(this._ariaTemplate({ index: (content.page + 1), total: content.pageCount }));\n },\n\n _setCurrent: function(current) {\n if (!this._focused) {\n return;\n }\n var that = this;\n var page = that._content.page;\n var id = kendo.guid();\n var children = that.itemsWrapper.children();\n var next = $(current || children.eq(page));\n\n if (that._content.pages) {\n children.attr(\"aria-hidden\", true);\n that._content.pages[1].element.removeAttr(\"aria-hidden\");\n return;\n }\n\n if (that._current) {\n $(that._current)\n .removeClass(FOCUSED)\n .removeAttr(\"id\");\n\n children.attr(\"aria-hidden\", true);\n }\n\n next.addClass(FOCUSED);\n that._updateAria();\n that._current = next;\n },\n\n _dragStart: function() {\n this._content.forcePageUpdate();\n },\n\n _dragEnd: function(e) {\n var that = this,\n velocity = e.x.velocity,\n velocityThreshold = this.options.velocityThreshold,\n swipeType = NUDGE,\n bounce = abs(velocity) > this.options.bounceVelocityThreshold;\n\n if (velocity > velocityThreshold) {\n swipeType = RIGHT_SWIPE;\n } else if (velocity < -velocityThreshold) {\n swipeType = LEFT_SWIPE;\n }\n\n this._content.paneMoved(swipeType, bounce, function(eventData) {\n return that.trigger(CHANGE, eventData);\n });\n },\n\n _transitionEnd: function() {\n this._content.updatePage();\n this._setCurrent();\n },\n\n _initNavigation: function() {\n var that = this;\n var prevArrow;\n var nextArrow;\n var messages = that.options.messages;\n var navigationContainer = that._navigationContainer = $(\"
    \");\n var itemsWrapper = that.itemsWrapper;\n var itemsWrapperId = itemsWrapper.attr(\"id\") || kendo.guid();\n\n itemsWrapper.attr(\"id\", itemsWrapperId);\n\n prevArrow = $(`${kendo.ui.icon({ icon: \"chevron-left\", size: \"xxxlarge\" })}`);\n nextArrow = $(`${kendo.ui.icon({ icon: \"chevron-right\", size: \"xxxlarge\" })}`);\n\n prevArrow.hide();\n nextArrow.hide();\n\n navigationContainer.append(prevArrow);\n navigationContainer.append(nextArrow);\n that.element.append(navigationContainer);\n\n that.ariaLiveEl = $(\"
    \");\n that.element.append(that.ariaLiveEl);\n\n navigationContainer.on(CLICK + NS, \"span.k-scrollview-prev\", that.prev.bind(that));\n navigationContainer.on(CLICK + NS, \"span.k-scrollview-next\", that.next.bind(that));\n },\n\n _navigatable: function() {\n var that = this;\n var navigationContainer = that._navigationContainer;\n\n that._ariaTemplate = kendo.template(that.options.ARIATemplate);\n\n navigationContainer.on(KEYDOWN + NS, that, function(e) {\n var target = $(e.target);\n if (e.keyCode == keys.SPACEBAR || e.keyCode == keys.ENTER) {\n e.preventDefault();\n target.click();\n }\n });\n\n that.element.attr({\n tabindex: 0,\n role: \"application\",\n \"aria-roledescription\": \"carousel\"\n });\n\n that.itemsWrapper\n .attr(\"role\", \"list\")\n .children()\n .addClass(\"k-scrollview-view\")\n .attr({\n \"role\": \"listitem\",\n \"aria-roledescription\": \"slide\"\n });\n\n if (!that.options.navigatable) {\n return;\n }\n\n navigationContainer.find(\">span.k-scrollview-prev\").attr(TABINDEX, 0);\n navigationContainer.find(\">span.k-scrollview-next\").attr(TABINDEX, 0);\n\n that.element.on(KEYDOWN + NS, that, that._keyDown.bind(that));\n that.element.on(FOCUS + NS, that._focus.bind(that));\n that.element.on(FOCUSOUT + NS, that._blur.bind(that));\n },\n\n _focus: function() {\n var that = this;\n that._focused = true;\n that._setCurrent();\n },\n\n _blur: function() {\n if (this._current) {\n this._current.removeClass(FOCUSED);\n }\n },\n\n _keyDown: function(e) {\n var that = this;\n var handled;\n var key = e.keyCode;\n\n if (key == keys.LEFT) {\n handled = true;\n that.prev();\n }\n\n if (key == keys.RIGHT) {\n handled = true;\n that.next();\n }\n\n if (handled) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n\n _toggleNavigation: function(e) {\n var page = e.nextPage || e.nextPage === 0 ? e.nextPage : e.currentPage;\n var navigationContainer = this._navigationContainer;\n var prevArrow = navigationContainer.find(\">span.k-scrollview-prev\");\n var nextArrow = navigationContainer.find(\">span.k-scrollview-next\");\n\n prevArrow.hide();\n nextArrow.hide();\n\n if (page || page === 0) {\n if (page !== 0) {\n prevArrow.show();\n }\n if (page != this._content.pageCount - 1) {\n nextArrow.show();\n }\n }\n }\n });\n\n ui.plugin(ScrollView);\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n exports.__meta__ = __meta__;\n exports.default = kendo$1;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n"]}