{"version":3,"file":"kendo.pdfviewer.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendopdfviewer","js","this","extend","window","kendo","jQuery","pdfviewer","pdfjs","lib","pdfjsLib","isLoaded","console","error","$","undefined$1","PDFJS","Class","atob","PDFJSProcessor","init","options","viewer","file","fetchDocument","that","deferred","Deferred","messages","errorMessages","_isBase64Data","data","getDocument","promise","then","pdf","pageSizes","pagePromises","_downloadData","getData","blob","Blob","type","resolve","i","numPages","push","getPage","Promise","all","map","pagePromise","viewport","getViewport","scale","width","height","total","pages","catch","e","_triggerError","message","parseError","notFoundError","name","includes","alertMessage","notFound","_renderBlankPage","fetchPageData","number","downloadFile","fileName","ui","progress","pageContainer","done","result","reader","FileReader","readAsDataURL","onload","saveAs","dataURI","proxyURL","_updateDocument","loadingTask","destroy","equalSign","length","test","indexOf","renderTextLayer","params","processor","noop","drawing","Group","Surface","RENDER","geometryTypes","Page","DPLPage","PDFJSPage","DPLProcessor","read","upload","download","ajax","url","dataType","success","stringify","JSON","parse","xhr","responseText","page","document","pageField","geometries","location","fromJSON","json","_clearPages","_renderPages","resize","activatePage","dpl","Path","MultiPath","Rect","Image","Text","pageNumber","element","attr","_updatePageSize","ratio","pageElement","Math","min","size","render","draw","group","surface","_drawGeometries","trigger","load","loaded","_initSurface","surfaceOptions","view","kGeometry","geometry","_drawPath","_drawRect","_drawImage","_drawText","append","rectGeo","point","transform","_getMatrix","fill","fillOptions","stroke","strokeOptions","imageRect","src","font","content","path","paths","subPath","segments","moveTo","apply","j","segment","points","lineTo","curveTo","closed","close","matrix","Object","create","Matrix","prototype","canvas","css","get","fn","call","defaultScale","force","_scale","_page","_renderPromise","dpr","devicePixelRatio","context","getContext","_dpr","_renderTask","cancel","canvasContext","_renderTextLayer","textLayer","remove","getTextContent","normalizeWhitespace","textContent","html","container","textDivs","enhanceTextSelection","isArray","Array","SearchDOM","processDom","highlightClass","charClass","targets","target","textNodes","charIndex","text","forEach","traverseToTextNode","processTextNode","node","nodeType","childNodes","span","wrap","parent","empty","splitChars","children","unwrap","newHtml","innerHTML","search","value","matchCase","match","expression","RegExp","matches","resetMark","resetHighlight","resetMatchIndex","exec","startOffset","index","endOffset","highlightAll","mark","start","end","highlight","matchIndex","find","addClass","removeClass","removeAttr","currentIndex","wrapInner","contents","nextMatch","previousMatch","getMarkedIndex","getFirstMarked","eq","each","item","encode","htmlEncode","EXTENSIONS","keys","ErrorDialog","actions","dialogs","okText","_dialog","kendoDialog","getKendoDialog","open","center","ExportAsDialog","fileFormats","description","exportAsDialog","png","extension","svg","title","_initializeDialog","autoFocus","resizable","modal","preventScroll","maxWidth","template","ref","labels","saveAsType","save","_updateModel","pagesCount","viewModel","set","dialogMessages","dialog","kendoWindow","getKendoWindow","observable","defaultFileName","bind","SearchDialog","dragHandle","icon","iconClass","inputLabel","of","previous","next","dialogElm","dialogOffset","top","position","left","Window","minHeight","draggable","activate","ev","sender","searchModel","boundValue","searchText","matchCaseClick","prev","onKeyup","key","keyCode","navigationFn","shiftKey","ENTER","preventDefault","onInput","parseJSON","Command","OpenCommand","_upload","_initUpload","click","uploadOptions","select","_onSelect","_onSuccess","_onError","complete","_onComplete","showFileList","multiple","validation","allowedExtensions","async","saveUrl","autoUpload","saveField","kendoUpload","getKendoUpload","response","isPlainObject","XMLHttpRequest","notSupported","fileToUpload","files","toLowerCase","fromFile","onerror","readAsArrayBuffer","rawFile","PageChangeCommand","current","targetPage","isNaN","_pageNum","Number","DownloadCommand","info","ExportCommand","_saveDialog","_initDialog","exportImage","exportSVG","EnableSelectionCommand","_toggleSelection","EnablePanCommand","OpenSearchCommand","searchDialog","offset","_open","_next","_prev","_close","changeHandler","_change","zoomStartHandler","_closeDialog","openFileHandler","_searchDOM","_initSearchDOM","searchEngine","unbind","_updateSearchModel","toolbar","field","model","_scrollToMark","marked","scroller","_scroller","scrollElement","scrollTo","scrollLeft","ZoomCommand","loadedPagesHeight","containerHeight","clientHeight","updatedVisiblePagesCount","renderTasks","processingLib","_calculateZoom","updateViewer","scrollingStarted","_scrollingStarted","scrollTop","scrollHeight","_resize","zoomScale","pageHeight","_visiblePages","_visiblePagesCount","_loadVisiblePages","_triggerZoomEnd","preventZoom","viewerOptions","visibleCanvas","calculatedDpr","scaleValue","_allowResize","_autoFit","zoomIn","zoomRate","zoomOut","_autoZoomScale","toString","parseInt","replace","zoomMin","zoomMax","updateComboBox","_updateZoomComboBox","PrintCommand","_renderPrintContainer","_loadAllPages","processAfterRender","printContainer","loadPromises","renderPromises","getRenderPromise","_originalScale","zoom","_renderPrintPages","setTimeout","_printDocument","_renderPrintImage","div","img","toDataURL","myWindow","browser","support","write","focus","print","chrome","chromiumEdge","on","popupBlocked","NS","PLUS","MINUS","ZERO","NUMPAD_ZERO","Widget","ERROR","UPDATE","ZOOM_SCALE","PAGE_CHANGE","ZOOMCOMMAND","PROCESSORS","styles","PREDEFINED_ZOOM_VALUES","PDFViewer","deepExtend","_processMessages","_wrapper","_renderToolbar","_initProcessor","_renderPageContainer","_loadDocument","notify","events","pdfjsProcessing","dplProcessing","loadOnDemand","items","defaultPageSize","zoomLevel","actualWidth","autoWidth","fitToWidth","fitToPage","exportAs","pager","first","last","toggleSelection","togglePan","defaultTools","command","spacer","zoomInOut","fillMode","attributes","class","buttons","showText","overflow","component","componentOptions","enable","dataTextField","dataValueField","valuePrimitive","clearOnEscape","commandOn","togglable","selected","spacer2","exportAsTool","pagerTools","rounded","wrapper","_keydown","_resizeHandler","onResize","plusShortcuts","NUMPAD_PLUS","minusShortcuts","NUMPAD_MINUS","zeroShortcuts","shouldExecute","args","ctrlKey","_blankPage","execute","processingOptions","toolbarOptions","tools","_processTools","parentMessages","toolbarElement","appendTo","ToolBar","_toolbarClick","update","_updateToolbar","flatMap","t","zoomLevels","percent","comboOptions","concat","dataSource","p","b","isRtl","direction","rtlDirection","pageOptions","toolbarEl","zoomCombo","toFocus","_getAllItems","isBlank","action","_updatePager","_updateOnBlank","_resetTabIndex","textBox","totalPagesSpan","_togglePagerDisabledClass","prevFirst","closest","nextLast","isPredefined","round","val","_initErrorDialog","_errorDialog","dialogInstance","pagesData","viewerPage","pageData","_attachContainerEvents","_getVisiblePagesCount","clearTimeout","_resizePages","containerWidth","clientWidth","currentRatio","max","_wheel","throttle","activeElement","mobile","Scroller","elastic","_scroll","currentPage","currentPageTop","currentPageHeight","previousPage","prevPageTop","prevPageHeight","containerScrollHeight","containerScrollTop","containerOffsetTop","pageNum","pageIndex","pageToLoadNum","scrollDirection","_prevScrollTop","_preventScroll","abs","floor","originalEvent","wheelDelta","detail","preventComboBoxChange","commandOptions","loadPage","scrollerTopPosition","scrollerTopOffset","pageTopOffset","pageMargin","minVisiblePageNum","maxVisiblePageNum","slice","promises","rootGroup","background","fromRect","color","forceProxy","proxyTarget","setOptions","unbindResize","off","reset","userEvents","_shouldNotMove","toggleClass","_getTextLayers","plugin"],"sources":["kendo.pdfviewer.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.mobile.scroller.js'), require('kendo.toolbar.js'), require('kendo.combobox.js'), require('kendo.textbox.js'), require('kendo.core.js'), require('kendo.drawing.js'), require('kendo.dialog.js'), require('kendo.window.js'), require('kendo.binder.js'), require('kendo.numerictextbox.js'), require('kendo.dropdownlist.js'), require('kendo.icons.js'), require('kendo.upload.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.mobile.scroller', 'kendo.toolbar', 'kendo.combobox', 'kendo.textbox', 'kendo.core', 'kendo.drawing', 'kendo.dialog', 'kendo.window', 'kendo.binder', 'kendo.numerictextbox', 'kendo.dropdownlist', 'kendo.icons', 'kendo.upload'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendopdfviewer = global.kendopdfviewer || {}, global.kendopdfviewer.js = factory()));\n})(this, (function () {\n (function($, undefined$1) {\n var extend = $.extend;\n var isLoaded = function() {\n if (!window.pdfjsLib)\n {\n var console = window.console;\n\n if (console && console.error) {\n console.error(\"PDF.JS required.\");\n }\n\n return false;\n }\n\n kendo.pdfviewer.pdfjs.lib = window.pdfjsLib;\n\n return true;\n };\n\n extend(kendo, {\n pdfviewer: {\n pdfjs: {\n lib: window.pdfjsLib,\n isLoaded: isLoaded\n }\n }\n });\n })(window.kendo.jQuery);\n\n var __meta__$2 = {\n id: \"pdfjs-processor\",\n name: \"PDFJS-Processor\",\n category: \"framework\",\n depends: [ \"core\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Class = kendo.Class,\n extend = $.extend,\n atob = window.atob,\n PDFJS;\n\n var PDFJSProcessor = Class.extend({\n init: function(options, viewer) {\n var that = this;\n\n if (kendo.pdfviewer.pdfjs.isLoaded()) {\n PDFJS = kendo.pdfviewer.pdfjs.lib;\n }\n\n that.file = options.file;\n that.viewer = viewer;\n },\n fetchDocument: function() {\n var that = this,\n deferred = $.Deferred(),\n messages = that.viewer.options.messages.errorMessages;\n\n if (!that.file) {\n return deferred.resolve();\n }\n\n if (that._isBase64Data() && atob)\n {\n that.file.data = atob(that.file.data);\n }\n\n PDFJS.getDocument(this.file).promise.then(function(pdf) {\n var pageSizes = [];\n that.pdf = pdf;\n that.pagePromises = [];\n that._downloadData = $.Deferred();\n\n pdf.getData().then(function(data) {\n var blob = new Blob([data], { type: 'application/pdf' });\n that._downloadData.resolve({\n file: blob\n });\n });\n\n for (var i = 1; i <= pdf.numPages; i++) {\n that.pagePromises.push(pdf.getPage(i));\n }\n\n Promise.all(that.pagePromises).then(function(pagePromises) {\n pageSizes = pagePromises.map(function(pagePromise) {\n var viewport = pagePromise.getViewport({ scale: 4 / 3 });\n return {\n width: viewport.width,\n height: viewport.height\n };\n });\n\n deferred.resolve({\n total: pdf.numPages,\n pages: pageSizes\n });\n }).catch(function(e) {\n that.viewer._triggerError({\n error: e.message,\n message: messages.parseError\n });\n });\n\n }).catch(function(e) {\n var notFoundError = e.name.includes(\"Missing\");\n var alertMessage = notFoundError ? messages.notFound : messages.parseError;\n that.viewer._triggerError({\n error: e.message,\n message: alertMessage\n });\n if (notFoundError) {\n that.viewer._renderBlankPage();\n }\n });\n\n return deferred;\n },\n fetchPageData: function(number) {\n return this.pagePromises[number - 1];\n },\n downloadFile: function(fileName) {\n var that = this;\n kendo.ui.progress(that.viewer.pageContainer, true);\n\n that._downloadData.done(function(result) {\n kendo.ui.progress(that.viewer.pageContainer, false);\n\n var reader = new FileReader();\n reader.readAsDataURL(result.file);\n\n reader.onload = function() {\n kendo.saveAs({\n dataURI: reader.result,\n fileName: fileName + \".pdf\",\n proxyURL: function() {\n return reader.result;\n }\n });\n };\n });\n },\n _updateDocument: function(file) {\n if (this.pdf && this.pdf.loadingTask) {\n this.pdf.loadingTask.destroy();\n }\n\n this.file = file;\n },\n _isBase64Data: function() {\n var data = this.file.data,\n notBase64 = /[^A-Z0-9+\\/=]/i,\n length = data && data.length,\n equalSign;\n\n if (!length || length % 4 !== 0 || notBase64.test(data)) {\n return false;\n }\n\n equalSign = data.indexOf('=');\n\n return equalSign === -1 ||\n equalSign === length - 1 ||\n (equalSign === length - 2 && data[length - 1] === '=');\n },\n renderTextLayer: function(params) {\n PDFJS.renderTextLayer(params);\n }\n });\n\n extend(kendo.pdfviewer.pdfjs, {\n processor: PDFJSProcessor\n });\n })(window.kendo.jQuery);\n\n var __meta__$1 = {\n id: \"dpl-processor\",\n name: \"DPL-Processor\",\n category: \"framework\",\n depends: [ \"core\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n extend = $.extend,\n Class = kendo.Class;\n\n var DPLProcessor = Class.extend({\n init: function(options, viewer) {\n var that = this;\n\n that.options = options;\n that.read = options.read;\n that.upload = options.upload;\n that.download = options.download;\n\n that.viewer = viewer;\n },\n fetchDocument: function() {\n var that = this,\n deferred = $.Deferred(),\n errorMessages = that.viewer.options.messages.errorMessages;\n\n if (!that.read) {\n return deferred.resolve();\n }\n\n $.ajax({\n type: that.read.type,\n url: that.read.url,\n dataType: that.read.dataType,\n success: function(data) {\n if (typeof data != \"string\") {\n data = kendo.stringify(data);\n }\n deferred.resolve(JSON.parse(data));\n },\n error: function(xhr) {\n that.viewer._triggerError({\n error: xhr.responseText,\n message: errorMessages.parseError\n });\n }\n });\n\n return deferred;\n },\n fetchPageData: function(number) {\n var that = this;\n var deferred = $.Deferred();\n var page = that.viewer.document.pages[number - 1];\n var data = {};\n data[that.read.pageField] = number;\n\n if (!page.geometries.length) {\n $.ajax({\n type: that.read.type,\n url: that.read.url,\n data: data,\n success: function(data) {\n deferred.resolve(JSON.parse(data));\n },\n error: function(xhr) {\n that.viewer._triggerError({\n error: xhr.responseText,\n message: that.viewer.options.messages.errorMessages.parseError\n });\n }\n });\n } else {\n deferred.resolve(page);\n }\n\n return deferred;\n },\n downloadFile: function(fileName) {\n window.location = this.download.url + \"?file=\" + fileName;\n },\n\n fromJSON: function(json)\n {\n var viewer = this.viewer;\n viewer._clearPages();\n\n viewer.document = json;\n viewer.document.total = viewer.document.pages.length;\n\n viewer._renderPages();\n viewer.resize(true);\n\n viewer.activatePage(1);\n }\n });\n\n extend(kendo.pdfviewer, {\n dpl: {\n processor: DPLProcessor\n }\n });\n })(window.kendo.jQuery);\n\n (function($, undefined$1) {\n var extend = $.extend,\n noop = $.noop,\n drawing = kendo.drawing,\n Group = drawing.Group,\n Surface = drawing.Surface,\n RENDER = \"render\",\n Class = kendo.Class,\n\n DEFAULT_DPR = 2;\n\n var geometryTypes = {\n Path: \"path\",\n MultiPath: \"multipath\",\n Rect: \"rect\",\n Image: \"image\",\n Text: \"text\"\n };\n\n var Page = Class.extend({\n init: function(options, viewer) {\n this.viewer = viewer;\n this.processor = options.processor;\n this.options = options;\n this.pageNumber = options.number;\n\n this.element = $(\"
\");\n this.element.attr(kendo.attr(\"number\"), this.pageNumber);\n\n this._updatePageSize(options);\n this.width = options.width;\n this.height = options.height;\n },\n resize: function(ratio) {\n var pageElement = this.element;\n\n this._updatePageSize({\n width: Math.min(pageElement.width() * ratio, this.width),\n height: Math.min(pageElement.height() * ratio, this.height)\n });\n },\n _updatePageSize: function(size) {\n this.element\n .width(size.width)\n .height(size.height);\n },\n destroy: function() {\n kendo.destroy(this.element);\n },\n render: noop\n });\n\n var DPLPage = Page.extend({\n draw: function() {\n var that = this,\n geometries = that.options.geometries;\n\n that.group = new Group();\n that.surface.draw(that.group);\n\n that._drawGeometries(geometries);\n\n that.viewer.trigger(RENDER, { page: this });\n kendo.ui.progress(that.element, false);\n },\n load: function() {\n var that = this;\n\n if (that.loaded || !that.processor)\n {\n return;\n }\n\n that.processor.fetchPageData(that.pageNumber).then(function(data) {\n that.options = data;\n that._initSurface();\n that.draw();\n });\n\n that.loaded = true;\n },\n _initSurface: function() {\n var size = {\n width: this.element.width(),\n height: this.element.height()\n };\n var surfaceOptions = extend({ width: this.width, height: this.height }, this.viewer.options.view);\n this.surface = new Surface(this.element, surfaceOptions);\n this._updatePageSize(size);\n },\n _drawGeometries: function(geometries) {\n var that = this,\n kGeometry;\n\n if (!geometries) {\n return;\n }\n\n for (var i = 0; i <= geometries.length; i++) {\n var geometry = geometries[i];\n\n if (!geometry) {\n continue;\n }\n\n switch (geometry.type) {\n case geometryTypes.Path:\n case geometryTypes.MultiPath:\n kGeometry = that._drawPath(geometry);\n break;\n case geometryTypes.Rect:\n kGeometry = that._drawRect(geometry);\n break;\n case geometryTypes.Image:\n kGeometry = that._drawImage(geometry);\n break;\n case geometryTypes.Text:\n kGeometry = that._drawText(geometry);\n break;\n default:\n kGeometry = null;\n break;\n }\n\n if (kGeometry)\n {\n that.group.append(kGeometry);\n }\n }\n },\n _drawRect: function(geometry)\n {\n var rectGeo = new kendo.geometry.Rect(geometry.point, geometry.size);\n\n return new drawing.Rect(rectGeo, {\n transform: this._getMatrix(geometry.transform),\n fill: geometry.fillOptions,\n stroke: geometry.strokeOptions\n });\n },\n\n _drawImage: function(geometry)\n {\n var imageRect = new kendo.geometry.Rect(geometry.point, geometry.size);\n return new drawing.Image(geometry.src, imageRect, {\n transform: this._getMatrix(geometry.transform)\n });\n },\n\n _drawText: function(geometry)\n {\n var options = {\n transform: this._getMatrix(geometry.transform),\n stroke: geometry.strokeOptions,\n fill: geometry.fillOptions,\n font: geometry.font\n };\n return new kendo.drawing.Text(geometry.content, geometry.point, options);\n },\n\n _drawPath: function(geometry)\n {\n var options = {\n transform: this._getMatrix(geometry.transform),\n stroke: geometry.strokeOptions,\n fill: geometry.fillOptions\n };\n var path = new drawing.MultiPath(options);\n\n for (var i = 0; i < geometry.paths.length; i++) {\n var subPath = geometry.paths[i];\n\n if (!subPath.segments)\n {\n return;\n }\n\n path.moveTo.apply(path, subPath.point);\n\n for (var j = 0; j < subPath.segments.length; j++) {\n var segment = subPath.segments[j];\n var drawAction = segment.points.length === 1 ? path.lineTo : path.curveTo;\n drawAction.apply(path, segment.points);\n }\n\n if (subPath.closed) {\n path.close();\n }\n }\n\n return path;\n },\n\n _getMatrix: function(transform) {\n var matrix = Object.create(kendo.geometry.Matrix.prototype);\n kendo.geometry.Matrix.apply(matrix, transform);\n return matrix;\n }\n });\n\n var PDFJSPage = Page.extend({\n init: function(options, viewer) {\n var that = this,\n canvas;\n\n canvas = $(\"\").css({\n width: \"100%\",\n height: \"100%\"\n });\n that.canvas = canvas.get(0);\n\n Page.fn.init.call(that, options, viewer);\n that.canvas.width = that.width;\n that.canvas.height = that.height;\n\n that.element.append(canvas);\n },\n load: function(defaultScale, force) {\n var that = this,\n promise = $.Deferred();\n\n if (that._scale === defaultScale && !force)\n {\n return;\n } else if (that._scale && that._scale !== defaultScale && !force)\n {\n that._scale = defaultScale;\n that.render(defaultScale);\n return promise.resolve(that);\n }\n\n if (that.processor) {\n that.processor.fetchPageData(that.pageNumber).then(function(page) {\n that._page = page;\n that._renderPromise = that.render(defaultScale).then(function() {\n that.viewer.trigger(RENDER, { page: that });\n });\n promise.resolve(that);\n });\n }\n\n that._scale = defaultScale;\n that.loaded = true;\n return promise;\n },\n render: function(scale) {\n var that = this;\n var dpr = window.devicePixelRatio >= DEFAULT_DPR ? window.devicePixelRatio : DEFAULT_DPR;\n var context = this.canvas.getContext('2d'),\n viewport = this._page.getViewport({\n scale: scale\n });\n\n this.canvas.width = viewport.width * dpr;\n this.canvas.height = viewport.height * dpr;\n context.scale(dpr, dpr);\n\n this._scale = scale;\n this._dpr = dpr;\n\n if (this._renderTask)\n {\n this._renderTask.cancel();\n this._renderTask = null;\n }\n\n this._updatePageSize({\n width: viewport.width,\n height: viewport.height\n });\n\n this._renderTask = this._page.render({\n canvasContext: context,\n viewport: viewport\n });\n\n this._renderTextLayer(viewport);\n\n return this._renderTask.promise.then(function() {\n that._renderTask = null;\n\n }).catch(function() {});\n },\n _renderTextLayer: function(viewport) {\n var that = this;\n var page = that._page;\n\n if (that.textLayer) {\n that.textLayer.remove();\n }\n\n that.textLayer = $(\"\").get(0);\n that.element.append(that.textLayer);\n\n page.getTextContent({\n normalizeWhitespace: true\n }).then(function(textContent) {\n $(that.textLayer).css({\n height: viewport.height,\n width: viewport.width\n }).html(\"\"); // Clear content to make sure that refreshing the page will not cause duplication of the text content.\n\n var params = {\n textContent: textContent,\n container: that.textLayer,\n viewport: viewport,\n textDivs: [],\n enhanceTextSelection: true\n };\n\n that.processor.renderTextLayer(params);\n });\n }\n });\n\n extend(kendo.pdfviewer.dpl, {\n geometryTypes: geometryTypes,\n Page: DPLPage\n });\n extend(kendo.pdfviewer.pdfjs, {\n Page: PDFJSPage\n });\n })(window.kendo.jQuery);\n\n (function($, undefined$1) {\n var Class = kendo.Class,\n extend = $.extend,\n isArray = Array.isArray;\n\n var SearchDOM = Class.extend({\n init: function(options) {\n var that = this;\n\n that.options = extend({}, that.options, options);\n\n that.processDom();\n },\n\n options: {\n highlightClass: \"k-search-highlight\",\n charClass: \"k-text-char\"\n },\n\n processDom: function() {\n var that = this;\n\n that.targets = isArray(that.options.target) ? that.options.target : [that.options.target];\n that.textNodes = [];\n that.charIndex = 0;\n that.text = \"\";\n\n that.targets.forEach(function(target) {\n that.traverseToTextNode(target);\n });\n\n for (var i = 0; i < that.textNodes.length; i++) {\n that.processTextNode(that.textNodes[i]);\n }\n },\n\n traverseToTextNode: function(node) {\n var that = this;\n\n if (node.nodeType === 3) {\n that.textNodes.push(node);\n } else {\n for (var i = 0; i < node.childNodes.length; i++) {\n that.traverseToTextNode(node.childNodes[i]);\n }\n }\n },\n\n processTextNode: function(node) {\n var that = this;\n var text = node.textContent;\n var span;\n\n that.text = that.text + text;\n\n if (text.length > 0) {\n span = $(node).wrap(\"\").parent();\n span.empty();\n that.splitChars(span.get(0), text);\n span.children().unwrap();\n }\n },\n\n splitChars: function(span, text) {\n var that = this;\n var newHtml = \"\";\n\n for (var i = 0; i < text.length; i++) {\n newHtml = newHtml + \"