{"version":3,"file":"kendo.progressbar.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoprogressbar","js","this","$","undefined$1","kendo","window","Widget","ui","HORIZONTAL","VERTICAL","KPROGRESSBAR","KPROGRESSBARINDETERMINATE","KPROGRESSBARCOMPLETE","KPROGRESSWRAPPER","KPROGRESSSTATUS","KCOMPLETEDCHUNK","STATEDISABLED","PROGRESS_VALUE","CHUNK_ITEM","PROGRESSTYPE","VALUE","PERCENT","CHUNK","CHANGE","COMPLETE","math","Math","extend","templates","progressStatus","announceElement","ProgressBar","init","element","options","that","fn","call","_progressProperty","orientation","_fields","value","_validateValue","_validateType","type","_wrapper","ariaRole","_aria","_progressAnimation","min","_updateProgress","setOptions","wrapper","hasOwnProperty","toggleClass","reverse","enable","events","name","max","chunkCount","showStatus","animation","label","labelId","attr","role","announce","appendTo","text","_calculatePercentage","toFixed","_isStarted","progressWrapper","currentType","isValid","each","k","Error","format","container","initialValue","addClass","_addChunkProgressWrapper","prepend","find","_value","validated","_roundValue","isNaN","removeClass","removeAttr","parseFloat","power","pow","_round","percentage","_updateChunks","_onProgressUpdateAlways","_updateProgressWrapper","completedChunks","percentagesPerChunk","parseInt","percentageParsed","completedChunksCount","floor","slice","jQuery","animationDuration","_animation","duration","animationCssOptions","length","_addRegularProgressWrapper","animate","start","_onProgressAnimateStart","bind","progress","_onProgressAnimate","complete","_onProgressAnimateComplete","always","show","e","progressStatusWrapSize","progressInPercent","elem","style","css","currentValue","progressValue","progressWrapperSize","hide","trigger","destroy","remove","chunkSize","html","i","append","first","end","last","_normalizeChunkSize","lastChunk","currentSize","difference","_calculateChunkSize","chunkContainer","_onePercent","abs","plugin"],"sources":["kendo.progressbar.js"],"mappings":"CAAA,SAAWA,EAAQC,GACI,iBAAZC,SAA0C,oBAAXC,OAAyBA,OAAOD,QAAUD,EAAQG,QAAQ,kBAC9E,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,kBAAmBJ,KACvED,EAA+B,oBAAfO,WAA6BA,WAAaP,GAAUQ,MAAcC,iBAAmBT,EAAOS,kBAAoB,CAAC,EAAGT,EAAOS,iBAAiBC,GAAKT,IACrK,CAJD,CAIGU,MAAM,WAkgBL,OAzfA,SAAUC,EAAGC,GACT,IAAIC,EAAQC,OAAOD,MAEfE,EADKF,EAAMG,GACCD,OACZE,EAAa,aACbC,EAAW,WAKXC,EAAe,gBAEfC,EAA4B,8BAC5BC,EAAuB,aACvBC,EAAmB,aACnBC,EAAkB,oBAElBC,EAAkB,aAClBC,EAAgB,aAChBC,EAAiB,sBACjBC,EAAa,sBACbC,EAAe,CACXC,MAAO,QACPC,QAAS,UACTC,MAAO,SAEXC,EAAS,SACTC,EAAW,WAEXC,EAAOC,KACPC,EAASzB,EAAEyB,OAIXC,EAAY,CACRC,eAAgB,qGAChBC,gBAAiB,0EAGrBC,EAAczB,EAAOqB,OAAO,CAC5BK,KAAM,SAASC,EAASC,GACpB,IAAIC,EAAOlC,KAEXK,EAAO8B,GAAGJ,KAAKK,KAAKpC,KAAMgC,EAASC,GAEnCA,EAAUC,EAAKD,QAEfC,EAAKG,kBAAqBJ,EAAQK,cAAgB/B,EAAc,QAAU,SAE1E2B,EAAKK,UAELN,EAAQO,MAAQN,EAAKO,eAAeR,EAAQO,OAE5CN,EAAKQ,cAAcT,EAAQU,MAE3BT,EAAKU,WAEDX,EAAQY,UACRX,EAAKY,QAGTZ,EAAKa,qBAEAd,EAAQO,QAAUP,EAAQe,MAA2B,IAAlBf,EAAQO,OAC7CN,EAAKe,iBAEZ,EAEAC,WAAY,SAASjB,GACjB,IAAIC,EAAOlC,KACPmD,EAAUjB,EAAKiB,QAEnB9C,EAAO8B,GAAGe,WAAWd,KAAKF,EAAMD,GAE5BA,EAAQmB,eAAe,YACvBD,EAAQE,YAAY,wBAAyBpB,EAAQqB,SAGrDrB,EAAQmB,eAAe,WACvBlB,EAAKqB,OAAOtB,EAAQsB,QAGpBtB,EAAQY,UACRX,EAAKY,QAGTZ,EAAKa,qBAELb,EAAKO,iBAELP,EAAKe,iBACT,EAEAO,OAAQ,CACJlC,EACAC,GAGJU,QAAS,CACLwB,KAAM,cACNnB,YAAa/B,EACb+C,SAAS,EACTN,IAhGS,EAiGTU,IAhGS,IAiGTlB,MAhGW,EAiGXe,QAAQ,EACRZ,KAAMzB,EAAaC,MACnBwC,WAlGgB,EAmGhBC,YAAY,EACZC,UAAW,CAAE,EACbC,MAAO,KACPC,QAAS,KACTlB,UAAU,GAGdC,MAAO,WACH,IAAIZ,EAAOlC,KACPiC,EAAUC,EAAKD,QACfkB,EAAUjB,EAAKiB,QAEnBA,EAAQa,KAAK,CACTC,KAAQ,cACR,gBAAiBhC,EAAQe,IACzB,gBAAiBf,EAAQyB,MAGvBzB,EAAQ8B,QACVZ,EAAQa,KAAK,kBAAmB/B,EAAQ8B,SAC/B9B,EAAQ6B,OACjBX,EAAQa,KAAK,aAAc/B,EAAQ6B,OAGvC5B,EAAKgC,SAAWjE,EAAE0B,EAAUE,iBAC5BK,EAAKgC,SAASC,SAASlE,EAAE,UAEH,IAAlBgC,EAAQO,QACRW,EAAQa,KAAK,gBAAiB/B,EAAQO,OAEtCN,EAAKgC,SAASE,KAAKlC,EAAKmC,uBAAuBC,UAAY,KAEnE,EAEA/B,QAAS,WACL,IAAIL,EAAOlC,KAEXkC,EAAKqC,YAAa,EAElBrC,EAAKsC,gBAAkBtC,EAAKN,eAAiB3B,GACjD,EAEAyC,cAAe,SAAS+B,GACpB,IAAIC,GAAU,EASd,GAPAzE,EAAE0E,KAAKzD,GAAc,SAAS0D,EAAGjC,GAC7B,GAAIA,IAAS8B,EAET,OADAC,GAAU,GACH,CAEf,KAEKA,EACD,MAAM,IAAIG,MAAM1E,EAAM2E,OAAO,iCAAkCL,GAEvE,EAEA7B,SAAU,WACN,IAAIV,EAAOlC,KACP+E,EAAY7C,EAAKiB,QAAUjB,EAAKF,QAChCC,EAAUC,EAAKD,QACfK,EAAcL,EAAQK,YACtB0C,GAAkC,IAAlB/C,EAAQO,MAAmBP,EAAQO,MAAQP,EAAQe,IAEvE+B,EAAUE,SAASxE,GAEnBsE,EAAUE,SAASxE,EAAe,KAAQ6B,IAAgB/B,EAAcA,EAAaC,KAE9D,IAAnByB,EAAQsB,QACRwB,EAAUE,SAASlE,GAGnBkB,EAAQqB,SACRyB,EAAUE,SA1KI,0BA6KI,IAAlBhD,EAAQO,OACRuC,EAAUE,SAASvE,GAGnBuB,EAAQU,OAASzB,EAAaG,MAC9Ba,EAAKgD,2BAEDjD,EAAQ2B,aACR1B,EAAKN,eAAiBM,EAAKiB,QAAQgC,QAAQxD,EAAUC,gBAC1BwD,KAAK,IAAMvE,GAElCoB,EAAQU,OAASzB,EAAaC,MAC9Be,EAAKN,eAAewC,KAAKY,GAEzB9C,EAAKN,eAAewC,KAAKlC,EAAKmC,qBAAqBW,GAAcV,UAAY,KAI7F,EAEA9B,MAAO,SAASA,GACZ,OAAOxC,KAAKqF,OAAO7C,EACvB,EAEA6C,OAAQ,SAAS7C,GACb,IAEI8C,EAFApD,EAAOlC,KACPiC,EAAUC,EAAKD,QAGnB,GAAIO,IAAUtC,EACV,OAAO+B,EAAQO,MA1Lb,kBA4LSA,GACPA,EAAQN,EAAKqD,YAAY/C,GAEpBgD,MAAMhD,KACP8C,EAAYpD,EAAKO,eAAeD,MAEdP,EAAQO,QACtBN,EAAKiB,QAAQsC,YAAY/E,GAEzBuB,EAAQO,MAAQ8C,EAEhBpD,EAAKqC,YAAa,EAElBrC,EAAKe,oBAGLT,IACRN,EAAKiB,QAAQ8B,SAASvE,GACtBwB,EAAKiB,QAAQuC,WAAW,iBACxBzD,EAAQO,OAAQ,EAEZN,EAAKgC,UACLhC,EAAKgC,SAASE,KAAK,IAInC,EAEAmB,YAAa,SAAS/C,GACjBA,EAAQmD,WAAWnD,GAEnB,IAAIoD,EAAQpE,EAAKqE,IAAI,GAtNd,GAwNP,OAAO1F,EAAM2F,OAAOtD,EAAQoD,GAASA,CAC1C,EAEAnD,eAAgB,SAASD,GACrB,IACIP,EADOjC,KACQiC,QAEnB,IAAc,IAAVO,EAAiB,CACjB,GAAIA,GAASP,EAAQe,MAAiB,IAAVR,EACxB,OAAOP,EAAQe,IACZ,GAAIR,GAASP,EAAQyB,IACxB,OAAOzB,EAAQyB,GAEvB,MAAO,IAAc,IAAVlB,EACP,OAAO,EAGX,OAAIgD,MAbOxF,KAaIuF,YAAY/C,IAChBP,EAAQe,IAGZR,CACX,EAEAS,gBAAiB,WACb,IAAIf,EAAOlC,KACPiC,EAAUC,EAAKD,QACf8D,EAAa7D,EAAKmC,uBAElBpC,EAAQU,OAASzB,EAAaG,OAC9Ba,EAAK8D,cAAcD,GACnB7D,EAAK+D,wBAAwBhE,EAAQO,QAErCN,EAAKgE,uBAAuBH,GAG5B9D,EAAQY,WACRX,EAAKiB,QAAQa,KAAK,gBAAiB9B,EAAKD,QAAQO,OAE5CN,EAAKgC,UACLhC,EAAKgC,SAASE,KAAK2B,EAAWzB,UAAY,KAGtD,EAEA0B,cAAe,SAASD,GACpB,IAMII,EANAjE,EAAOlC,KACPiC,EAAUC,EAAKD,QACf0B,EAAa1B,EAAQ0B,WACrByC,EAAsBC,SA3Qb,IA2QwC1C,EAAc,IAAK,IAAM,IAC1E2C,EAAmBD,SAAsB,IAAbN,EAAkB,IAAM,IACpDQ,EAAuB/E,EAAKgF,MAAMF,EAAmBF,GAKrDD,EAFClE,EAAQK,cAAgB/B,IAAgB0B,EAAe,SACxDA,EAAQK,cAAgB9B,GAAYyB,EAAQqB,QAC1BpB,EAAKiB,QAAQiC,KAAK,MAAQnE,GAAYwF,MAAM,EAAGF,GACjC,IAAzBA,EACWpG,EAAMuG,SAENxE,EAAKiB,QAAQiC,KAAK,MAAQnE,GAAYwF,OAA8B,EAAxBF,GAGlErE,EAAKiB,QAAQiC,KAAK,IAAMtE,GACX2E,YAAY3E,EAAkB,IAAME,GAEjDmF,EAAgBlB,SAASnE,EAAkB,IAAME,EACrD,EAEAkF,uBAAwB,SAASH,GAC7B,IAAI7D,EAAOlC,KACPiC,EAAUC,EAAKD,QACfuC,EAAkBtC,EAAKiB,QAAQiC,KAAK,IAAMxE,GAC1C+F,EAAoBzE,EAAKqC,WAAarC,EAAK0E,WAAWC,SAAW,EACjEC,EAAsB,CAAE,EAEG,IAA3BtC,EAAgBuC,QAChB7E,EAAK8E,6BAGTF,EAAoB5E,EAAKG,mBAAqB0D,EAAa,IAC3D7D,EAAKsC,gBAAgByC,QAAQH,EAAqB,CAC9CD,SAAUF,EACVO,MAAOhF,EAAKiF,wBAAwBC,KAAKlF,GACzCmF,SAAUnF,EAAKoF,mBAAmBF,KAAKlF,GACvCqF,SAAUrF,EAAKsF,2BAA2BJ,KAAKlF,EAAMD,EAAQO,OAC7DiF,OAAQvF,EAAK+D,wBAAwBmB,KAAKlF,EAAMD,EAAQO,QAEhE,EAEA2E,wBAAyB,WACrBnH,KAAKwE,gBAAgBkD,MACzB,EAEAJ,mBAAoB,SAASK,GACzB,IAGIC,EAHA1F,EAAOlC,KACPiC,EAAUC,EAAKD,QACf4F,EAAoBlC,WAAWgC,EAAEG,KAAKC,MAAM7F,EAAKG,mBAAoB,IAGrEJ,EAAQ2B,aACRgE,EAAyB,IAAQjC,WAAWzD,EAAKsC,gBAAgB,GAAGuD,MAAM7F,EAAKG,oBAE/EH,EAAKsC,gBAAgBY,KAAK,2BAA2B4C,IAAI9F,EAAKG,kBAAmBuF,EAAyB,MAG1G3F,EAAQU,OAASzB,EAAaG,OAASwG,GAAqB,IAC5D3F,EAAKsC,gBAAgBiB,YAAY9E,EAEzC,EAEA6G,2BAA4B,SAASS,GACjC,IAGIC,EAHAhG,EAAOlC,KACPiC,EAAUC,EAAKD,QACfkG,EAAsBxC,WAAWzD,EAAKsC,gBAAgB,GAAGuD,MAAM7F,EAAKG,oBAGpEJ,EAAQU,OAASzB,EAAaG,OAAS8G,EAAsB,IAC7DjG,EAAKsC,gBAAgBS,SAAStE,GAG9BsB,EAAQ2B,aAEJsE,EADAjG,EAAQU,OAASzB,EAAaC,MACd8G,EACThG,EAAQU,MAAQzB,EAAaE,QACpBc,EAAKmC,qBAAqB4D,GAAc3D,UAAY,IAEpD9C,EAAKgF,MAAMtE,EAAKmC,qBAAqB4D,IAAiB,IAE1E/F,EAAKN,eAAewC,KAAK8D,IAGzBD,IAAiBhG,EAAQe,KACzBd,EAAKsC,gBAAgB4D,MAE7B,EAEAnC,wBAAyB,SAASgC,GAC9B,IAAI/F,EAAOlC,KACPiC,EAAUC,EAAKD,QAEfC,EAAKqC,YACLrC,EAAKmG,QAAQ/G,EAAQ,CAAEkB,MAAOyF,IAG9BA,IAAiBhG,EAAQyB,KAAOxB,EAAKqC,YACrCrC,EAAKmG,QAAQ9G,EAAU,CAAEiB,MAAOP,EAAQyB,KAEhD,EAEAH,OAAQ,SAASA,GACb,IACItB,EADOjC,KACQiC,QAEnBA,EAAQsB,YAA4B,IAAb,GAAkCA,EAH9CvD,KAINmD,QAAQE,YAAYtC,GAAgBkB,EAAQsB,OACrD,EAEA+E,QAAS,WACL,IAAIpG,EAAOlC,KAEPkC,EAAKgC,UACLhC,EAAKgC,SAASqE,SAGlBlI,EAAO8B,GAAGmG,QAAQlG,KAAKF,EAC3B,EAEAgD,yBAA0B,WACtB,IAAIhD,EAAOlC,KACPiC,EAAUC,EAAKD,QACf8C,EAAY7C,EAAKiB,QACjBqF,EAtYS,IAsYoBvG,EAAQ0B,WACrC8E,EAAO,GAEPxG,EAAQ0B,YAAc,IACtB1B,EAAQ0B,WAAa,GAGzBzB,EAAKF,QAAQiD,SAAS,uBACtBwD,GAAQ,4CACR,IAAK,IAAIC,EAAIzG,EAAQ0B,WAAa,EAAG+E,GAAK,EAAGA,IACzCD,GAAQ,cAAgBxH,EAAa,UAEzCwH,GAAQ,QAER1D,EAAU4D,OAAOF,GAAMrD,KAAK,IAAMnE,GAAY+G,IAAI9F,EAAKG,kBAAmBmG,EAAY,KAC5EI,QAAQ3D,SAAS,WACjB4D,MACAC,OAAO7D,SAAS,UAE1B/C,EAAK6G,qBACT,EAEAA,oBAAqB,WACjB,IAAI7G,EAAOlC,KACPiC,EAAUC,EAAKD,QACf+G,EAAY9G,EAAKiB,QAAQiC,KAAK,IAAMnE,GAAY6H,OAChDG,EAActD,WAAWqD,EAAU,GAAGjB,MAAM7F,EAAKG,oBACjD6G,EAjaS,IAiasBjH,EAAQ0B,WAAasF,EAEpDC,EAAa,GACbF,EAAUhB,IAAI9F,EAAKG,kBAAoB4G,EAAcC,EAAc,IAE3E,EAEAlC,2BAA4B,WACxB,IAAI9E,EAAOlC,KAEXkC,EAAKsC,gBAAkBvE,EAAE,eAAiBW,EAAmB,IAAMI,EAAiB,YAAYmD,SAASjC,EAAKiB,SAE1GjB,EAAKD,QAAQ2B,aACb1B,EAAKsC,gBAAgBmE,OAAOhH,EAAUC,gBAEtCM,EAAKN,eAAiBM,EAAKiB,QAAQiC,KAAK,IAAMvE,GAEtD,EAEAsI,oBAAqB,WACjB,IAAIjH,EAAOlC,KACP2D,EAAazB,EAAKD,QAAQ0B,WAC1ByF,EAAiBlH,EAAKiB,QAAQiC,KAAK,cAEvC,OAAQiB,SAAS+C,EAAepB,IAAI9F,EAAKG,mBAAoB,KAAOsB,EAAa,IAAMA,CAC3F,EAEAU,qBAAsB,SAAS4D,GAC3B,IAAI/F,EAAOlC,KACPiC,EAAUC,EAAKD,QACfO,EAASyF,IAAiB/H,EAAe+H,EAAehG,EAAQO,MAChEQ,EAAMf,EAAQe,IACdU,EAAMzB,EAAQyB,IAGlB,OAFAxB,EAAKmH,YAAc7H,EAAK8H,KAAK5F,EAAMV,GAAO,KAEnCxB,EAAK8H,KAAK9G,EAAQQ,GAAOd,EAAKmH,YACzC,EAEAtG,mBAAoB,WAChB,IAAIb,EAAOlC,KACPiC,EAAUC,EAAKD,QACf4B,EAAY5B,EAAQ4B,UAGpB3B,EAAK0E,YADS,IAAd/C,EACkB,CAAEgD,SAAU,GAEZnF,EAAO,CACrBmF,SA/ce,KAgdhB5E,EAAQ4B,UAEnB,IAGJ1D,EAAMG,GAAGiJ,OAAOzH,EACnB,CAtfD,CAsfG1B,OAAOD,MAAMuG,QACFvG,KAIjB","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoprogressbar = global.kendoprogressbar || {}, global.kendoprogressbar.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"progressbar\",\n name: \"ProgressBar\",\n category: \"web\",\n description: \"The ProgressBar offers rich functionality for displaying and tracking progress\",\n depends: [ \"core\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n Widget = ui.Widget,\n HORIZONTAL = \"horizontal\",\n VERTICAL = \"vertical\",\n DEFAULTMIN = 0,\n DEFAULTMAX = 100,\n DEFAULTVALUE = 0,\n DEFAULTCHUNKCOUNT = 5,\n KPROGRESSBAR = \"k-progressbar\",\n KPROGRESSBARREVERSE = \"k-progressbar-reverse\",\n KPROGRESSBARINDETERMINATE = \"k-progressbar-indeterminate\",\n KPROGRESSBARCOMPLETE = \"k-complete\",\n KPROGRESSWRAPPER = \"k-selected\",\n KPROGRESSSTATUS = \"k-progress-status\",\n LABEL_POSITION_END = \"k-progress-end\",\n KCOMPLETEDCHUNK = \"k-selected\",\n STATEDISABLED = \"k-disabled\",\n PROGRESS_VALUE = \"k-progressbar-value\",\n CHUNK_ITEM = \"k-progressbar-chunk\",\n PROGRESSTYPE = {\n VALUE: \"value\",\n PERCENT: \"percent\",\n CHUNK: \"chunk\"\n },\n CHANGE = \"change\",\n COMPLETE = \"complete\",\n BOOLEAN = \"boolean\",\n math = Math,\n extend = $.extend,\n HUNDREDPERCENT = 100,\n DEFAULTANIMATIONDURATION = 400,\n PRECISION = 3,\n templates = {\n progressStatus: \"\",\n announceElement: ''\n };\n\n var ProgressBar = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(this, element, options);\n\n options = that.options;\n\n that._progressProperty = (options.orientation === HORIZONTAL) ? \"width\" : \"height\";\n\n that._fields();\n\n options.value = that._validateValue(options.value);\n\n that._validateType(options.type);\n\n that._wrapper();\n\n if (options.ariaRole) {\n that._aria();\n }\n\n that._progressAnimation();\n\n if ((options.value !== options.min) && (options.value !== false)) {\n that._updateProgress();\n }\n },\n\n setOptions: function(options) {\n var that = this,\n wrapper = that.wrapper;\n\n Widget.fn.setOptions.call(that, options);\n\n if (options.hasOwnProperty(\"reverse\")) {\n wrapper.toggleClass(\"k-progressbar-reverse\", options.reverse);\n }\n\n if (options.hasOwnProperty(\"enable\")) {\n that.enable(options.enable);\n }\n\n if (options.ariaRole) {\n that._aria();\n }\n\n that._progressAnimation();\n\n that._validateValue();\n\n that._updateProgress();\n },\n\n events: [\n CHANGE,\n COMPLETE\n ],\n\n options: {\n name: \"ProgressBar\",\n orientation: HORIZONTAL,\n reverse: false,\n min: DEFAULTMIN,\n max: DEFAULTMAX,\n value: DEFAULTVALUE,\n enable: true,\n type: PROGRESSTYPE.VALUE,\n chunkCount: DEFAULTCHUNKCOUNT,\n showStatus: true,\n animation: { },\n label: null,\n labelId: null,\n ariaRole: false\n },\n\n _aria: function() {\n var that = this,\n options = that.options,\n wrapper = that.wrapper;\n\n wrapper.attr({\n \"role\": \"progressbar\",\n \"aria-valuemin\": options.min,\n \"aria-valuemax\": options.max\n });\n\n if (!!options.labelId) {\n wrapper.attr(\"aria-labelledby\", options.labelId);\n } else if (!!options.label) {\n wrapper.attr(\"aria-label\", options.label);\n }\n\n that.announce = $(templates.announceElement);\n that.announce.appendTo($(\"body\"));\n\n if (options.value !== false) {\n wrapper.attr(\"aria-valuenow\", options.value);\n\n that.announce.text(that._calculatePercentage().toFixed() + \"%\");\n }\n },\n\n _fields: function() {\n var that = this;\n\n that._isStarted = false;\n\n that.progressWrapper = that.progressStatus = $();\n },\n\n _validateType: function(currentType) {\n var isValid = false;\n\n $.each(PROGRESSTYPE, function(k, type) {\n if (type === currentType) {\n isValid = true;\n return false;\n }\n });\n\n if (!isValid) {\n throw new Error(kendo.format(\"Invalid ProgressBar type '{0}'\", currentType));\n }\n },\n\n _wrapper: function() {\n var that = this;\n var container = that.wrapper = that.element;\n var options = that.options;\n var orientation = options.orientation;\n var initialValue = (options.value !== false) ? options.value : options.min;\n\n container.addClass(KPROGRESSBAR);\n\n container.addClass(KPROGRESSBAR + \"-\" + ((orientation === HORIZONTAL) ? HORIZONTAL : VERTICAL));\n\n if (options.enable === false) {\n container.addClass(STATEDISABLED);\n }\n\n if (options.reverse) {\n container.addClass(KPROGRESSBARREVERSE);\n }\n\n if (options.value === false) {\n container.addClass(KPROGRESSBARINDETERMINATE);\n }\n\n if (options.type === PROGRESSTYPE.CHUNK) {\n that._addChunkProgressWrapper();\n } else {\n if (options.showStatus) {\n that.progressStatus = that.wrapper.prepend(templates.progressStatus)\n .find(\".\" + KPROGRESSSTATUS);\n\n if (options.type === PROGRESSTYPE.VALUE) {\n that.progressStatus.text(initialValue);\n } else {\n that.progressStatus.text(that._calculatePercentage(initialValue).toFixed() + \"%\");\n }\n }\n }\n },\n\n value: function(value) {\n return this._value(value);\n },\n\n _value: function(value) {\n var that = this;\n var options = that.options;\n var validated;\n\n if (value === undefined$1) {\n return options.value;\n } else {\n if (typeof value !== BOOLEAN) {\n value = that._roundValue(value);\n\n if (!isNaN(value)) {\n validated = that._validateValue(value);\n\n if (validated !== options.value) {\n that.wrapper.removeClass(KPROGRESSBARINDETERMINATE);\n\n options.value = validated;\n\n that._isStarted = true;\n\n that._updateProgress();\n }\n }\n } else if (!value) {\n that.wrapper.addClass(KPROGRESSBARINDETERMINATE);\n that.wrapper.removeAttr(\"aria-valuenow\");\n options.value = false;\n\n if (that.announce) {\n that.announce.text(\"\");\n }\n }\n }\n },\n\n _roundValue: function(value) {\n value = parseFloat(value);\n\n var power = math.pow(10, PRECISION);\n\n return kendo._round(value * power) / power;\n },\n\n _validateValue: function(value) {\n var that = this;\n var options = that.options;\n\n if (value !== false) {\n if (value <= options.min || value === true) {\n return options.min;\n } else if (value >= options.max) {\n return options.max;\n }\n } else if (value === false) {\n return false;\n }\n\n if (isNaN(that._roundValue(value))) {\n return options.min;\n }\n\n return value;\n },\n\n _updateProgress: function() {\n var that = this;\n var options = that.options;\n var percentage = that._calculatePercentage();\n\n if (options.type === PROGRESSTYPE.CHUNK) {\n that._updateChunks(percentage);\n that._onProgressUpdateAlways(options.value);\n } else {\n that._updateProgressWrapper(percentage);\n }\n\n if (options.ariaRole) {\n that.wrapper.attr(\"aria-valuenow\", that.options.value);\n\n if (that.announce) {\n that.announce.text(percentage.toFixed() + \"%\");\n }\n }\n },\n\n _updateChunks: function(percentage) {\n var that = this;\n var options = that.options;\n var chunkCount = options.chunkCount;\n var percentagesPerChunk = parseInt((HUNDREDPERCENT / chunkCount) * 100, 10) / 100;\n var percentageParsed = parseInt(percentage * 100, 10) / 100;\n var completedChunksCount = math.floor(percentageParsed / percentagesPerChunk);\n var completedChunks;\n\n if ((options.orientation === HORIZONTAL && !(options.reverse)) ||\n (options.orientation === VERTICAL && options.reverse)) {\n completedChunks = that.wrapper.find(\"li.\" + CHUNK_ITEM).slice(0, completedChunksCount);\n } else if (completedChunksCount === 0) {\n completedChunks = kendo.jQuery();\n } else {\n completedChunks = that.wrapper.find(\"li.\" + CHUNK_ITEM).slice(completedChunksCount * -1);\n }\n\n that.wrapper.find(\".\" + KCOMPLETEDCHUNK)\n .removeClass(KCOMPLETEDCHUNK + \" \" + PROGRESS_VALUE);\n\n completedChunks.addClass(KCOMPLETEDCHUNK + \" \" + PROGRESS_VALUE);\n },\n\n _updateProgressWrapper: function(percentage) {\n var that = this;\n var options = that.options;\n var progressWrapper = that.wrapper.find(\".\" + KPROGRESSWRAPPER);\n var animationDuration = that._isStarted ? that._animation.duration : 0;\n var animationCssOptions = { };\n\n if (progressWrapper.length === 0) {\n that._addRegularProgressWrapper();\n }\n\n animationCssOptions[that._progressProperty] = percentage + \"%\";\n that.progressWrapper.animate(animationCssOptions, {\n duration: animationDuration,\n start: that._onProgressAnimateStart.bind(that),\n progress: that._onProgressAnimate.bind(that),\n complete: that._onProgressAnimateComplete.bind(that, options.value),\n always: that._onProgressUpdateAlways.bind(that, options.value)\n });\n },\n\n _onProgressAnimateStart: function() {\n this.progressWrapper.show();\n },\n\n _onProgressAnimate: function(e) {\n var that = this;\n var options = that.options;\n var progressInPercent = parseFloat(e.elem.style[that._progressProperty], 10);\n var progressStatusWrapSize;\n\n if (options.showStatus) {\n progressStatusWrapSize = 10000 / parseFloat(that.progressWrapper[0].style[that._progressProperty]);\n\n that.progressWrapper.find(\".k-progress-status-wrap\").css(that._progressProperty, progressStatusWrapSize + \"%\");\n }\n\n if (options.type !== PROGRESSTYPE.CHUNK && progressInPercent <= 98) {\n that.progressWrapper.removeClass(KPROGRESSBARCOMPLETE);\n }\n },\n\n _onProgressAnimateComplete: function(currentValue) {\n var that = this;\n var options = that.options;\n var progressWrapperSize = parseFloat(that.progressWrapper[0].style[that._progressProperty]);\n var progressValue;\n\n if (options.type !== PROGRESSTYPE.CHUNK && progressWrapperSize > 98) {\n that.progressWrapper.addClass(KPROGRESSBARCOMPLETE);\n }\n\n if (options.showStatus) {\n if (options.type === PROGRESSTYPE.VALUE) {\n progressValue = currentValue;\n } else if (options.type == PROGRESSTYPE.PERCENT) {\n progressValue = that._calculatePercentage(currentValue).toFixed() + \"%\";\n } else {\n progressValue = math.floor(that._calculatePercentage(currentValue)) + \"%\";\n }\n that.progressStatus.text(progressValue);\n }\n\n if (currentValue === options.min) {\n that.progressWrapper.hide();\n }\n },\n\n _onProgressUpdateAlways: function(currentValue) {\n var that = this;\n var options = that.options;\n\n if (that._isStarted) {\n that.trigger(CHANGE, { value: currentValue });\n }\n\n if (currentValue === options.max && that._isStarted) {\n that.trigger(COMPLETE, { value: options.max });\n }\n },\n\n enable: function(enable) {\n var that = this;\n var options = that.options;\n\n options.enable = typeof(enable) === \"undefined\" ? true : enable;\n that.wrapper.toggleClass(STATEDISABLED, !options.enable);\n },\n\n destroy: function() {\n var that = this;\n\n if (that.announce) {\n that.announce.remove();\n }\n\n Widget.fn.destroy.call(that);\n },\n\n _addChunkProgressWrapper: function() {\n var that = this;\n var options = that.options;\n var container = that.wrapper;\n var chunkSize = HUNDREDPERCENT / options.chunkCount;\n var html = \"\";\n\n if (options.chunkCount <= 1) {\n options.chunkCount = 1;\n }\n\n that.element.addClass(\"k-chunk-progressbar\");\n html += \"\";\n\n container.append(html).find(\".\" + CHUNK_ITEM).css(that._progressProperty, chunkSize + \"%\")\n .first().addClass(\"k-first\")\n .end()\n .last().addClass(\"k-last\");\n\n that._normalizeChunkSize();\n },\n\n _normalizeChunkSize: function() {\n var that = this;\n var options = that.options;\n var lastChunk = that.wrapper.find(\".\" + CHUNK_ITEM).last();\n var currentSize = parseFloat(lastChunk[0].style[that._progressProperty]);\n var difference = HUNDREDPERCENT - (options.chunkCount * currentSize);\n\n if (difference > 0) {\n lastChunk.css(that._progressProperty, (currentSize + difference) + \"%\");\n }\n },\n\n _addRegularProgressWrapper: function() {\n var that = this;\n\n that.progressWrapper = $(\"
\").appendTo(that.wrapper);\n\n if (that.options.showStatus) {\n that.progressWrapper.append(templates.progressStatus);\n\n that.progressStatus = that.wrapper.find(\".\" + KPROGRESSSTATUS);\n }\n },\n\n _calculateChunkSize: function() {\n var that = this;\n var chunkCount = that.options.chunkCount;\n var chunkContainer = that.wrapper.find(\"ul.k-reset\");\n\n return (parseInt(chunkContainer.css(that._progressProperty), 10) - (chunkCount - 1)) / chunkCount;\n },\n\n _calculatePercentage: function(currentValue) {\n var that = this;\n var options = that.options;\n var value = (currentValue !== undefined$1) ? currentValue : options.value;\n var min = options.min;\n var max = options.max;\n that._onePercent = math.abs((max - min) / 100);\n\n return math.abs((value - min) / that._onePercent);\n },\n\n _progressAnimation: function() {\n var that = this;\n var options = that.options;\n var animation = options.animation;\n\n if (animation === false) {\n that._animation = { duration: 0 };\n } else {\n that._animation = extend({\n duration: DEFAULTANIMATIONDURATION\n }, options.animation);\n }\n }\n });\n\n kendo.ui.plugin(ProgressBar);\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}