{"version":3,"file":"kendo.stepper.min.js","names":["factory","define","amd","$","undefined$1","kendo","Widget","keys","extend","STEPPER","CLICK","ACTIVATE","SELECT","DOT","SPACE","VERTICAL","TABINDEX","ARIA_CURRENT","ARIA_DISABLED","ARIA_INVALID","stepStyles","stepperStyles","Step","Stepper","window","jQuery","ui","Class","init","options","this","_render","label","icon","successIcon","iconTemplate","enabled","error","selected","isFirstStep","isLastStep","indicatorVisible","labelVisible","index","previous","selectable","_indicatorTemplate","_labelTemplate","deselect","_link","_stepClasses","enable","value","select","getEnabled","getIndex","setPrevious","getSelectable","getSelected","setValid","valid","_indicator","stepIndicator","addClass","attr","append","template","element","find","_label","stepLabel","empty","_linkAttributes","link","removeAttr","stepLink","stepClasses","removeClass","that","fn","call","_indicatorAndLabel","_wrapper","steps","length","_processSteps","_progressBar","_attachEvents","_resizeHandler","onResize","resize","orientation","linear","indicator","selectOnFocus","name","events","destroy","progressBar","unbindResize","wrapper","off","setOptions","_addStepList","stepsOptions","forEach","step","idx","insertAt","stepOptions","selectedStep","isNaN","splice","_createSteps","_renderSteps","_resetProgressBar","_calculateDimensions","next","_steps","selectedIndex","_select","removeAt","newSelected","newSelectedIndex","stepIndex","Number","_stepList","on","_selectClickHandler","bind","_wrapperClickHandler","_focusout","_keydown","numberOfSteps","stepList","stepWidth","width","stepHeight","height","progressElement","margin","style","css","support","isRtl","_createStep","stepOpt","_selectablePreviousState","push","e","get","contains","relatedTarget","setTimeout","_leaveStepper","_focusStep","newStep","focusedStep","allStepLinks","focus","_focusNextStep","nextStep","document","activeElement","closest","_focusPreviousStep","previousStep","prev","_focusFirstStep","firstStep","_focusLastStep","lastStep","keyCode","focusedStepIndex","stepsCount","TAB","shiftKey","preventDefault","_tabKey","_navKeys","ENTER","SPACEBAR","_selectHandler","_navKeysSelect","_navKeysFocus","rtl","DOWN","RIGHT","UP","LEFT","HOME","END","targetStep","_selectHandlerOnKey","progressBarOptions","_progressOptions","kendoProgressBar","getKendoProgressBar","max","showStatus","reverse","newOptions","stepsList","_resetStep","i","forward","min","Math","stepElement","target","_preventWrapperClick","currentStep","trigger","sender","originalEvent","shift","focusedStepElement","parent","stepper","plugin"],"sources":["kendo.stepper.js"],"mappings":"CAAA,SAAWA,GACW,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,iBAAkB,yBAA0BD,GACjGA,IAFJ,EAGG,WACC,IAQUG,EAAGC,EACLC,EACAC,EACAC,EACAC,EAEAC,EAEAC,EACAC,EACAC,EAIAC,EACAC,EACAC,EACAC,EAEAC,EACAC,EACAC,EAGAC,sBAeAC,UAQAC,EA8LAC,EA7OEpB,EA8gCPqB,OAAOnB,MAAMoB,OA7gCRpB,EAAQmB,OAAOnB,MACfC,EAASD,EAAMqB,GAAGpB,OAClBC,EAAOF,EAAME,KACbC,EAASL,EAAEK,OAEXC,EAAU,gBAEVC,EAAQ,QACRC,EAAW,WACXC,EAAS,SAITC,EAAM,IACNC,EAAQ,IACRC,EAAW,WACXC,EAAW,WAEXC,EAAe,eACfC,EAAgB,gBAChBC,EAAe,eAGfC,EACM,SADNA,EAEW,eAFXA,EAGU,cAHVA,EAIU,cAJVA,EAKa,iBALbA,EAMW,eANXA,EAOa,iBAPbA,EAQW,eARXA,EASc,kBATdA,EAUU,cAVVA,EAWe,mBAIfC,EACQ,qBADRA,EAEe,mBAFfA,EAGU,cAHVA,EAIoB,yBAJpBA,EAKkB,uBAGlBC,EAAOjB,EAAMsB,MAAMnB,OAAO,CAC1BoB,KAAM,SAASC,GACXC,KAAKD,QAAUrB,EAAO,GAAIsB,KAAKD,QAASA,GACxCC,KAAKC,WAGTF,QAAS,CACLG,MAAO,GACPC,KAAM,GACNC,YAAa,GACbC,aAAc,GACdC,SAAS,EACTC,OAAO,EACPC,UAAU,EACVC,aAAa,EACbC,YAAY,EACZC,kBAAkB,EAClBC,cAAc,EACdC,MAAO,EACPC,UAAU,EACVC,YAAY,GAGhBC,mBAAoB,kaAYpBC,eAAgB,8PAahBC,SAAU,WACNlB,KAAKD,QAAQS,UAAW,EACxBR,KAAKmB,QACLnB,KAAKoB,gBAGTC,OAAQ,SAASC,GACTtB,KAAKD,QAAQO,UAAYgB,IACzBtB,KAAKD,QAAQO,QAAUgB,EACvBtB,KAAKD,QAAQgB,WAAaO,EAC1BtB,KAAKmB,QACLnB,KAAKoB,iBAIbG,OAAQ,WACJvB,KAAKD,QAAQS,UAAW,EACxBR,KAAKmB,QACLnB,KAAKoB,gBAGTI,WAAY,WACR,OAAOxB,KAAKD,QAAQO,SAGxBmB,SAAU,WACN,OAAOzB,KAAKD,QAAQc,OAGxBa,YAAa,SAASZ,GAClBd,KAAKD,QAAQe,SAAWA,EACxBd,KAAKmB,QACLnB,KAAKoB,gBAGTO,cAAe,WACX,OAAO3B,KAAKD,QAAQgB,YAGxBa,YAAa,WACT,OAAO5B,KAAKD,QAAQS,UAGxBqB,SAAU,SAASC,GACX9B,KAAKD,QAAQQ,QAAUuB,IACvB9B,KAAKD,QAAQQ,OAASuB,EACtB9B,KAAKmB,QACLnB,KAAKoB,iBAIbW,WAAY,WACR,IACIC,EADAjC,EAAUC,KAAKD,QAGbA,EAAQM,cACV2B,EAAgB3D,EAAE,UAAU4D,SAAS3C,GAA0B4C,KAjIzD,cAiI2E,SACnEC,OAAO5D,EAAM6D,SAASrC,EAAQM,aAAvB9B,CAAqCwB,IAE1DiC,EAAgBzD,EAAM6D,SAASpC,KAAKgB,mBAApBzC,CAAwCwB,GAG5DC,KAAKqC,QAAQC,KAAKvD,EAAMO,GAAqB6C,OAAOH,IAGxDO,OAAQ,WACJ,IAAIC,EAAYjE,EAAM6D,SAASpC,KAAKiB,eAApB1C,CAAoCyB,KAAKD,SACzDC,KAAKqC,QAAQC,KAAKvD,EAAMO,GAAqB6C,OAAOK,IAGxDrB,MAAO,WACH,IAAIpB,EAAUC,KAAKD,QAEnBC,KAAKqC,QAAQC,KAAKvD,EAAMO,GAAqBmD,QAC7CzC,KAAK0C,kBAED3C,EAAQY,kBACRX,KAAK+B,aAELhC,EAAQa,cACRZ,KAAKuC,UAIbG,gBAAiB,WACb,IAAI3C,EAAUC,KAAKD,QACf4C,EAAO3C,KAAKqC,QAAQC,KAAKvD,EAAMO,GAEnCqD,EAAKC,WAAWxD,oDAEXW,EAAQS,SAGTmC,EAAKT,KAAK/C,EAAc,QAFxBwD,EAAKT,KAAKhD,EAAU,MAInBa,EAAQO,SAAYP,EAAQgB,YAC7B4B,EAAKT,KAAK9C,EAAe,QAEzBW,EAAQQ,OACRoC,EAAKT,KAAK7C,EAAc,SAIhCY,QAAS,WACL,IAAI4C,EAAWxE,EAAE,gBAAgB4D,SAAS3C,GAAqB4C,KAAK,QAASlC,KAAKD,QAAQG,OAE1FF,KAAKqC,QAAUhE,EAAE,QAAQ8D,OAAOU,GAEhC7C,KAAKmB,QACLnB,KAAKoB,gBAGTA,aAAc,WACV,IAAIrB,EAAUC,KAAKD,QACf+C,EAAcxD,EAEdS,EAAQU,cACRqC,GAAgB9D,EAAQM,GAExBS,EAAQW,aACRoC,GAAgB9D,EAAQM,GAEvBS,EAAQO,UACTwC,GAAgB9D,EAAQM,GAExBS,EAAQQ,QACRuC,GAAgB9D,EAAQM,GAExBS,EAAQe,UACRgC,GAAgB9D,EAAQM,EACnBS,EAAQQ,QACTuC,GAAgB9D,EAAQM,IAErBS,EAAQS,WACfsC,GAAgB9D,EAAQM,EACxBwD,GAAgB9D,EAAQM,GAG5BU,KAAKqC,QAAQU,cAAcd,SAASa,MAIxCrD,EAAUjB,EAAOE,OAAO,CACxBoB,KAAM,SAASuC,EAAStC,GACpB,IAAIiD,EAAOhD,KAEXD,EAAUA,GAAW,GAErBvB,EAAOyE,GAAGnD,KAAKoD,KAAKF,EAAMX,EAAStC,GAEnCiD,EAAKG,qBAELH,EAAKI,WAEDrD,EAAQsD,OAAStD,EAAQsD,MAAMC,SAC/BN,EAAKO,cAAcxD,EAAQsD,OAC3BL,EAAKQ,gBAGTR,EAAKS,gBAELT,EAAKU,eAAiBnF,EAAMoF,UAAS,WACjCX,EAAKY,aAIb7D,QAAS,CACL8D,YAAa,aACbC,QAAQ,EACRC,WAAW,EACX7D,OAAO,EACP8D,eAAe,EACfX,MAAO,KACPY,KAAM,WAGVC,OAAQ,CAAErF,EAAUC,EAAQ,gBAE5BqF,QAAS,WACL,IAAInB,EAAOhD,KAEPgD,EAAKoB,aACL5F,EAAOyE,GAAGkB,QAAQjB,KAAKF,EAAKoB,aAGhC5F,EAAOyE,GAAGkB,QAAQjB,KAAKF,GAEvBzE,EAAM8F,aAAarB,EAAKU,gBAExBV,EAAKsB,QAAQC,IAAI5F,IAGrB6F,WAAY,SAASzE,GACjB,IAAIiD,EAAOhD,KAEXxB,EAAOyE,GAAGuB,WAAWtB,KAAKF,EAAMjD,GAE5BiD,EAAKoB,aACL5F,EAAOyE,GAAGkB,QAAQjB,KAAKF,EAAKoB,aAGhCpB,EAAKG,qBAELH,EAAKyB,eAEDzB,EAAKjD,QAAQsD,OAASL,EAAKjD,QAAQsD,MAAMC,SACzCN,EAAKO,cAAcP,EAAKjD,QAAQsD,OAChCL,EAAKQ,iBAIbnC,OAAQ,SAASC,GACb,IAAI+B,EAAQrD,KAAKqD,QACbqB,EAAe1E,KAAKD,QAAQsD,MAO5B/B,EACAtB,KAAKsE,QAAQ1B,WAAWxD,GAExBY,KAAKsE,QAAQpC,KAAK9C,EAAe,QAGrCY,KAAKoE,YAAY/C,OAAOC,GAExB+B,EAAMsB,SAbW,SAASC,EAAMC,GAC5BD,EAAKvD,OAAOC,GACZoD,EAAaG,GAAOD,EAAK7E,YAcjC+E,SAAU,SAASjE,EAAOkE,GACtB,IACIC,EADA3B,EAAQrD,KAAKD,QAAQsD,MAQpB0B,IAAeE,MAAMpE,KAGtBA,EAAQ,IACRA,EAAQwC,EAAMC,OAASzC,GAEvBA,EAAQ,IAGPwC,IACDA,EAAQ,KAGS,IAAjBA,EAAMC,QAAgBzC,GAASwC,EAAMC,UACrCzC,EAAQwC,EAAMC,QAGlBD,EAAMsB,SAvBiB,SAASC,GACxBA,EAAKpE,WACLwE,EAAeJ,OAuBM,IAAzBG,EAAYvE,WACZwE,EAAaxE,UAAW,GAG5B6C,EAAM6B,OAAOrE,EAAO,EAAGkE,GAEvB/E,KAAKmF,eACLnF,KAAKoF,eACLpF,KAAKqF,oBACLrF,KAAKsF,0BAGTC,KAAM,WACF,GAAKvF,KAAKwF,UAAUxF,KAAKwF,OAAOlC,QAAU,GAA1C,CAIA,IACImC,EADezF,KAAKgF,aACSvD,WAE7BgE,EAAgB,IAAMzF,KAAKwF,OAAOlC,QAGlCtD,KAAK0F,QAAQD,EAAgB,KAIrC3E,SAAU,WACN,GAAKd,KAAKwF,UAAUxF,KAAKwF,OAAOlC,QAAU,GAA1C,CAIA,IACImC,EADezF,KAAKgF,aACSvD,WAEX,IAAlBgE,GAGAzF,KAAK0F,QAAQD,EAAgB,KAIrCE,SAAU,SAAS9E,GACf,IACiB+E,EAAaC,EAD1BxC,EAAQrD,KAAKD,QAAQsD,MAGrB4B,MAAMpE,KAAWwC,GAASA,EAAMC,OAAS,GAAKzC,GAASwC,EAAMC,SAG7DzC,EAAQ,IACRA,EAAQwC,EAAMC,OAASzC,GAEvBA,EAAQ,KAMiB,IAFfwC,EAAM6B,OAAOrE,EAAO,GAAG,GAErBL,UAAqB6C,EAAMC,OAAS,IASrB,iBAF3BsC,EAAcvC,EALVwC,EADAhF,EAAQ,EACWA,EAAQ,EAER,MAMnB+E,EAAc,CACV1F,MAAO0F,GAEXvC,EAAMwC,GAAoBD,GAG9BA,EAAYpF,UAAW,EACvBoF,EAAY9E,UAAW,GAG3Bd,KAAKmF,eACLnF,KAAKoF,eACLpF,KAAKqF,oBACLrF,KAAKsF,0BAGT1B,OAAQ,WACJ5D,KAAKsF,wBAGT/D,OAAQ,SAASuE,GACb,IAAI9C,EAAOhD,KAEX,GAAI8F,IAAcxH,GAA6B,OAAdwH,GAAsBb,MAAMa,GACzD,OAAO9C,EAAKgC,aAGZc,GAAa9C,EAAKwC,OAAOlC,QAAUwC,EAAY,IAInDA,EAAYC,OAAOD,GAEnB9C,EAAK0C,QAAQI,KAGjBzC,MAAO,SAASA,GACZ,GAAIA,IAAU/E,EACV,OAAO0B,KAAKwF,OAGhBxF,KAAKuD,cAAcF,GACnBrD,KAAKqF,oBACLrF,KAAKsF,wBAGT/B,cAAe,SAASF,GACpB,IACI2B,EADAhC,EAAOhD,KAQXqD,EAAMsB,SANiB,SAASC,GACxBA,EAAKpE,WACLwE,EAAeJ,MAMlBI,IACuB,iBAAb3B,EAAM,KACbA,EAAM,GAAK,CACPnD,MAAOmD,EAAM,KAGrBA,EAAM,GAAG7C,UAAW,GAGxBwC,EAAKjD,QAAQsD,MAAQA,EAErBL,EAAKmC,eACLnC,EAAKoC,gBAGTX,aAAc,WACV,IAAIzB,EAAOhD,KAEXgD,EAAKsB,QAAQ7B,QAAQN,OAAO9D,EAAE,UAAU4D,SAAS1C,IACjDyD,EAAKgD,UAAYhD,EAAKsB,QAAQhC,KAAKvD,EAAMQ,GAErCyD,EAAKjD,QAAQ8D,cAAgB5E,EAC7B+D,EAAKgD,UAAU/D,SAAS1C,GAExByD,EAAKgD,UAAU/D,SAAS1C,IAIhCkE,cAAe,WACX,IAAIT,EAAOhD,KAEXgD,EAAKsB,QACA2B,GAAGrH,EAAQD,EAASI,EAAMO,EAAiB0D,EAAKkD,oBAAoBC,KAAKnD,IACzEiD,GAAGrH,EAAQD,EAASqE,EAAKoD,qBAAqBD,KAAKnD,IACnDiD,GArfE,WAqfYtH,EAASqE,EAAKqD,UAAUF,KAAKnD,IAC3CiD,GAvfC,UAufYtH,EAASqE,EAAMA,EAAKsD,SAASH,KAAKnD,KAGxDsC,qBAAsB,WAClB,IAAIzB,EAAc7D,KAAKD,QAAQ8D,YAC3B0C,EAAgBvG,KAAKwF,OAAOlC,OAC5BkD,EAAWxG,KAAKgG,UAChB3C,EAAQmD,EAASlE,KAAKvD,EAAMO,GAC5BmH,EAAYD,EAASE,QAAUH,EAC/BI,EAAaH,EAASI,SAAWL,EACjCM,EAAkB7G,KAAKoE,YAAY/B,QACnCyE,EAAS,cACTC,EAAQ,GAERlD,IAAgB5E,GAChBoE,EAAM2D,IAAI,aAAc,IAAMT,EAAgB,KAC9CM,EAAgBG,IAAI,CAChB,cAAe,GAAKR,EAASI,SAAW,IACxCA,OAAUD,GAAcJ,EAAgB,OAG5ClD,EAAM2D,IAAI,YAAa,IAAMT,EAAgB,KAEzChI,EAAM0I,QAAQC,MAAMlH,KAAKsE,WACzBwC,EAAS,gBAEbC,EAAMD,GAAUL,EAAY,EAC5BM,EAAML,MAAQD,GAAaF,EAAgB,GAE3CM,EAAgBG,IAAID,KAI5BI,YAAa,SAASpC,EAAaF,EAAKnE,GACpC,IACID,EAAsB,IAARoE,EACd9E,EAFOC,KAEQD,QACfY,EAAmBZ,EAAQgE,UAC3BnD,EAAeb,EAAQG,MAc3B,OAZA6E,EAAcrG,EAAO,GAAIqG,EAAa,CAClCzE,SAAiC,IAAxByE,EAAYzE,UAGzByE,EAAcrG,EAAO,GAAIqG,EAAa,CAClCtE,YAAaA,EACbC,WAAYA,EACZC,iBAAkBA,EAClBC,aAAcA,EACdC,MAAOgE,IAGJ,IAAIrF,EAAKuF,IAGpBI,aAAc,WACV,IAGIP,EAAMC,EAAKnE,EAAY0G,EAHvBpE,EAAOhD,KACP0E,EAAe1B,EAAKjD,QAAQsD,MAC5B7C,GAAW,EAKf,IAFAwC,EAAKwC,OAAS,GAETX,EAAM,EAAGA,EAAMH,EAAapB,OAAQuB,IAGd,iBAFvBuC,EAAU1C,EAAaG,MAGnBuC,EAAU,CACNlH,MAAOkH,IAIXA,IAAY9I,IACZoC,EAAamE,IAAQH,EAAapB,OAAS,EAEvC8D,EAAQ5G,SACRA,GAAW,EAEX4G,EAAUpE,EAAKqE,yBAAyBD,EAAS5G,EAAUqE,GAG/DD,EAAO5B,EAAKmE,YAAYC,EAASvC,EAAKnE,GACtCsC,EAAKwC,OAAO8B,KAAK1C,GAEbA,EAAKhD,gBACLoB,EAAKgC,aAAeJ,KAMpCzB,mBAAoB,WACXnD,KAAKD,QAAQgE,WAAc/D,KAAKD,QAAQG,QACzCF,KAAKD,QAAQgE,WAAY,EACzB/D,KAAKD,QAAQG,OAAQ,IAI7BmG,UAAW,SAASkB,GAChB,IAAIvE,EAAOhD,KAENgD,EAAKsB,QAAQkD,IAAI,GAAGC,SAASF,EAAEG,gBAChCC,YAAW,WACP3E,EAAK4E,oBAKjBC,WAAY,SAASC,GACjB,IAAIC,EAAc/H,KAAKsE,QAAQhC,KAAKvD,EAAMO,GACtC0I,EAAehI,KAAKsE,QAAQhC,KAAKvD,EAAMO,GAEvCwI,EAAQxE,OAAS,IACjByE,EAAYhF,YAAYzD,GACxB0I,EAAa9F,KAAKhD,EAAU,MAC5B4I,EAAQxF,KAAKvD,EAAMO,GAAqBsD,WAAW1D,GAAU,GAAG+I,UAIxEC,eAAgB,WACZ,IACIC,EADc9J,EAAE+J,SAASC,eAAeC,QAAQvJ,EAAMO,GAC/BiG,OAE3BvF,KAAK6H,WAAWM,IAGpBI,mBAAoB,WAChB,IACIC,EADcnK,EAAE+J,SAASC,eAAeC,QAAQvJ,EAAMO,GAC3BmJ,OAE/BzI,KAAK6H,WAAWW,IAGpBE,gBAAiB,WACb,IACIC,EADU3I,KAAKsE,QACKhC,KAAKvD,EAAMO,GAEnCU,KAAK6H,WAAWc,IAGpBC,eAAgB,WACZ,IACIC,EADU7I,KAAKsE,QACIhC,KAAKvD,EAAMO,GAElCU,KAAK6H,WAAWgB,IAGpBvC,SAAU,SAASiB,GACf,IAAIvE,EAAOhD,KACP8I,EAAUvB,EAAEuB,QAEZC,EADqB1K,EAAE+J,SAASC,eAAeC,QAAQvJ,EAAMO,GACvBuB,QACtCmI,EAAahG,EAAKK,QAAQC,OAE1BwF,IAAYrK,EAAKwK,IACb1B,EAAE2B,UAAYH,EAAmB,GACjCxB,EAAE4B,iBACFnG,EAAKoG,QAAQ7B,GAAI,KACTA,EAAE2B,UAAYH,EAAmBC,EAAa,IACtDzB,EAAE4B,iBACFnG,EAAKoG,QAAQ7B,EAAG,IAEbuB,EAAU,IAAMA,EAAU,IACjCvB,EAAE4B,iBACFnG,EAAKqG,SAAS9B,IACPuB,IAAYrK,EAAK6K,OAASR,IAAYrK,EAAK8K,UAClDhC,EAAE4B,iBACFnG,EAAKwG,eAAejC,EAAGlJ,EAAE+J,SAASC,eAAeC,QAAQvJ,EAAMO,KAE/DiI,EAAE4B,kBAIVvB,cAAe,WACX,IAAI5C,EAAehF,KAAKsE,QAAQhC,KAAKvD,EAAMO,GACxBU,KAAKsE,QAAQhC,KAAKvD,EAAMO,GAE9ByD,YAAYzD,GAAsB4C,KAAKhD,EAAU,MAE9D8F,EAAa/C,SAAS3C,GACtB0F,EAAa1C,KAAKvD,EAAMO,GAAqBsD,WAAW1D,IAG5DmK,SAAU,SAAS9B,GACKvH,KAAKD,QAAQiE,cAG7BhE,KAAKyJ,eAAelC,GAEpBvH,KAAK0J,cAAcnC,IAI3BmC,cAAe,SAASnC,GACpB,IAAIuB,EAAUvB,EAAEuB,QACZa,EAAMpL,EAAM0I,QAAQC,MAAMlH,KAAKsE,SAC/BT,EAAc7D,KAAKD,QAAQ8D,YAE/B,OAAQiF,GACJ,KAAKrK,EAAKmL,KACFD,GAAO9F,IAAgB5E,EACvBe,KAAKuI,qBAELvI,KAAKkI,iBAET,MACJ,KAAKzJ,EAAKoL,MACFF,EACA3J,KAAKuI,qBAELvI,KAAKkI,iBAET,MACJ,KAAKzJ,EAAKqL,GACFH,GAAO9F,IAAgB5E,EACvBe,KAAKkI,iBAELlI,KAAKuI,qBAET,MACJ,KAAK9J,EAAKsL,KACFJ,EACA3J,KAAKkI,iBAELlI,KAAKuI,qBAET,MACJ,KAAK9J,EAAKuL,KACNhK,KAAK0I,kBACL,MACJ,KAAKjK,EAAKwL,IACNjK,KAAK4I,mBAKjBa,eAAgB,SAASlC,GACrB,IAKI2C,EALApB,EAAUvB,EAAEuB,QACZC,EAAmB1K,EAAE+J,SAASC,eAAeC,QAAQvJ,EAAMO,GAAiBuB,QAC5E8I,EAAMpL,EAAM0I,QAAQC,MAAMlH,KAAKsE,SAC/BjB,EAAQrD,KAAKqD,QACbQ,EAAc7D,KAAKD,QAAQ8D,YAG/B,OAAQiF,GACJ,KAAKrK,EAAKmL,KAEFM,EADAP,GAAO9F,IAAgB5E,EACVoE,EAAM0F,EAAmB,GAEzB1F,EAAM0F,EAAmB,GAE1C,MACJ,KAAKtK,EAAKoL,MAEFK,EADAP,EACatG,EAAM0F,EAAmB,GAEzB1F,EAAM0F,EAAmB,GAE1C,MACJ,KAAKtK,EAAKqL,GAEFI,EADAP,GAAO9F,IAAgB5E,EACVoE,EAAM0F,EAAmB,GAEzB1F,EAAM0F,EAAmB,GAE1C,MACJ,KAAKtK,EAAKsL,KAEFG,EADAP,EACatG,EAAM0F,EAAmB,GAEzB1F,EAAM0F,EAAmB,GAE1C,MACJ,KAAKtK,EAAKuL,KACNE,EAAa7G,EAAM,GACnB,MACJ,KAAK5E,EAAKwL,IACNC,EAAa7G,EAAMA,EAAMC,OAAS,GAItC4G,IACAlK,KAAK6H,WAAWqC,EAAW7H,SAC3BrC,KAAKmK,oBAAoB5C,EAAG2C,EAAW7H,WAI/CmB,aAAc,WACV,IAAIc,EAAUtE,KAAKsE,QACf8F,EAAqBpK,KAAKqK,mBAE9BrK,KAAKoE,YAAc/F,EAAE,SAASiM,iBAAiBF,GAAoBG,sBACnEvK,KAAKoE,YAAY/B,QAAQJ,SAAS,oCAGlCjC,KAAKoE,YAAY/B,QAAQ2E,IAAI,WAAY,YAEzChH,KAAKsF,uBAELhB,EAAQnC,OAAOnC,KAAKoE,YAAY/B,UAGpCgI,iBAAkB,WACd,IAGmBD,EAHfrK,EAAUC,KAAKD,QACf8D,EAAc9D,EAAQ8D,YACtBa,EAAe3E,EAAQsD,MAG3B,GAAKqB,GAAwC,IAAxBA,EAAapB,OAiBlC,OAXA8G,EAAqB,CACjBI,IAJgB9F,EAAapB,OAIR,EACrBhC,MAAOtB,KAAKuB,SAASE,WACrBoC,YAAaA,EACb4G,YAAY,GAGZ5G,IAAgB5E,IAChBmL,EAAmBM,SAAU,GAG1BN,GAGX/E,kBAAmB,WACf,IACIsF,EADAvG,EAAcpE,KAAKoE,YAGlBA,IAILuG,EAAa3K,KAAKqK,mBAClBjG,EAAYI,WAAWmG,KAG3BvF,aAAc,WACV,IAEIR,EAAMC,EAFNxB,EAAQrD,KAAKwF,OACboF,EAAY5K,KAAKgG,UAKrB,IAFA4E,EAAUnI,QAELoC,EAAM,EAAGA,EAAMxB,EAAMC,OAAQuB,IAC9BD,EAAOvB,EAAMwB,GACb+F,EAAUzI,OAAOyC,EAAKvC,UAI9BwI,WAAY,SAASC,EAAGjK,EAAOkK,GAC3B,IAAInG,EAAO5E,KAAKwF,OAAOsF,GAEnBA,IAAMjK,GACN+D,EAAK7E,QAAQe,UAAW,EACxB8D,EAAK7E,QAAQS,UAAW,IAChBuK,GAAWD,EAAIjK,MAAYkK,GAAWD,EAAIjK,KAClD+D,EAAK7E,QAAQS,UAAW,EACxBoE,EAAK7E,QAAQe,SAAWiK,GAGxB/K,KAAKD,QAAQ+D,SAAWgH,EAAIjK,EAAQ,GAAKiK,EAAIjK,EAAQ,GACrD+D,EAAK7E,QAAQgB,YAAa,EAE1B6D,EAAK7E,QAAQgB,YAAa,EAG9B6D,EAAKzD,QACLyD,EAAKxD,eACLpB,KAAKD,QAAQsD,MAAMyH,GAAKlG,EAAK7E,SAGjC2F,QAAS,SAAS7E,GACd,IAMIkK,EAASD,EAAGE,EAAKR,EANjBzK,EAAUC,KAAKD,QACf+D,EAAS/D,EAAQ+D,OAEjB2B,EADezF,KAAKuB,SACSE,WAC7BiD,EAAe3E,EAAQsD,MACvB6G,EAAalK,KAAKwF,OAAO3E,GAG7B,GAAKqJ,GAAeA,EAAW1I,aAA/B,CA0BA,IAtBIX,EAAQ4E,GACRsF,GAAU,EAENjH,GACAkH,EAAMC,KAAKT,IAAI/E,EAAgB,EAAG,GAClC+E,EAAMS,KAAKD,IAAInK,EAAQ,EAAG6D,EAAapB,OAAS,KAEhD0H,EAAMvF,EACN+E,EAAM3J,KAGVkK,GAAU,EAENjH,GACAkH,EAAMC,KAAKT,IAAI3J,EAAQ,EAAG,GAC1B2J,EAAMS,KAAKD,IAAIvF,EAAgB,EAAGf,EAAapB,OAAS,KAExD0H,EAAMnK,EACN2J,EAAM/E,IAITqF,EAAIE,EAAKF,GAAKN,EAAKM,IACpB9K,KAAK6K,WAAWC,EAAGjK,EAAOkK,GAG9B/K,KAAKgF,aAAekF,EACpBlK,KAAKoE,YAAY9C,MAAMT,KAG3BwG,yBAA0B,SAASD,EAAS5G,EAAUqE,GAClD,IAAIH,EAAe1E,KAAKD,QAAQsD,MAC5BS,EAAS9D,KAAKD,QAAQ+D,OAe1B,OAbKtD,EAOMsD,IAAWY,EAAaG,EAAM,GAAGrE,SACxC4G,EAAQrG,YAAa,EAErBqG,EAAQrG,YAAa,GATrBqG,EAAQtG,UAAW,EACfgD,IAAWY,EAAaG,EAAM,GAAGrE,SACjC4G,EAAQrG,YAAa,EAErBqG,EAAQrG,YAAa,GAQtBqG,GAGXlB,oBAAqB,SAASqB,GAC1B,IAAI2D,EAAc7M,EAAEkJ,EAAE4D,QAAQ7C,QAAQvJ,EAAMO,GAE5CiI,EAAE4B,iBACFnJ,KAAKoL,sBAAuB,EAC5BpL,KAAKwJ,eAAejC,EAAG2D,IAG3B1B,eAAgB,SAASjC,EAAG2D,GACxB,IAAIlI,EAAOhD,KACP4E,EAAO5B,EAAKwC,OAAO0F,EAAYrK,SAC/BwK,EAAcrL,KAAKuB,SAElBqD,GAAQA,EAAKnD,aAAe4J,EAAY5J,YAAemD,EAAKpD,cAAiBoD,EAAKjD,gBAMlFqB,EAAKsI,QAAQxM,EAAQ,CAAEyM,OAAQvI,EAAMwI,cAAejE,EAAG3C,KAAMA,MAC9D5B,EAAK0C,QAAQd,EAAKnD,YAClByJ,EAAY5I,KAAKvD,EAAMO,GAAqB,GAAG2I,QAC/CjF,EAAKsI,QAAQzM,EAAU,CAAE0M,OAAQvI,EAAMwI,cAAejE,EAAG3C,KAAMA,KAR/D5B,EAAK6E,WAAWwD,EAAYhJ,UAYpC8H,oBAAqB,SAAS5C,EAAG2D,GAC7B,IAAIlI,EAAOhD,KACP4E,EAAO5B,EAAKwC,OAAO0F,EAAYrK,SAE9B+D,EAAKpD,cAAiBoD,EAAKjD,kBAI3BqB,EAAKsI,QAAQxM,EAAQ,CAAEyM,OAAQvI,EAAMwI,cAAejE,EAAG3C,KAAMA,MAC9D5B,EAAK0C,QAAQd,EAAKnD,YAClByJ,EAAY5I,KAAKvD,EAAMO,GAAqB,GAAG2I,QAC/CjF,EAAKsI,QAAQzM,EAAU,CAAE0M,OAAQvI,EAAMwI,cAAejE,EAAG3C,KAAMA,OAIvEwE,QAAS,SAAS7B,EAAGkE,GACjB,IAAIzH,EAAgBhE,KAAKD,QAAQiE,cAC7B0H,EAAqBrN,EAAE+J,SAASC,eAAeC,QAAQvJ,EAAMO,GAC7DyJ,EAAmB2C,EAAmB7K,QACtCqJ,EAAa7L,EAAEqN,EAAmBC,SAASrJ,KAAKvD,EAAMO,GAAiByJ,EAAmB0C,IAE9FzL,KAAK6H,WAAWqC,GAEZlG,GACAhE,KAAKmK,oBAAoB5C,EAAG2C,IAIpC9G,SAAU,WACN,IAAIJ,EAAOhD,KACPqC,EAAUW,EAAKX,QAEnBW,EAAKsB,QAAUjC,EACfW,EAAKsB,QAAQrC,SAAS1C,GAElByD,EAAKjD,QAAQ+D,QACbd,EAAKsB,QAAQrC,SAAS1C,GAG1BS,KAAKyE,gBAGT2B,qBAAsB,SAASmB,GAC3B,IAAI8D,EAAcrL,KAAKuB,SAElBvB,KAAKoL,qBAINpL,KAAKoL,sBAAuB,GAH5B7D,EAAE4B,iBACFnJ,KAAK6H,WAAWwD,EAAYhJ,aAOxC9D,EAAMqN,QAAU,CACZpM,KAAMA,GAGVjB,EAAMqB,GAAGiM,OAAOpM","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.progressbar'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"stepper\",\n name: \"Stepper\",\n category: \"web\",\n description: \"The Stepper widget displays navigation steps.\",\n depends: [ \"core\", \"progressbar\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n keys = kendo.keys,\n extend = $.extend,\n\n STEPPER = \".kendoStepper\",\n\n CLICK = \"click\",\n ACTIVATE = \"activate\",\n SELECT = \"select\",\n KEYDOWN = \"keydown\",\n FOCUSOUT = \"focusout\",\n\n DOT = \".\",\n SPACE = \" \",\n VERTICAL = \"vertical\",\n TABINDEX = \"tabindex\",\n\n ARIA_CURRENT = \"aria-current\",\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_INVALID = \"aria-invalid\",\n ARIA_HIDDEN = \"aria-hidden\";\n\n var stepStyles = {\n step: \"k-step\",\n firstStep: \"k-step-first\",\n lastStep: \"k-step-last\",\n doneStep: \"k-step-done\",\n successStep: \"k-step-success\",\n errorStep: \"k-step-error\",\n currentStep: \"k-step-current\",\n focusStep: \"k-step-focus\",\n disabledStep: \"k-step-disabled\",\n stepLink: \"k-step-link\",\n stepIndicator: \"k-step-indicator\",\n stepLabel: \"k-step-label\"\n };\n\n var stepperStyles = {\n widget: \"k-widget k-stepper\",\n stepperLinear: \"k-stepper-linear\",\n stepList: \"k-step-list\",\n stepListHorizontal: \"k-step-list-horizontal\",\n stepListVertical: \"k-step-list-vertical\"\n };\n\n var Step = kendo.Class.extend({\n init: function(options) {\n this.options = extend({}, this.options, options);\n this._render();\n },\n\n options: {\n label: \"\",\n icon: \"\",\n successIcon: \"\",\n iconTemplate: \"\",\n enabled: true,\n error: false,\n selected: false,\n isFirstStep: false,\n isLastStep: false,\n indicatorVisible: true,\n labelVisible: true,\n index: 0,\n previous: false,\n selectable: true\n },\n\n _indicatorTemplate: '' +\n '#if(successIcon && previous && !error) {#' +\n '' +\n '#} else if(icon) {#' +\n '' +\n '#} else if(previous && !error) {#' +\n '' +\n '#} else {#' +\n '#: index + 1 #' +\n '#}#' +\n '',\n\n _labelTemplate: '' +\n '' +\n '#: label #' +\n '' +\n ' ' +\n '#if(error || (!indicatorVisible && !error && previous)) {#' +\n '' +\n '#}#' +\n '',\n\n deselect: function() {\n this.options.selected = false;\n this._link();\n this._stepClasses();\n },\n\n enable: function(value) {\n if (this.options.enabled !== value) {\n this.options.enabled = value;\n this.options.selectable = value;\n this._link();\n this._stepClasses();\n }\n },\n\n select: function() {\n this.options.selected = true;\n this._link();\n this._stepClasses();\n },\n\n getEnabled: function() {\n return this.options.enabled;\n },\n\n getIndex: function() {\n return this.options.index;\n },\n\n setPrevious: function(previous) {\n this.options.previous = previous;\n this._link();\n this._stepClasses();\n },\n\n getSelectable: function() {\n return this.options.selectable;\n },\n\n getSelected: function() {\n return this.options.selected;\n },\n\n setValid: function(valid) {\n if (this.options.error === valid) {\n this.options.error = !valid;\n this._link();\n this._stepClasses();\n }\n },\n\n _indicator: function() {\n var options = this.options,\n stepIndicator;\n\n if (!!options.iconTemplate) {\n stepIndicator = $(\"\").addClass(stepStyles.stepIndicator).attr(ARIA_HIDDEN, \"true\");\n stepIndicator.append(kendo.template(options.iconTemplate)(options));\n } else {\n stepIndicator = kendo.template(this._indicatorTemplate)(options);\n }\n\n this.element.find(DOT + stepStyles.stepLink).append(stepIndicator);\n },\n\n _label: function() {\n var stepLabel = kendo.template(this._labelTemplate)(this.options);\n this.element.find(DOT + stepStyles.stepLink).append(stepLabel);\n },\n\n _link: function() {\n var options = this.options;\n\n this.element.find(DOT + stepStyles.stepLink).empty();\n this._linkAttributes();\n\n if (options.indicatorVisible) {\n this._indicator();\n }\n if (options.labelVisible) {\n this._label();\n }\n },\n\n _linkAttributes: function() {\n var options = this.options,\n link = this.element.find(DOT + stepStyles.stepLink);\n\n link.removeAttr(ARIA_DISABLED + SPACE + ARIA_INVALID + SPACE + ARIA_CURRENT + SPACE + TABINDEX);\n\n if (!options.selected) {\n link.attr(TABINDEX, \"-1\");\n } else {\n link.attr(ARIA_CURRENT, \"true\");\n }\n if (!options.enabled || !options.selectable) {\n link.attr(ARIA_DISABLED, \"true\");\n }\n if (options.error) {\n link.attr(ARIA_INVALID, \"true\");\n }\n },\n\n _render: function() {\n var stepLink = $(\"\").addClass(stepStyles.stepLink).attr(\"title\", this.options.label);\n\n this.element = $(\"
  • \").append(stepLink);\n\n this._link();\n this._stepClasses();\n },\n\n _stepClasses: function() {\n var options = this.options,\n stepClasses = stepStyles.step;\n\n if (options.isFirstStep) {\n stepClasses += (SPACE + stepStyles.firstStep);\n }\n if (options.isLastStep) {\n stepClasses += (SPACE + stepStyles.lastStep);\n }\n if (!options.enabled) {\n stepClasses += (SPACE + stepStyles.disabledStep);\n }\n if (options.error) {\n stepClasses += (SPACE + stepStyles.errorStep);\n }\n if (options.previous) {\n stepClasses += (SPACE + stepStyles.doneStep);\n if (!options.error) {\n stepClasses += (SPACE + stepStyles.successStep);\n }\n } else if (options.selected) {\n stepClasses += (SPACE + stepStyles.currentStep);\n stepClasses += (SPACE + stepStyles.focusStep);\n }\n\n this.element.removeClass().addClass(stepClasses);\n }\n });\n\n var Stepper = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n options = options || {};\n\n Widget.fn.init.call(that, element, options);\n\n that._indicatorAndLabel();\n\n that._wrapper();\n\n if (options.steps && options.steps.length) {\n that._processSteps(options.steps);\n that._progressBar();\n }\n\n that._attachEvents();\n\n that._resizeHandler = kendo.onResize(function() {\n that.resize();\n });\n },\n\n options: {\n orientation: \"horizontal\",\n linear: true,\n indicator: true,\n label: true,\n selectOnFocus: false,\n steps: null,\n name: \"Stepper\"\n },\n\n events: [ ACTIVATE, SELECT, \"kendoKeydown\" ],\n\n destroy: function() {\n var that = this;\n\n if (that.progressBar) {\n Widget.fn.destroy.call(that.progressBar);\n }\n\n Widget.fn.destroy.call(that);\n\n kendo.unbindResize(that._resizeHandler);\n\n that.wrapper.off(STEPPER);\n },\n\n setOptions: function(options) {\n var that = this;\n\n Widget.fn.setOptions.call(that, options);\n\n if (that.progressBar) {\n Widget.fn.destroy.call(that.progressBar);\n }\n\n that._indicatorAndLabel();\n\n that._addStepList();\n\n if (that.options.steps && that.options.steps.length) {\n that._processSteps(that.options.steps);\n that._progressBar();\n }\n },\n\n enable: function(value) {\n var steps = this.steps(),\n stepsOptions = this.options.steps;\n\n var enableStep = function(step, idx) {\n step.enable(value);\n stepsOptions[idx] = step.options;\n };\n\n if (value) {\n this.wrapper.removeAttr(ARIA_DISABLED);\n } else {\n this.wrapper.attr(ARIA_DISABLED, \"true\");\n }\n\n this.progressBar.enable(value);\n\n steps.forEach(enableStep);\n },\n\n insertAt: function(index, stepOptions) {\n var steps = this.options.steps,\n selectedStep;\n var findSelectedStep = function(step) {\n if (step.selected) {\n selectedStep = step;\n }\n };\n\n if (!stepOptions || isNaN(index)) {\n return;\n }\n if (index < 0) {\n index = steps.length + index;\n }\n if (index < 0) {\n return;\n }\n if (!steps) {\n steps = [];\n }\n\n if (steps.length === 0 || index >= steps.length) {\n index = steps.length;\n }\n\n steps.forEach(findSelectedStep);\n\n if (stepOptions.selected === true) {\n selectedStep.selected = false;\n }\n\n steps.splice(index, 0, stepOptions);\n\n this._createSteps();\n this._renderSteps();\n this._resetProgressBar();\n this._calculateDimensions();\n },\n\n next: function() {\n if (!this._steps || this._steps.length <= 1) {\n return;\n }\n\n var selectedStep = this.selectedStep;\n var selectedIndex = selectedStep.getIndex();\n\n if (selectedIndex + 1 === this._steps.length) {\n return;\n } else {\n this._select(selectedIndex + 1);\n }\n },\n\n previous: function() {\n if (!this._steps || this._steps.length <= 1) {\n return;\n }\n\n var selectedStep = this.selectedStep;\n var selectedIndex = selectedStep.getIndex();\n\n if (selectedIndex === 0) {\n return;\n } else {\n this._select(selectedIndex - 1);\n }\n },\n\n removeAt: function(index) {\n var steps = this.options.steps,\n removedStep, newSelected, newSelectedIndex;\n\n if (isNaN(index) || !steps || steps.length < 2 || index >= steps.length) {\n return;\n }\n if (index < 0) {\n index = steps.length + index;\n }\n if (index < 0) {\n return;\n }\n\n removedStep = steps.splice(index, 1)[0];\n\n if (removedStep.selected === true && steps.length > 0) {\n if (index > 0) {\n newSelectedIndex = index - 1;\n } else {\n newSelectedIndex = 0;\n }\n\n newSelected = steps[newSelectedIndex];\n\n if (typeof newSelected === \"string\") {\n newSelected = {\n label: newSelected\n };\n steps[newSelectedIndex] = newSelected;\n }\n\n newSelected.selected = true;\n newSelected.previous = false;\n }\n\n this._createSteps();\n this._renderSteps();\n this._resetProgressBar();\n this._calculateDimensions();\n },\n\n resize: function() {\n this._calculateDimensions();\n },\n\n select: function(stepIndex) {\n var that = this;\n\n if (stepIndex === undefined$1 || stepIndex === null || isNaN(stepIndex)) {\n return that.selectedStep;\n }\n\n if (stepIndex >= that._steps.length || stepIndex < 0) {\n return;\n }\n\n stepIndex = Number(stepIndex);\n\n that._select(stepIndex);\n },\n\n steps: function(steps) {\n if (steps === undefined$1) {\n return this._steps;\n }\n\n this._processSteps(steps);\n this._resetProgressBar();\n this._calculateDimensions();\n },\n\n _processSteps: function(steps) {\n var that = this,\n selectedStep;\n var findSelectedStep = function(step) {\n if (step.selected) {\n selectedStep = step;\n }\n };\n\n steps.forEach(findSelectedStep);\n\n if (!selectedStep) {\n if (typeof steps[0] === \"string\") {\n steps[0] = {\n label: steps[0]\n };\n }\n steps[0].selected = true;\n }\n\n that.options.steps = steps;\n\n that._createSteps();\n that._renderSteps();\n },\n\n _addStepList: function() {\n var that = this;\n\n that.wrapper.empty().append($(\"
      \").addClass(stepperStyles.stepList));\n that._stepList = that.wrapper.find(DOT + stepperStyles.stepList);\n\n if (that.options.orientation === VERTICAL) {\n that._stepList.addClass(stepperStyles.stepListVertical);\n } else {\n that._stepList.addClass(stepperStyles.stepListHorizontal);\n }\n },\n\n _attachEvents: function() {\n var that = this;\n\n that.wrapper\n .on(CLICK + STEPPER, DOT + stepStyles.step, that._selectClickHandler.bind(that))\n .on(CLICK + STEPPER, that._wrapperClickHandler.bind(that))\n .on(FOCUSOUT + STEPPER, that._focusout.bind(that))\n .on(KEYDOWN + STEPPER, that, that._keydown.bind(that));\n },\n\n _calculateDimensions: function() {\n var orientation = this.options.orientation,\n numberOfSteps = this._steps.length,\n stepList = this._stepList,\n steps = stepList.find(DOT + stepStyles.step),\n stepWidth = stepList.width() / numberOfSteps,\n stepHeight = stepList.height() / numberOfSteps,\n progressElement = this.progressBar.element,\n margin = \"margin-left\",\n style = {};\n\n if (orientation === VERTICAL) {\n steps.css(\"max-height\", 100 / numberOfSteps + \"%\");\n progressElement.css({\n \"margin-top\": -1 * (stepList.height() - 16),\n \"height\": stepHeight * (numberOfSteps - 1)\n });\n } else {\n steps.css(\"max-width\", 100 / numberOfSteps + \"%\");\n\n if (kendo.support.isRtl(this.wrapper)) {\n margin = \"margin-right\";\n }\n style[margin] = stepWidth / 2;\n style.width = stepWidth * (numberOfSteps - 1);\n\n progressElement.css(style);\n }\n },\n\n _createStep: function(stepOptions, idx, isLastStep) {\n var that = this,\n isFirstStep = idx === 0,\n options = that.options,\n indicatorVisible = options.indicator,\n labelVisible = options.label;\n\n stepOptions = extend({}, stepOptions, {\n enabled: stepOptions.enabled === false ? false : true\n });\n\n stepOptions = extend({}, stepOptions, {\n isFirstStep: isFirstStep,\n isLastStep: isLastStep,\n indicatorVisible: indicatorVisible,\n labelVisible: labelVisible,\n index: idx\n });\n\n return new Step(stepOptions);\n },\n\n _createSteps: function() {\n var that = this,\n stepsOptions = that.options.steps,\n selected = false,\n step, idx, isLastStep, stepOpt;\n\n that._steps = [];\n\n for (idx = 0; idx < stepsOptions.length; idx++) {\n stepOpt = stepsOptions[idx];\n\n if (typeof stepOpt === \"string\") {\n stepOpt = {\n label: stepOpt\n };\n }\n\n if (stepOpt !== undefined$1) {\n isLastStep = idx === stepsOptions.length - 1;\n\n if (stepOpt.selected) {\n selected = true;\n } else {\n stepOpt = that._selectablePreviousState(stepOpt, selected, idx);\n }\n\n step = that._createStep(stepOpt, idx, isLastStep);\n that._steps.push(step);\n\n if (step.getSelected()) {\n that.selectedStep = step;\n }\n }\n }\n },\n\n _indicatorAndLabel: function() {\n if (!this.options.indicator && !this.options.label) {\n this.options.indicator = true;\n this.options.label = true;\n }\n },\n\n _focusout: function(e) {\n var that = this;\n\n if (!that.wrapper.get(0).contains(e.relatedTarget)) {\n setTimeout(function() {\n that._leaveStepper();\n });\n }\n },\n\n _focusStep: function(newStep) {\n var focusedStep = this.wrapper.find(DOT + stepStyles.focusStep),\n allStepLinks = this.wrapper.find(DOT + stepStyles.stepLink);\n\n if (newStep.length > 0) {\n focusedStep.removeClass(stepStyles.focusStep);\n allStepLinks.attr(TABINDEX, \"-1\");\n newStep.find(DOT + stepStyles.stepLink).removeAttr(TABINDEX)[0].focus();\n }\n },\n\n _focusNextStep: function() {\n var focusedStep = $(document.activeElement).closest(DOT + stepStyles.step),\n nextStep = focusedStep.next();\n\n this._focusStep(nextStep);\n },\n\n _focusPreviousStep: function() {\n var focusedStep = $(document.activeElement).closest(DOT + stepStyles.step),\n previousStep = focusedStep.prev();\n\n this._focusStep(previousStep);\n },\n\n _focusFirstStep: function() {\n var wrapper = this.wrapper,\n firstStep = wrapper.find(DOT + stepStyles.firstStep);\n\n this._focusStep(firstStep);\n },\n\n _focusLastStep: function() {\n var wrapper = this.wrapper,\n lastStep = wrapper.find(DOT + stepStyles.lastStep);\n\n this._focusStep(lastStep);\n },\n\n _keydown: function(e) {\n var that = this,\n keyCode = e.keyCode,\n focusedStepElement = $(document.activeElement).closest(DOT + stepStyles.step),\n focusedStepIndex = focusedStepElement.index(),\n stepsCount = that.steps().length;\n\n if (keyCode === keys.TAB) {\n if (e.shiftKey && focusedStepIndex > 0) {\n e.preventDefault();\n that._tabKey(e, -1);\n } else if (!e.shiftKey && focusedStepIndex < stepsCount - 1) {\n e.preventDefault();\n that._tabKey(e, +1);\n }\n } else if (keyCode > 34 && keyCode < 41) {\n e.preventDefault();\n that._navKeys(e);\n } else if (keyCode === keys.ENTER || keyCode === keys.SPACEBAR) {\n e.preventDefault();\n that._selectHandler(e, $(document.activeElement).closest(DOT + stepStyles.step));\n } else {\n e.preventDefault();\n }\n },\n\n _leaveStepper: function() {\n var selectedStep = this.wrapper.find(DOT + stepStyles.currentStep),\n allStepLinks = this.wrapper.find(DOT + stepStyles.stepLink);\n\n allStepLinks.removeClass(stepStyles.focusStep).attr(TABINDEX, \"-1\");\n\n selectedStep.addClass(stepStyles.focusStep);\n selectedStep.find(DOT + stepStyles.stepLink).removeAttr(TABINDEX);\n },\n\n _navKeys: function(e) {\n var selectOnFocus = this.options.selectOnFocus;\n\n if (selectOnFocus) {\n this._navKeysSelect(e);\n } else {\n this._navKeysFocus(e);\n }\n },\n\n _navKeysFocus: function(e) {\n var keyCode = e.keyCode,\n rtl = kendo.support.isRtl(this.wrapper),\n orientation = this.options.orientation;\n\n switch (keyCode) {\n case keys.DOWN:\n if (rtl && orientation !== VERTICAL) {\n this._focusPreviousStep();\n } else {\n this._focusNextStep();\n }\n break;\n case keys.RIGHT:\n if (rtl) {\n this._focusPreviousStep();\n } else {\n this._focusNextStep();\n }\n break;\n case keys.UP:\n if (rtl && orientation !== VERTICAL) {\n this._focusNextStep();\n } else {\n this._focusPreviousStep();\n }\n break;\n case keys.LEFT:\n if (rtl) {\n this._focusNextStep();\n } else {\n this._focusPreviousStep();\n }\n break;\n case keys.HOME:\n this._focusFirstStep();\n break;\n case keys.END:\n this._focusLastStep();\n break;\n }\n },\n\n _navKeysSelect: function(e) {\n var keyCode = e.keyCode,\n focusedStepIndex = $(document.activeElement).closest(DOT + stepStyles.step).index(),\n rtl = kendo.support.isRtl(this.wrapper),\n steps = this.steps(),\n orientation = this.options.orientation,\n targetStep;\n\n switch (keyCode) {\n case keys.DOWN:\n if (rtl && orientation !== VERTICAL) {\n targetStep = steps[focusedStepIndex - 1];\n } else {\n targetStep = steps[focusedStepIndex + 1];\n }\n break;\n case keys.RIGHT:\n if (rtl) {\n targetStep = steps[focusedStepIndex - 1];\n } else {\n targetStep = steps[focusedStepIndex + 1];\n }\n break;\n case keys.UP:\n if (rtl && orientation !== VERTICAL) {\n targetStep = steps[focusedStepIndex + 1];\n } else {\n targetStep = steps[focusedStepIndex - 1];\n }\n break;\n case keys.LEFT:\n if (rtl) {\n targetStep = steps[focusedStepIndex + 1];\n } else {\n targetStep = steps[focusedStepIndex - 1];\n }\n break;\n case keys.HOME:\n targetStep = steps[0];\n break;\n case keys.END:\n targetStep = steps[steps.length - 1];\n break;\n }\n\n if (targetStep) {\n this._focusStep(targetStep.element);\n this._selectHandlerOnKey(e, targetStep.element);\n }\n },\n\n _progressBar: function() {\n var wrapper = this.wrapper,\n progressBarOptions = this._progressOptions();\n\n this.progressBar = $(\"
      \").kendoProgressBar(progressBarOptions).getKendoProgressBar();\n this.progressBar.element.addClass(\"k-pos-absolute k-overflow-hidden\");\n\n // TODO: for 2021 R2 the following line must be removed!\n this.progressBar.element.css(\"position\", \"absolute\");\n\n this._calculateDimensions();\n\n wrapper.append(this.progressBar.element);\n },\n\n _progressOptions: function() {\n var options = this.options,\n orientation = options.orientation,\n stepsOptions = options.steps,\n numberOfSteps, progressBarOptions;\n\n if (!stepsOptions || stepsOptions.length === 0) {\n return;\n } else {\n numberOfSteps = stepsOptions.length;\n }\n\n progressBarOptions = {\n max: numberOfSteps - 1,\n value: this.select().getIndex(),\n orientation: orientation,\n showStatus: false\n };\n\n if (orientation === VERTICAL) {\n progressBarOptions.reverse = true;\n }\n\n return progressBarOptions;\n },\n\n _resetProgressBar: function() {\n var progressBar = this.progressBar,\n newOptions;\n\n if (!progressBar) {\n return;\n }\n\n newOptions = this._progressOptions();\n progressBar.setOptions(newOptions);\n },\n\n _renderSteps: function() {\n var steps = this._steps,\n stepsList = this._stepList,\n step, idx;\n\n stepsList.empty();\n\n for (idx = 0; idx < steps.length; idx++) {\n step = steps[idx];\n stepsList.append(step.element);\n }\n },\n\n _resetStep: function(i, index, forward) {\n var step = this._steps[i];\n\n if (i === index) {\n step.options.previous = false;\n step.options.selected = true;\n } else if ((forward || i > index) && (!forward || i < index)) {\n step.options.selected = false;\n step.options.previous = forward;\n }\n\n if (this.options.linear && (i < index - 1 || i > index + 1)) {\n step.options.selectable = false;\n } else {\n step.options.selectable = true;\n }\n\n step._link();\n step._stepClasses();\n this.options.steps[i] = step.options;\n },\n\n _select: function(index) {\n var options = this.options,\n linear = options.linear,\n selectedStep = this.select(),\n selectedIndex = selectedStep.getIndex(),\n stepsOptions = options.steps,\n targetStep = this._steps[index],\n forward, i, min, max;\n\n if (!targetStep || !targetStep.getEnabled()) {\n return;\n }\n\n if (index > selectedIndex) {\n forward = true;\n\n if (linear) {\n min = Math.max(selectedIndex - 1, 0);\n max = Math.min(index + 1, stepsOptions.length - 1);\n } else {\n min = selectedIndex;\n max = index;\n }\n } else {\n forward = false;\n\n if (linear) {\n min = Math.max(index - 1, 0);\n max = Math.min(selectedIndex + 1, stepsOptions.length - 1);\n } else {\n min = index;\n max = selectedIndex;\n }\n }\n\n for (i = min; i <= max; i ++) {\n this._resetStep(i, index, forward);\n }\n\n this.selectedStep = targetStep;\n this.progressBar.value(index);\n },\n\n _selectablePreviousState: function(stepOpt, selected, idx) {\n var stepsOptions = this.options.steps,\n linear = this.options.linear;\n\n if (!selected) {\n stepOpt.previous = true;\n if (linear && !stepsOptions[idx + 1].selected) {\n stepOpt.selectable = false;\n } else {\n stepOpt.selectable = true;\n }\n } else if (linear && !stepsOptions[idx - 1].selected) {\n stepOpt.selectable = false;\n } else {\n stepOpt.selectable = true;\n }\n\n return stepOpt;\n },\n\n _selectClickHandler: function(e) {\n var stepElement = $(e.target).closest(DOT + stepStyles.step);\n\n e.preventDefault();\n this._preventWrapperClick = true;\n this._selectHandler(e, stepElement);\n },\n\n _selectHandler: function(e, stepElement) {\n var that = this,\n step = that._steps[stepElement.index()],\n currentStep = this.select();\n\n if (!step || step.getIndex() === currentStep.getIndex() || !step.getEnabled() || !step.getSelectable()) {\n that._focusStep(currentStep.element);\n\n return;\n }\n\n if (!that.trigger(SELECT, { sender: that, originalEvent: e, step: step })) {\n that._select(step.getIndex());\n stepElement.find(DOT + stepStyles.stepLink)[0].focus();\n that.trigger(ACTIVATE, { sender: that, originalEvent: e, step: step });\n }\n },\n\n _selectHandlerOnKey: function(e, stepElement) {\n var that = this,\n step = that._steps[stepElement.index()];\n\n if (!step.getEnabled() || !step.getSelectable()) {\n return;\n }\n\n if (!that.trigger(SELECT, { sender: that, originalEvent: e, step: step })) {\n that._select(step.getIndex());\n stepElement.find(DOT + stepStyles.stepLink)[0].focus();\n that.trigger(ACTIVATE, { sender: that, originalEvent: e, step: step });\n }\n },\n\n _tabKey: function(e, shift) {\n var selectOnFocus = this.options.selectOnFocus,\n focusedStepElement = $(document.activeElement).closest(DOT + stepStyles.step),\n focusedStepIndex = focusedStepElement.index(),\n targetStep = $(focusedStepElement.parent().find(DOT + stepStyles.step)[focusedStepIndex + shift]);\n\n this._focusStep(targetStep);\n\n if (selectOnFocus) {\n this._selectHandlerOnKey(e, targetStep);\n }\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element;\n\n that.wrapper = element;\n that.wrapper.addClass(stepperStyles.widget);\n\n if (that.options.linear) {\n that.wrapper.addClass(stepperStyles.stepperLinear);\n }\n\n this._addStepList();\n },\n\n _wrapperClickHandler: function(e) {\n var currentStep = this.select();\n\n if (!this._preventWrapperClick) {\n e.preventDefault();\n this._focusStep(currentStep.element);\n } else {\n this._preventWrapperClick = false;\n }\n }\n });\n\n kendo.stepper = {\n Step: Step\n };\n\n kendo.ui.plugin(Stepper);\n\n })(window.kendo.jQuery);\n\n}));\n"]}